Token导航 LogoToken导航

Agent Skill · 研究检索

story-roleplay(故事角色扮演)

story-roleplay 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

story-roleplay 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为需要联网;许可证信息还不明确,第三方扫描已通过,按安装量在研究检索类的 73,675 个 Skill 里排第 46,747。

总安装 766周安装 31GitHub Stars 22,835下载 241核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:story-roleplay(故事角色扮演)
来源仓库:https://github.com/iofficeai/aionui
仓库路径:skills/story-roleplay
安装命令:
npx skills add https://github.com/iofficeai/aionui --skill story-roleplay
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/iofficeai/aionui --skill story-roleplay

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

story-roleplay 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。适用于故事创作、内容策划等需要从大量素材中提取关键信息的场景。

通过关键词匹配和来源仓库分析,帮助 Agent 快速找到相关的故事元素或情节线索。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。可结合来源仓库和原始 README 继续核验具体用法和实现细节。

来源仓库内路径:skills/story-roleplay

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/iofficeai/aionui --skill story-roleplay;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

story-roleplay 怎么安装?

在终端执行 npx skills add https://github.com/iofficeai/aionui --skill story-roleplay。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

story-roleplay 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

story-roleplay 需要什么权限?

权限级别是需要联网。该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

story-roleplay 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

story-roleplay 用的人多吗?

公开数据是累计安装 766 次,近一周安装 31 次,下载 241 次,GitHub 22,835 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

story-roleplay 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 第三方扫描已通过,常见的高风险行为没有命中。
  • 来源仓库有 22,835 星,维护活跃度相对可查。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
story-roleplay

故事角色扮演 · 本页

76622,835需要联网未明确通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Story Roleplay Skills

Parse and apply character cards and world info files for immersive story roleplay experiences. Fully compatible with SillyTavern formats.

⚠️ Core Constraints (Must Follow)

  1. 🚫 ABSOLUTELY FORBIDDEN: Guessing PNG/WebP image content, must use parser tool to extract data
  2. ✅ MUST EXECUTE: Prioritize copying preset tool (skills/story-roleplay/scripts/), create only if not found
  3. ⚠️ LAST RESORT: When creating scripts, use complete code at end of file, version must be 1.0.0 (do not use ^)

Common: Parser Tool Usage Workflow

Quick Path (Try First)

Step 1: Copy Preset Tool

Try in the following order until successful:

  • Method 1 (Highest Priority): Relative path (if workspace is under project root): cp skills/story-roleplay/scripts/parse-character-card.js. && cp skills/story-roleplay/scripts/package.json.
  • Method 2: Search upward for project root (up to 5 levels): for dir in...../..../../..../../../..../../../../..; do if [-f "$dir/skills/story-roleplay/scripts/parse-character-card.js"]; then cp "$dir/skills/story-roleplay/scripts/parse-character-card.js". cp "$dir/skills/story-roleplay/scripts/package.json". break fi done
  • Method 3: Global search (exclude temp directories): SCRIPT_PATH=$(find ~ -name "parse-character-card.js" -path "*/skills/story-roleplay/scripts/*"! -path "*/temp*"! -path "*/*-temp*"! -path "*/.webpack/*" 2>/dev/null | head -1) if [-n "$SCRIPT_PATH"]; then SCRIPT_DIR=$(dirname "$SCRIPT_PATH") cp "$SCRIPT_DIR/parse-character-card.js". cp "$SCRIPT_DIR/package.json". fi
  • Verify: Confirm files copied ls parse-character-card.js package.json

- If files don't exist, continue to next method or use fallback option

Step 2: Install Dependencies

npm install
  • Wait for completion, check if node_modules was created
  • If fails: Check network/permission/Node.js environment

Step 3: Execute Parser

# Character card
node parse-character-card.js <image-path> <output-json-path>

# World info
node parse-character-card.js <image-path> <output-json-path> --world-info

Important:

  • ✅ Must provide output path as second argument
  • ❌ Do not use stdout redirection (>)
  • Use quotes if filename contains Chinese characters or spaces

Examples:

node parse-character-card.js character.png character.json
node parse-character-card.js "薇娜丽丝.png" character.json
node parse-character-card.js world-info.png world-info.json --world-info

Step 4: Verify Results

  • Check output: Should see "Successfully extracted data to: "
  • Verify JSON file exists and format is correct
  • If fails:

