水仙的短剧skill-characters

SKILL内容创作
内容创作 未标注权限 许可证不明确
安装这个技能

从小说或短故事里拆出角色表、人物画像、形象提示词、音色提示词, 并给每个角色出角色设定图(左半身像 + 右全身三视图 + 细节条),产出 JSON + Markdown + 可交互的 report.html。 报告语言可指定(--lang),默认中文,任意语言都支持; 出图风格可指定(--style),默认半写实,也可以出吉卜力动画风。 零依赖、零 API key,用当前会话额度;出图走 codex 内置 $imagegen(可选)。 Use when asked to 拆小说角色、分析人物、生成角色卡、character sheets from a novel。

一句话选型结论

按资料字段整理

水仙的短剧skill-characters是内容创作类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类内容创作 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_72b1c381/skill-characters
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

内容创作
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_72b1c381仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791732666
正文体量9.7 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
写文章与脚本

按主题产出初稿与分镜脚本。

改稿与润色

把草稿改顺、统一语气。

多平台文案改写

同一内容按平台改成长短不同的版本。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在内容创作场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
水仙的短剧skill-characters当前 未标注权限 未标注 未标注 未标注 有
AI 视频生成 调用外部服务 GitHub 仓库 431.3 万 Codex、Claude、Cursor 有
视频帧 联网访问 ClawHub 市场 262.1 万 OpenClaw 有
Markdown 转换器 写入文件 ClawHub 市场 135.3 万 OpenClaw 有
哔哩哔哩全合一 接触敏感数据 ClawHub 市场 64.1 万 OpenClaw 有
Remotion video toolkit 命令行 浏览器控制 ClawHub 市场 63.9 万 OpenClaw 有

SKILL.md 全文

9.7 KB
模型实际读到的说明书原文,来自技能仓库

novel-characters

输入一篇小说/短故事,输出每个角色的:人物画像、形象提示词、音色提示词、角色设定图。

{baseDir} = 本文件所在目录。脚本 {baseDir}/scripts/novel-characters.mjs,零依赖,node 直接跑。

运行环境:Claude Code 和 codex 都能跑。差别只在第 8 步出图——见 references/sheet.md。


Step 0 — 确定报告语言

用户可以指定语言,比如「用英文」「--lang en」「日本語で」。没说就是中文(zh)。

这个 lang 会一路传下去:第二趟生成角色卡时决定人类可读字段用什么语言,validate 和 render 也都要带上。

界面文案分两种情况:

  • zh / en / ja —— 内置,不用管
  • 其他任何语言 —— 你要现场翻一份。跑

bash node {baseDir}/scripts/novel-characters.mjs ui-template <lang>

它打印一份英文骨架,把每个值翻译成目标语言,整块放进 cast.json 顶层的 ui 字段。渲染时会合并进内置表。

不给 ui 的话 validate 会直接报错——否则报告会是「角色内容是法语、界面标签是英文」的半吊子状态。

支持的语言不受内置表限制,法语韩语西班牙语都能出完整报告。

Step 0.5 — 确定画风

用户可以指定出图风格:默认 realistic(半写实厚涂),想要动画质感就用 ghibli(吉卜力式手绘赛璐璐)。

node {baseDir}/scripts/novel-characters.mjs styles   # 打印预设的完整内容

读 {baseDir}/references/style-presets.md。换风格是整套换——每个预设自带 render / surface / lighting / negative / tags 五块,整块取用,不要混搭。

最容易搞反的是反向提示词:realistic 绝不能禁 photorealistic,ghibli 必须禁。validate 会拦这个。

版面规则(16:9 三区、比例、细节让位)不随风格变,变的只有渲染质感。

Step 1 — 定位输入

用户给文件路径就直接用。直接粘正文的,先落到一个临时 .txt——后面校验「引文是否逐字」要拿原文比对,没有原文文件这步就没法做。

确定输出目录:用户指定就用;没指定就用原书同级目录。

Step 2 — 分块

node {baseDir}/scripts/novel-characters.mjs chunk <book.txt> <workdir>

打印 {"chunks": N, ...}。

  • N == 1:跳过 Step 3,直接在当前会话读原文做第一趟,结果自己写成 <workdir>/roster-00.json
  • N > 1:进 Step 3
  • truncated: true:明确告诉用户尾部没扫到,别闷着

Step 3 — 第一趟扫描(仅 N > 1)

当前环境支持子代理就并发(Claude Code 的 Task、codex 的 subagent):每块一个子代理,所有调用放在同一条消息里才是真并发。不支持就一块一块串行读,结果一样,只是慢。

每个子代理的任务:
1. 读 {baseDir}/references/roster-pass.md,照它执行
2. 读 <workdir>/chunk-NN.txt
3. 把 roster JSON 写到 <workdir>/roster-NN.json
4. 只回一句「done NN,抽到 X 个角色」

Step 4 — 归并

node {baseDir}/scripts/novel-characters.mjs merge <workdir>

按名字+别名收敛(陆行远/陆/姑娘 会收敛成一个人),notes 累加、quotes 去重,按出现块数降序——出现的块越多戏份越重。

Step 5 — 选角

