Tooluck logoTooluck
SKILL.md

novel-characters

Agent skill frometernityspring/shuohao-skills

从小说或短故事里拆出角色表、人物画像、形象提示词、音色提示词, 其中形象提示词含一张角色设定图的完整版面指令(左半身像 + 右全身三视图 + 细节条), 产出 JSON + Markdown + 可交互的 report.html。 报告语言可指定(--lang),默认中文,任意语言都支持;零依赖、零 API key、不出图。 Use when asked to 拆小说角色、分析人物、生成角色卡、character sheets from a novel。

How to install novel-characters

install novel-characters
# install the shuohao-skills pack with the skills CLI
npx skills add eternityspring/shuohao-skills

# or add only this skill to Claude Code: copy the folder

skills/novel-characters/

# into

~/.claude/skills/novel-characters/ (all projects)

.claude/skills/novel-characters/ (one project)

skills/novel-characters/SKILL.md

Apache-2.0Full file
1## novel-characters
2
3输入一篇小说/短故事,输出每个角色的:人物画像、形象提示词、音色提示词、角色设定图的版面指令。
4
5**本 skill 不出图,只产提示词。**出图是下游的事——它要选模型、选画风、选画幅,那三件事在这里一个都答不了。
6
7`{baseDir}` = 本文件所在目录。脚本 `{baseDir}/scripts/novel-characters.mjs`,零依赖,`node` 直接跑。
8
9**运行环境**:Claude Code 和 codex 都能跑,没有差别——这条管线全是 node 脚本加模型读写,不碰任何本机可执行文件。
10
11---
12
13### Step 0 — 确定报告语言
14
15用户可以指定语言,比如「用英文」「--lang en」「日本語で」。**没说就是中文(`zh`)。**
16
17这个 `lang` 会一路传下去:第二趟生成角色卡时决定人类可读字段用什么语言,`validate` 和 `render` 也都要带上。
18
19**界面文案分两种情况:**
20
21- `zh` / `en` / `ja` —— 内置,不用管
22- **其他任何语言** —— 你要现场翻一份。跑
23
24 ```bash
25 node {baseDir}/scripts/novel-characters.mjs ui-template <lang>
26 ```
27
28 它打印一份英文骨架,把每个值翻译成目标语言,整块放进 `cast.json` 顶层的 `ui` 字段。渲染时会合并进内置表。
29
30 **不给 `ui` 的话 `validate` 会直接报错**——否则报告会是「角色内容是法语、界面标签是英文」的半吊子状态。
31
32支持的语言不受内置表限制,法语韩语西班牙语都能出完整报告。
33
34### Step 1 — 定位输入
35
36用户给文件路径就直接用。直接粘正文的,**先落到一个临时 .txt**——后面校验「引文是否逐字」要拿原文比对,没有原文文件这步就没法做。
37
38确定输出目录:用户指定就用;没指定就用原书同级目录。
39
40**有 `outline.json`(novel-outline 的产出)就一起要过来,走 seed**——大纲是角色设定的上游,它的 `characters` 块已经定死了角色清单:
41
42```bash
43node {baseDir}/scripts/novel-characters.mjs seed <outline.json> > <workdir>/seed.json
44```
45
46搬过来的是大纲已经拍板的事实,留空的是这一层才该做的设计:
47
48| outline 的字段 | seed 之后 |
49| --- | --- |
50| `id` | 原样保留成角色码——下游 script / storyboard 用它引用角色 |
51| `name` | 角色表就照这份,**不再自己判断谁该进** |
52| `tier` | 映射成 `importance`:`lead` → `protagonist`、`support` → `supporting`、`functional` → `minor` |
53| `arc` | 直接落进 `persona.arc` |
54| `role` / `from` | 进 `seedNote`——定位(女主 / 反派)与「由原著的谁合并而来」,扫原文时知道该收哪几条线的戏 |
55…

Excerpt shown under the repository's Apache-2.0 license.

More skills in shuohao-skills

Keep exploring

Similar skill repositories

Newsletter

Join the Community

Subscribe to our newsletter for the latest news and updates