- Check error message (script will output specific error) - Common errors: - "PNG metadata does not contain any text chunks" → Image may not be a valid SillyTavern character card - "Required dependencies not found" → Need to run npm install first - "Image file not found" → Check if image path is correct - ABSOLUTELY CANNOT guess or fabricate information, must report error clearly

Fallback Option (Last Resort)

If all above methods fail (possibly due to system permission issues), creating script files is allowed:

  1. Create package.json (see "Fallback Code" section at end of file)
  2. Create parse-character-card.js (see "Fallback Code" section at end of file)

Prerequisite: Must have tried all finding methods and all failed.


Character Card Parser

Triggers: character card, 角色卡, load character, 加载角色, parse character, 解析角色卡

Description: Parse character card files in multiple formats, including PNG, WebP image formats and JSON file format.

Supported Formats

1. PNG Image Format (SillyTavern Standard)
  • Data location: In PNG tEXt chunks
  • Keywords: chara (v2) or ccv3 (v3)
  • Encoding: Base64-encoded JSON string

Processing: Use common parser tool workflow (see above), use character card command format when executing.

2. WebP Image Format (SillyTavern Compatible)
  • Data location: In WebP EXIF/XMP metadata or text chunks
  • Keywords: chara (v2) or ccv3 (v3)

Processing:

  • Recommended: Convert WebP to PNG first, then use PNG parser tool
  • Or try using PNG parser tool (if WebP contains similar metadata structure)
  • If conversion or parsing not possible, prompt user to provide JSON format or re-export from SillyTavern
3. JSON File Format

Standard Format (Tavern Card V2/V3):

  • Includes: name, description, personality, scenario, first_mes, system_prompt
  • Optional: character_book (character knowledge base)
  • Supports simplified format (direct fields, no nested structure)

Processing: Read and parse directly (simplest, preferred)

Parsing Steps

Important: PNG/WebP images must use parser tool, guessing content is forbidden

  1. Detect file format:

- JSON files: Read and parse directly (simplest, preferred) - PNG/WebP files: Use common parser tool workflow (see above)

  1. Extract character information:

- name: Character name - description: Character description - personality: Personality traits - scenario: Scenario setting - first_mes: First message (used as opening) - system_prompt: System prompt (character behavior rules) - character_book: Character knowledge base (similar to world info)

  1. Apply character information:

- Use character's system_prompt as behavior rules - Use first_mes as conversation opening - Apply character_book entries to conversation

  1. Save as JSON format (after parsing images):

- After successfully parsing PNG/WebP images, automatically convert to JSON format - Save as character.json in workspace - Preserve all original data from image

Best Practices

  • Prefer JSON format (easiest to parse, no additional tools needed)
  • PNG format: Must use parser tool, guessing content is forbidden
  • WebP format: Convert to PNG then use parser tool, or use JSON format
  • Error handling: When parsing fails, must provide clear error message, absolutely cannot guess or fabricate character information
  • Always save parsed images as JSON format for easier viewing and editing

World Info Parser

Triggers: world info, 世界信息, world tree, 世界树, load world info, 加载世界信息

Description: Parse and apply world info files, implementing keyword trigger mechanism. Supports JSON files and PNG/WebP image formats (with embedded world info data).

Supported Formats

1. JSON File Format
{
  "name": "World Name",
  "entries": [
    {
      "keys": ["keyword1", "keyword2"],
      "content": "Content to inject when triggered",
      "priority": 100,
      "enabled": true
    }
  ]
}
2. PNG Image Format (SillyTavern Compatible)
  • Data location: In PNG tEXt chunks
  • Keyword: naidata (SillyTavern standard)
  • Encoding: Base64-encoded JSON string

Processing: Use common parser tool workflow (see above), use --world-info flag when executing.

3. WebP Image Format (SillyTavern Compatible)

Processing:

  • Recommended: Convert WebP to PNG first, then use PNG parser
  • If conversion fails, suggest user use JSON format or re-export from SillyTavern

Field Descriptions

  • keys: Keyword array, triggers when these words appear in conversation
  • content: Content to inject when triggered
  • priority: Priority (higher number = higher priority)
  • enabled: Whether enabled (true/false)

Trigger Mechanism

  1. Keyword detection: Monitor conversation content, detect if it contains world info keywords
  2. Content injection: When keywords appear, integrate corresponding content into response, sorted by priority
  3. Natural integration: Do not insert world info content awkwardly, naturally integrate into conversation and narrative

Parsing Steps

  1. Detect file format:

