ba-storybook: Skill for Claude Code

.claude/skills/character-ai-profile/SKILL.md

character-ai-profile is a skill for Claude Code from HePudding/ba-storybook. It costs 63 tokens per session (3,408 once invoked), scanned A, original, MIT.

A roleplay character profile made by analysing that character’s dialogue and surrounding material. It describes speech habits, relationships, and personality for use with an AI character.

In plain words
What is it for?
Building one character’s AI profile from source conversations, including optional original text, translations, and SillyTavern character-card output.
Why use it?
It turns a large collection of dialogue into a consistent reference without inventing lines or situations.

Skill for Claude Code

Written for Claude Code: installed under .claude/. Also seen: reads .claude/ paths; mentions subagents.

This is HePudding/ba-storybook's own configuration. It tells Claude Code how to work on ba-storybook itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything ba-storybook configures →

Reuse

Borrowing it

Nothing to install: this file belongs to HePudding/ba-storybook. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/HePudding/ba-storybook/main/.claude/skills/character-ai-profile/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/HePudding/ba-storybook

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for character-ai-profile

README.md
[![agentmods](https://agentmods.dev/badge/skills/hepudding/ba-storybook/character-ai-profile/github.svg)](https://agentmods.dev/skills/hepudding/ba-storybook/character-ai-profile)
Your own site
<a href="https://agentmods.dev/skills/hepudding/ba-storybook/character-ai-profile"><img src="https://agentmods.dev/badge/skills/hepudding/ba-storybook/character-ai-profile/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for character-ai-profile

Your own site · 80×15
<a href="https://agentmods.dev/skills/hepudding/ba-storybook/character-ai-profile"><img src="https://agentmods.dev/badge/skills/hepudding/ba-storybook/character-ai-profile.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 63 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,408 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00063 $0.03408
Opus 5 $0.00032 $0.01704
Sonnet 5 $0.00013 $0.00682
Haiku 4.5 $0.00006 $0.00341

Measured 11d ago against content hash 7806baa37d14, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

character-ai-profile scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.

The scan reads SKILL.md. This mod also ships 4 executable files (scripts/export_tavern_card.py, scripts/extract_lines.py, scripts/find_interactions.py, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/skills/character-ai-profile/SKILL.md · 335 lines

How it starts

The opening of the file, as written. The whole thing — 335 lines — stays where its author put it; the contents beside it link to each section on GitHub.

角色 AI 人设档案生成

核心约束

  • 一次只处理一个角色,所有 context 集中在这个角色上
  • 所有结论必须基于语料原文,不要编造台词或情景
  • 积极使用 subagent:语料阅读量巨大(主角级角色可达 1000+ 句,涉及上百个文件),必须把重读工作委派给 subagent,主线程只做综合和撰写
  • 辅助脚本帮你高效收集数据,最终档案由你判断和撰写

第零步:问用户几个问题

在做任何分析之前,先问用户以下问题(如果用户消息中已经回答了某个,就跳过):

  1. 角色卡使用什么语言与用户对话? — 中文、日文、英文等。决定档案语言和情景对话部分的语言
  2. 是否需要保留原文? — 例句同时显示原文和翻译,还是只要目标语言
  3. 是否需要导出为酒馆 AI (SillyTavern) 角色卡? — 如果需要:
    • 使用 V1 还是 V2 格式?(默认 V2,V1 兼容更多前端但字段更少)
    • 请提供角色头像图片(发送图片路径或截图)

等用户回答后再继续。

内部规则(不要问用户):

  • 不要在档案中包含 CV(声优)、设计师、插画师等 meta 信息,这些不属于角色本身
  • 不要在档案中包含武器名称/说明等游戏机制信息,除非该武器是角色性格的延伸

第一步:环境探测

自动推断以下参数(不需要问用户):

参数 推断方式
语料目录 搜索项目中的 ba-stories/corpus/stories/ 等目录
翻译表 搜索 translation_table.json
角色元数据 搜索角色 profile 文件(如 キャラクターデータ/ 下的文件)
世界观文档 搜索 world.mdworldview.mdlore.md

第二步:收集语料(用 subagent)

派遣 subagent 执行数据收集——这一步输出量很大,不要在主线程做。

Subagent prompt 模板:

你是角色语料收集 agent。任务:为角色「{角色名}」收集所有台词和相关数据。

1. 运行以下命令提取全部台词:
   python3 .claude/skills/character-ai-profile/scripts/extract_lines.py "{角色名}" "{语料目录}" > /tmp/profile_lines.jsonl

2. 运行 pattern 统计:
   python3 .claude/skills/character-ai-profile/scripts/find_patterns.py /tmp/profile_lines.jsonl > /tmp/profile_patterns.json

3. 运行互动提取:
   python3 .claude/skills/character-ai-profile/scripts/find_interactions.py "{角色名}" "{语料目录}" > /tmp/profile_interactions.json

4. 如果存在角色 profile 文件,读取并输出内容(去掉 CV、设计师、插画师等 meta 信息)

5. 汇报:台词总数、来源文件数、pattern 统计摘要(一人称 top3、句首 top5、句尾 top5、口头禅 top5)、互动 top10 角色名

不要分析或撰写,只收集数据和输出统计摘要。

第三步:世界观构建(用 subagent)

角色不是独立存在的,必须理解她/他所处的世界。

先检查项目中是否已有世界观文档(world.md 等)。如果有,读入即可。

如果没有,派遣 subagent 阅读主线剧情构建世界观摘要:

Subagent prompt 模板:

你是世界观分析 agent。任务:阅读剧情语料,提取作品的世界观设定。

语料目录:{语料目录}
目标角色:{角色名}(优先阅读与该角色相关的主线)

请阅读主线剧情(优先第一篇前几话,了解世界基本设定),然后提取:

1. **世界观总体**:故事发生在什么地方?是什么性质的世界?
2. **核心组织与阵营**:有哪些重要的学校/组织/势力?它们之间的关系
3. **主角身份**:玩家扮演什么角色?与该世界中的人物是什么关系?
4. **角色所属组织**:目标角色属于哪个组织?该组织在世界中的定位
5. **重要世界规则**:特殊规则(如光环、武器普及、特殊系统等)
6. **关键术语**:列出专有名词及简要解释
7. **核心事件**:与目标角色相关的重大剧情事件概要

输出简明世界观摘要(控制在 800 字以内),重点是 roleplay 时必须知道的背景。

Read the full file on GitHub · 335 lines

Files

What ships with it

5 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 11d ago First seen · 335 lines · 63 tokens per session scan A 7806baa37d14

Subscribe to this mod's changes

character-ai-profile is a skill published in the GitHub repository HePudding/ba-storybook (13 stars, last pushed 4mo ago), licensed MIT. It adds 63 tokens to every session and 3,408 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

webgl-holographic-foil

A self-contained WebGL2 hero: thin-film interference over a crushed-foil surface whose palette shifts with the viewing angle; move the cursor to tilt the film.

nexu-io/open-design · 41 tokens

general-video

Author or edit a custom HyperFrames composition when no specialized workflow fits, or when BRIEF.md sets flow: companion. Use for longer or multi-scene pieces, brand and sizzle reels, montages, static loops, static title cards, footage remixes, and freeform builds. Use motion-graphics instead for a short unnarrated…

heygen-com/hyperframes · 92 tokens

html-ppt-hermes-cyber-terminal

OpenDesign + BYOK: choosing and wiring your own model, hands-on — cost, quality, and the routing decision. Built as a decision-grade AI literacy deck for engineers, IT, applied-AI teams.

nexu-io/open-design · 53 tokens

html-ppt-taste-brutalist

16:9 HTML deck in tactical-telemetry / CRT-terminal taste. Deactivated-CRT charcoal slides, white-phosphor monospace, hazard-red accent, scanline overlay, ASCII syntax, density over decoration. Distilled from Leonxlnx/taste-skill brutalist-skill (Tactical Telemetry mode).

nexu-io/open-design · 78 tokens

chengfeng-check-updates

An environment manager for a video-editing system. It checks whether its skills and runtime—the software needed to run them—are installed and compatible.

Agentchengfeng/chengfeng-videocut-skills · 120 tokens

diagnostic-stem-delivery

Audio production with diagnostic analysis, timecode parsing from documents, and verified export workflow.

HKUDS/OpenSpace · 23 tokens