取前 N 位。默认 30,用户说了就听用户的。剩下的角色在最后汇报里提一句「还识别出 X 位没做画像」。

Step 6 — 第二趟出卡

每个角色一份,同样能并发就并发。

每份任务拿到:
- {baseDir}/references/profile-pass.md 和 {baseDir}/references/schema.md(读它们,照着做)
- 报告语言 lang(Step 0 定的)
- 该角色归并后的 name / aliases / notes / quotes
- 同批其他角色的名字(避免长相声线撞车)

角色卡 JSON 写到 <workdir>/card-<slug>.json。

同时写一段故事摘要:用 lang 指定的语言,3–5 句,交代时空背景、核心情境、这几个人聚在一起的由头。短篇直接从原文写;长篇从各块的 roster note 归纳。不剧透结局,不写成推荐语。

合成 <输出目录>/<书名>-cast.json:

{ "source": "书名", "lang": "zh", "style": "realistic", "summary": "……", "characters": [ ... ] }

Step 7 — 校验 ⛔ 不能跳

node {baseDir}/scripts/novel-characters.mjs validate <cast.json> <book.txt>

记得带上 --lang(Step 0 定的)。检查:结构、importance 枚举、引文逐字、出图提示词不含人名、语言分工(人类字段跟随 lang、出图/TTS 提示词永远英文)、以及非内置语言必须带 ui。

有违规就按报错逐条修,改完重跑,直到通过。 这四类错模型真的会犯——这套检查就是被真实输出打出来的。

Step 8 — 出图(可选,每个角色都出)

每个角色一张,用 image.sheet,落到 ./images/<slug>-sheet.png。一张横构图内部左右分栏:

┌──────────┬────────────────────────────┐
│  半身像   │   正视    侧视    背视       │
│ (证件照) ├────────────────────────────┤
│  面部基准  │  细节 · 细节 · 细节 · 细节   │
│   ~34%   │            16:9            │
└──────────┴────────────────────────────┘

左栏半身像是面部设计基准,右上三视图的脸照它画,右下是关键细节的小特写。两条硬要求:三视图的脸必须与半身像一致(否则一张图两个长相);三个全身像的比例必须协调(模型会为了塞下细节把人压扁)。

读 {baseDir}/references/sheet.md,照它的调用契约做。要点:

  • 没有 codex 就整步跳过,只交提示词,后面照常走
  • 跑在 codex 里就直接用 $imagegen;跑在别处就 shell 调 codex,先按那里的脚本探测版本最高的 binary(旧版会直接报错)
  • 一个角色一次调用,绝不批量
  • 单个失败就跳过,不阻断;最后汇总说明

不按 importance 筛,选中的角色全都出。 一个角色一次调用,30 个就是 30 次——这是整条管线里最慢的一步,开始前跟用户说一声要出多少张。用户想省就让他给个数,或者明说只要 protagonist / major。

Step 9 — 输出

cd <输出目录>
node {baseDir}/scripts/novel-characters.mjs render <cast.json> --md   > <书名>-cast.md
node {baseDir}/scripts/novel-characters.mjs render <cast.json> --html > report.html

语言取 cast.json 里的 lang,要临时覆盖就加 --lang <code>。

render 会自动去 images/<slug>-sheet.png 找图。所以先出图再 render。

report.html 的样式约定见 {baseDir}/references/report-style.md——要改样式先读它,别把它改回通用卡片墙。

最终落地:

<输出目录>/
├── <书名>-cast.json
├── <书名>-cast.md
├── report.html                    ← 双击就能开
└── images/
    └── <slug>-sheet.png           ← 有 codex 才有

Step 10 — 汇报

一句话说清:角色数、出图数、报告路径。校验一次没过的话,说明修了什么。有角色出图失败、被截断、或因为没有 codex 而没出图,明确说清楚。


边界

  • 单次上限 24 块(约 33 万字符),超了会明确报 truncated,不静默截断
  • 人类可读字段跟随 --lang(默认中文);出图和 TTS 提示词永远英文,那些引擎吃英文最稳
  • 设定图最容易出的两个问题:一张图里两个长相、为了塞细节把人物压扁。拿到图先扫一眼,见 references/sheet.md
  • 出图只走 codex built-in $imagegen。不用它的 CLI fallback(要 OPENAI_API_KEY)
  • 想要能实时编辑、边跑边看的交互界面,那是另一个东西,不在这个 skill 里

自测

node {baseDir}/scripts/selftest.mjs

274 项断言,不调模型、不花额度,覆盖分块 / 归并 / 多语言 / 校验 / 渲染的全部确定性逻辑。改完脚本先跑这个。

自带样例

{baseDir}/examples/渡口.txt 是一篇短故事,4 个角色,其中货郎全程只有绰号、船夫只被叫过「老伯」——专门用来验别名归并。对应产出 渡口-cast.json / 渡口-cast.md 可以当质量基准,也是校验的自检夹具。

常见问题

5 问
答案由本站依据条目字段整理
水仙的短剧skill-characters怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_72b1c381/skill-characters。安装方式为未标注。装完刷新技能列表或重开客户端。

水仙的短剧skill-characters支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

水仙的短剧skill-characters权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

水仙的短剧skill-characters收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

水仙的短剧skill-characters用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。