- JSON files: Read and parse directly (simplest, preferred) - PNG/WebP files: Use common parser tool workflow (see above), use --world-info flag

  1. Extract world info:

- Read output JSON file - Parse JSON, extract entries array - Verify JSON structure is correct (must contain entries field)

  1. Save as JSON format (after parsing images):

- After successfully parsing PNG/WebP images, automatically convert to JSON format - Save as world-info.json in workspace

Best Practices

  • Prefer JSON format (easiest to parse, no additional tools needed)
  • PNG format: Use same parser tool as character cards (with --world-info flag)
  • WebP format: Recommend converting to PNG or using JSON format
  • Keywords should be specific and meaningful, avoid overly broad keywords
  • Always save parsed images as JSON format for easier viewing and editing

Character Book Handler

Triggers: character book, 角色知识库, character entry, 角色条目

Description: Handle character_book (character knowledge base) in character cards, similar to world info but bound to specific character.

Character Book Format

character_book field in character card:

  • name: Character knowledge base name
  • entries: Entry array, each entry contains keys, content, priority, enabled

Processing

  1. When loading character card: Extract character_book field, parse entries array, apply together with character information
  2. During conversation: Detect keywords in character_book, inject relevant content when keywords appear
  3. Priority: character_book entries usually have higher priority than world info

Best Practices

  • character_book is for character-specific knowledge
  • World info is for general world settings
  • Both can be used together, but pay attention to priority

File Detection and Loading Workflow

Automatic Detection

  1. Scan workspace:

- Find character card files: character.png, character.webp, character.json, *.character.json - Find world info files: world-info.png, world-info.webp, world-info.json, world.json

  1. Format recognition and parsing:

- JSON files: Read directly - PNG/WebP images: Use common parser tool workflow (see above)

  1. Apply parsed results:

- Apply parsed results to conversation context - After successfully parsing images, automatically save as JSON format

Character Card and World Info Creation

When no files exist (Important: Must actively guide user):

  1. Active guidance process:

- Step 1: Ask about story type and background setting - Step 2: Ask about character details (type, personality, background, speaking style) - Step 3: Ask about world setting (rules, locations, special settings, etc.)

  1. Confirm information: Summarize user-provided information, wait for user confirmation before creating files
  2. Create files:

- After confirmation, create character.json with all character information - If world-building elements mentioned, create world-info.json with relevant entries

Creation format:

  • Character card: Use Tavern Card V2/V3 standard format, include all essential fields
  • World info: Create entries for key concepts, locations, rules, use meaningful keywords

Manual Loading

Users can manually load via:

  • "Load character card: character.png"
  • "Read world info: world-info.json"
  • "Use this character: [upload file]"

Compatibility

This skill is fully compatible with SillyTavern formats:

  • ✅ PNG image format (embedded JSON, SillyTavern standard) - for character cards and world info
  • ✅ WebP image format (embedded JSON, SillyTavern compatible) - for character cards and world info
  • ✅ JSON file format (Tavern Card V2/V3) - for character cards and world info
  • ✅ World info format (PNG/WebP images use keyword naidata)
  • ✅ Character Book (character knowledge base)

Fallback Code (For Last Resort Use)

Important: The following code should only be used when all path finding methods have failed. Prioritize using copy methods.

package.json

{
  "name": "story-roleplay-parser",
  "version": "1.0.0",
  "description": "Parser tools for character cards and world info",
  "main": "parse-character-card.js",
  "scripts": {
    "parse": "node parse-character-card.js"
  },
  "dependencies": {
    "png-chunks-extract": "1.0.0",
    "png-chunk-text": "1.0.0"
  }
}

parse-character-card.js

Complete code reference: skills/story-roleplay/scripts/parse-character-card.js

Key features:

  • Extract character card data from PNG images (keywords: chara or ccv3)
  • Extract world info data from PNG images (keyword: naidata)
  • Support Base64 decoding and JSON validation
  • Complete error handling and user-friendly error messages

If file is not accessible, can create based on following logic:

  • Use png-chunks-extract to extract PNG chunks
  • Use png-chunk-text to decode tEXt chunks
  • Find keywords (chara/ccv3 for character cards, naidata for world info)
  • Base64 decode and validate JSON format

平台分布

Codex

34.9%
按下载量换算84

Claude

30.59%
按下载量换算74

Cursor

18.68%
按下载量换算45

Gemini CLI

8.22%
按下载量换算20

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills