Chinese Novel Writing System
leenbj/novel-creator-skill
Guides long-form Chinese novel writing from a rough idea through outlines, chapter drafts and quality gates, with file-based memory for a story meant to reach 300万字.
Walks an agent through writing a complete short web novel in Chinese, starting from the emotion the reader should feel and building around one twist.
SKILL.md written in Chinese; this summary is our English description.
$ npx skills add uu201/character-arc --skill story-short-write -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install uu201/character-arc story-short-write --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/uu201/character-arc.git skills-src && mkdir -p .claude/skills && cp -r skills-src/resources/skills/oh-story-claudecode/story-short-write .claude/skills/story-short-write && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "story-short-write" agent skill from https://github.com/uu201/character-arc/tree/main/resources/skills/oh-story-claudecode/story-short-write into .claude/skills/story-short-write/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "story-short-write", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/uu201/character-arc/tree/main/resources/skills/oh-story-claudecode/story-short-writeType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add uu201/character-arc --skill story-short-write -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install uu201/character-arc story-short-write --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/uu201/character-arc.git skills-src && mkdir -p .agents/skills && cp -r skills-src/resources/skills/oh-story-claudecode/story-short-write .agents/skills/story-short-write && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "story-short-write" agent skill from https://github.com/uu201/character-arc/tree/main/resources/skills/oh-story-claudecode/story-short-write into .agents/skills/story-short-write/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "story-short-write", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add uu201/character-arc --skill story-short-write -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install uu201/character-arc story-short-write --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/uu201/character-arc.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/resources/skills/oh-story-claudecode/story-short-write .cursor/skills/story-short-write && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "story-short-write" agent skill from https://github.com/uu201/character-arc/tree/main/resources/skills/oh-story-claudecode/story-short-write into .cursor/skills/story-short-write/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "story-short-write", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/uu201/character-arc.git --path resources/skills/oh-story-claudecode/story-short-write--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add uu201/character-arc --skill story-short-write -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install uu201/character-arc story-short-write --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/uu201/character-arc.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/resources/skills/oh-story-claudecode/story-short-write .gemini/skills/story-short-write && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "story-short-write" agent skill from https://github.com/uu201/character-arc/tree/main/resources/skills/oh-story-claudecode/story-short-write into .gemini/skills/story-short-write/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "story-short-write", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install uu201/character-arc story-short-writeInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add uu201/character-arc --skill story-short-write -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/uu201/character-arc.git skills-src && mkdir -p .github/skills && cp -r skills-src/resources/skills/oh-story-claudecode/story-short-write .github/skills/story-short-write && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "story-short-write" agent skill from https://github.com/uu201/character-arc/tree/main/resources/skills/oh-story-claudecode/story-short-write into .github/skills/story-short-write/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "story-short-write", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add uu201/character-arc --skill story-short-write -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install uu201/character-arc story-short-write --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/uu201/character-arc.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/resources/skills/oh-story-claudecode/story-short-write .opencode/skills/story-short-write && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "story-short-write" agent skill from https://github.com/uu201/character-arc/tree/main/resources/skills/oh-story-claudecode/story-short-write into .opencode/skills/story-short-write/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "story-short-write", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
story-short-writeWalks an agent through writing a complete short web novel in Chinese, starting from the emotion the reader should feel and building around one twist.
The skill treats the target emotion as the objective of the whole piece. Before drafting, the agent asks you what feeling the reader should be left with and offers a table of options: lingering regret, a shocking reversal, a cathartic payoff, warmth, creeping dread or moving resonance. One twist carries the story, every sentence has to push the plot or the emotion or be cut, the first three sentences carry the hook, and the narration defaults to first person.
Formatting rules live in `references/format-and-structure.md` and are loaded before any writing. Body text is saved only in a file called 正文.md, with no blank lines between paragraphs. The skill ships 30 files, mostly reference notes on genres, hooks, dialogue, character design and emotional arcs, which the agent reads as needed. If you have a benchmark novel, notes from a companion `/story-short-analyze` run can be reused, and a story-architect agent is called for the outline when the project has one. The skill text is in Chinese.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 292f947. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/, which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Short Web Fiction Writer loads about 3.7k tokens when it runs, and up to ~88k if it reads all its reference files. Until then it costs about 25 tokens; SKILL.md has 775 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from uu201/character-arc at commit 292f947, republished under its MIT licence (© uu201). 775 words, ~3,743 tokens.
.claude/skills/story-short-write/SKILL.md (or your agent's skills folder). This skill also uses 29 other files; get the full folder from GitHub.你是短篇网文写作执行器。从构思到成稿,完成一篇完整的短篇小说。
执行规则:短篇以情绪为目标函数,所有内容为情绪服务。
详细规则见 references/format-and-structure.md,写作前必须加载。主会话与 narrative-writer 子代理使用同一套正文格式:正文只允许保存在 正文.md,正文段落之间不加空行,对话引号风格按项目/平台约定统一(默认半角双引号,盐言可用「」),短篇小节标记全文统一(默认 ###1./###2.)。如果子代理输出与主会话格式不一致,按本格式规范重排后再写入文件。
除了上面的执行规则,构思和写作时遵循:
问用户:「你想让读者读完什么感觉?有没有想写的题材方向或灵感?」
如果用户有明确想法 → 直接进入 Phase 2。
如果用户只有模糊想法 → 帮用户做情绪选择:
| 情绪类型 | 适合场景 | 难度 | 市场热度 |
|---|---|---|---|
| 意难平 | 虐恋、遗憾、错过 | 中 | 🔥🔥🔥 |
| 反转震撼 | 悬疑、身份错位 | 高 | 🔥🔥🔥 |
| 爽感释放 | 打脸、逆袭 | 低 | 🔥🔥 |
| 治愈温暖 | 成长、亲情、友情 | 中 | 🔥🔥 |
| 细思极恐 | 悬疑、心理 | 高 | 🔥 |
| 共鸣感动 | 现实、职场、婚姻 | 中 | 🔥🔥🔥 |
如果用户有参考小说,先用
/story-short-analyze拆解。默认输出存入项目根目录拆文库/{书名}/;如用户指定当前短篇引用目录,则可输出/同步到{短篇标题}/对标/{书名}/。写作时会自动查找并读取这些拆文结果,不需要用户手动复制到 prompt。
拆文库/对标关系:
拆文库/= analyze skill 的原始产出(数据源),位于项目根目录。对标/= 当前短篇的引用视图,位于{短篇标题}/对标/。短篇写作优先读取{短篇标题}/对标/{书名}/,不存在则回退项目根拆文库/{书名}/,再回退{短篇标题}/拆文库/{书名}/(兼容旧结构)。
推荐目录结构:
项目根/
├── 拆文库/
│ └── {书名}/
│ ├── 拆文报告.md
│ ├── 情节节点.md
│ └── 写作手法.md
└── {短篇标题}/
├── 设定.md
├── 小节大纲.md
├── 正文.md
└── 对标/
└── {书名}/
├── 拆文报告.md
├── 情节节点.md
└── 写作手法.md如果工作目录下存在 对标/ 或项目根存在 拆文库/,或用户提到参考小说:
拆文报告.md、情节节点.md、写作手法.md设定.md 的“对标摘要”区,写作时每个场景从中召回 1-2 个相关技法/story-short-analyze;如用户要求继续,也可只按原文做弱参考拆文产出格式:analyze 落盘的完整文件树、
_meta.jsonschema、Stage→文件映射,以及「story-short-write 怎么读这些产出」的下游消费规范,见 references/output-contract.md。
<!-- cross-book-recall:trigger:structure-positioning -->
多对标书时:参
references/cross-book-recall.md,副对标 anchor 入「对标摘要」区
构思阶段,如果项目已部署 story-architect agent(检查 .claude/agents/story-architect.md 是否存在),可 spawn Agent(subagent_type: "story-architect", prompt: "项目目录:{dir}\n任务类型:短篇构思\n查询参数:{情绪目标+题材方向}") 辅助框架设计。如 agent 不可用,由主线程直接执行。
帮用户确定短篇的核心框架:
## 短篇核心框架
### 基本信息
- 标题(暂定):{}
- 目标字数:{} 字(短篇通常 8000-20000 字)
- 目标平台:{}
- 情绪目标:{读者读完的感受}
### 一句话梗概
{主角 + 困境 + 反转 + 情绪落点}
### 核心反转
- 反转类型:{身份反转/视角反转/动机反转/时间线反转}
- 反转内容:{一句话描述}
- 铺垫线索:{至少 3 个铺垫点}
### 情绪设计
- 开头情绪:{}(强度 {1-10})
- 中段情绪:{}(强度 {1-10})
- 反转情绪:{}(强度 {1-10},峰值维持 ≥2 节)
- 结尾情绪:{}(强度 {1-10})
- 反转高潮不要骤降:反转前 1 节开始升温,反转节达到峰值,反转后 1 节维持峰值不骤降
### 人设速写
- 主角:{一句话人设}
- 关键角色:{一句话人设}
- 关系:{他们之间的关系}框架确定后,完成设计任务,然后在工作目录下创建文件。
详细步骤和模板见 references/writing-workflow.md。构思时从目标情绪反推剧情,不是从灵感正向构建。按顺序完成:
writing-craft.mdvillain-and-reveal.md设计任务完成后,如果项目已部署 character-designer agent(检查 .claude/agents/character-designer.md 是否存在),可 spawn Agent(subagent_type: "character-designer", prompt: "项目目录:{dir}\n任务类型:角色设定\n查询参数:{人设速写+关系}") 辅助角色设定和语言风格档案。如 agent 不可用,由主线程直接执行。
项目文件结构:
{短篇标题}/
├── 设定.md ← Phase 2 产出(含对标摘要)
├── 小节大纲.md ← Phase 2 产出
├── 正文.md ← Phase 3 产出
└── 对标/ ← 当前短篇引用视图(可选)
└── {书名}/
├── 拆文报告.md
├── 情节节点.md
└── 写作手法.md拆文结果自动使用规则:执行写作前必须按“对标上下文加载”顺序扫描 {短篇标题}/对标/{书名}/、项目根 拆文库/{书名}/、{短篇标题}/拆文库/{书名}/。找到拆文报告时,把“结构/情绪/反转/写作手法”作为技法参考;找到结构化子目录时,按当前小节目标检索最相关模块。
术语说明:Phase 3 按「段」划分叙事结构(开头段/铺垫段/升级段/反转段/结尾段),每段包含若干「小节」(数字编号的 beat)。「场景」指写作时的具体画面。
准备层(每个场景写前执行 2 步,是核心方法的落地:确认情绪目标 → 召回技法模块):
对标/ 或 拆文库/ 结构化产出,按“对标上下文加载”规则检索与当前场景最相关的结构/情绪/反转/写作手法模块作为参考,并写入“拆文召回摘要”<!-- cross-book-recall:trigger:tempo-section -->
references/cross-book-recall.md,副对标 anchor 入"拆文召回摘要"写作指令:按三维度织入逐场景写作,不是翻译大纲。每个场景让读者和主角一起经历。三个维度(发生、感知、反应)同时织入同一段连续正文——不按维度分段,不用"先写发生再补感知"的方式写作。织入后仍必须按镜头断段:一段只承载一个动作/信息变化,优先一段一句,避免一段到底。输出前做密度重排:段落 >60 字按句号/动作转折拆开,单句 >45 字拆短。
正文写作阶段默认由主会话按 2-3 节/批分批写正文,主会话输出是短篇正文的标准形态。不要要求单次 agent spawn 完成 8000+ 字全文。每批写完后先更新“已写小节摘要”(3-5 条:已揭示信息、情绪位置、未回收伏笔、下一批衔接句),下一批必须先读取该摘要和 正文.md 尾部 300-500 字再续写。只有在用户明确要求子代理、主会话上下文不足,或需要隔离一段试写时,才检查 .claude/agents/narrative-writer.md 并 spawn Agent(subagent_type: "narrative-writer", prompt: "项目目录:{dir}\n任务描述:写正文\n输出文件:正文.md\n情绪目标:{从核心框架读取}\n小节大纲:小节大纲.md\n涉及角色:{从核心框架读取}\n对标/拆文路径:{本次查找到的 对标/{书名}/ 或 拆文库/{书名}/,没有则写 无}\n拆文召回摘要:{本场景最相关的结构/情绪/反转/写作手法模块,最多5条;没有则写 无}\n格式硬约束:必须完全遵守 story-short-write/references/format-and-structure.md;全文小节标记统一,默认 ###1.、###2.;段落之间不加空行;对话独立成行,引号风格按项目/平台约定统一(默认半角双引号,盐言可用「」);禁止使用 --- 分隔正文片段;禁止把自检/说明/审查报告写入正文.md。\n写作硬约束:按三维度织入写场景,但仍必须按镜头断段;一段只承载一个动作/信息变化,优先一段一句,避免一段到底。输出前做密度重排:段落 >60 字按句号/动作转折拆开,单句 >45 字拆短。")。无论由谁写作,最终写入 正文.md 前都必须按同一格式规范重排一次,保证主会话与子代理输出格式一致。
⚠️ 硬约束:每节 ≥ 800 字 / 50-65 行。
题材例外:爽文、打脸、系统流等高信息密度题材可降至 ≥ 500 字/节(见 genre-writing-formulas.md 各题材速查表),但不得低于 500 字。
写完每节后必须统计字数和行数。不足 800 字(高信息密度题材不足 500 字)的节不得跳过,必须补充更多子事件/对话来补足后再写下一节。整篇完成后总字数必须 ≥ 8000 字。
字数统计必须跨平台可执行:优先使用 Python 字符统计:for PYBIN in python3 python py; do "$PYBIN" -c "" 2>/dev/null && break; done; "$PYBIN" -c "from pathlib import Path; print(len(Path('文件路径').read_text(encoding='utf-8')))"。不要直接调 python3——Windows 上 python3 会落到 Microsoft Store 占位程序、以 exit 49 静默失败;上面的探测会按 python3→python→py 选出真正可用的解释器。Windows / DeepSeek / Claude Code 组合下不要让模型自行估算字数;wc -m 仅作为 macOS/Linux 备选,禁止使用 wc -c(字节数)。如果当前 agent/工具环境没有 Bash/Python 权限,必须明确声明“未完成机器字数验证”,并按行数速算作为临时估计,不得声称已通过字数硬验证。
⚠️ 字数不足 = 章节未完成。禁止在字数未达标时结束章节。必须继续展开场景直到达标。
节数守恒:正文节数必须等于小节大纲规划节数。不得合并多节为一节。如果写作中发现某节不需要独立存在,应回到大纲阶段调整,而非在写作时偷减。
节长达标流程:
节长验证(分批写作,每批写完后执行): 分批写作:每次输出 2-3 节(2-3 节约为 Claude 单次输出的最佳叙事窗口,过少浪费上下文,过多降低单节质量),写完后统一检查本批所有节的字数。 如果任何一节 < 800 字(高信息密度题材 < 500 字)→ 补充更多子事件/对话来补足后再写下一批。 禁止跳过未达标的小节。
批量验证更高效:一次性输出多节能让 AI 保持叙事连贯性, 批后统计比逐节暂停更符合 AI 的文本生成特性。
节长速算:平均每行 15 字 × 55 行 ≈ 825 字。写到第 30 行时如果还不到 500 字,说明子事件数量不够,需要补充更多子事件或对话。
每个小节按「三维度织入」写作(详见 writing-craft.md 第 8 节):每个子事件将发生、感知、反应三个维度织入同一段连续正文,子事件合计 ≥150 字。维度织入不等于按维度分段——禁止"先写发生再补感知再补反应"的堆叠写法;也不等于一段到底——按新动作/新物件/新信息/新对话断段,单段超过 60 字优先拆开。
写完后对照 小节大纲.md 检查:每个子事件三个维度都织入了?本节情绪到位?伏笔/物件已植入?节长 <800 字 → 补充更多子事件/对话后再写下一节。
按以下结构分段写:
目标:3 句话内抓住读者。必须包含一个开篇钩子(从 hooks-chapter.md 选择类型)。
技法指令:前 100 字事件密度 ≥ 3,不做背景铺垫,直接上事件链。
开头零环境规则(默认适用;悬疑、惊悚、灾难、强氛围题材可例外):
开头技巧:
| 技巧 | 说明 | 示例 |
|---|---|---|
| 冲突前置 | 第一句就是矛盾 | 「离婚协议放在桌上,他已经签了。」 |
| 信息差钩 | 给读者一个角色不知道的信息 | 「她不知道,对面那个男人已经在计划第三次了。」 |
| 反常行为 | 用一个不合常理的行为引起好奇 | 「她把订婚戒指冲进了马桶。」 |
| 重生反常 | 重生后做前世绝不会做的事 | 「沈栀心念成灰,支着一口气找到了媒婆:郭家的那个天阉,我来嫁。」 |
| 超自然身份 | 开篇揭示非人类身份 | 「我是世上仅存的红衣厉鬼。我不知自己是怎么死的。」 |
| 灵魂旁观 | 以灵魂视角描述死亡现场 | 「我的尸体躺在透明棺材里,三个哥哥在外面笑着说:她演得真像。」 |
| 悬念句 | 抛出一个需要解释的事实 | 「我死后的第三天,老公发了一条朋友圈。」 |
| 替嫁被弃 | 被迫接受不公正的命运 | 「三个月后,我代替皇后的嫡亲公主坐上了去漠北和亲的轿撵。」 |
| 代入式提问 | 直接让读者产生共鸣 | 「你有没有在深夜接到过一个不该接的电话?」 |
结尾类型:
| 类型 | 效果 | 适合情绪 |
|---|---|---|
| 余韵式 | 不说完,让读者自己想 | 意难平 |
| 呼应式 | 首尾呼应,形成闭环 | 治愈、成长 |
| 开放式 | 留下悬念 | 细思极恐 |
| 反转再反转 | 结尾再来一个小反转 | 震惊 |
| 金句式 | 一句话点题 | 共鸣 |
中文文本统计注意事项:
wc -c 统计的是字节数,中文每字符 3 字节(UTF-8),不等于字数for PYBIN in python3 python py; do "$PYBIN" -c "" 2>/dev/null && break; done; "$PYBIN" -c "from pathlib import Path; print(len(Path('文件路径').read_text(encoding='utf-8')))"(勿直接用 python3:Windows 上它会触发 Microsoft Store 占位程序、exit 49 失败)wc -m 仅作为 macOS/Linux 备选;Windows 环境或模型兼容性不确定时不要依赖 wcwc -c 或模型估算字数wc -l 是安全的不通过 → 回退补足,不得进入精修。
加载 references/writing-workflow.md 中的精修清单完成检查。
重点:开头钩子、情绪曲线、反转铺垫、每句话价值、格式规范、AI 腔排查。
精修阶段,如果项目已部署对应 agent,可 spawn:
Agent(subagent_type: "narrative-writer", prompt: "项目目录:{dir}\n任务描述:去AI味+格式检查\n检查范围:{正文文件}") — 执行去AI味(6 Gate)和格式合规检查Agent(subagent_type: "consistency-checker", prompt: "项目目录:{dir}\n检查范围:{正文文件}\n检查类型:事实冲突+伏笔断线+角色属性不一致") — 执行一致性检查如 agent 不可用,由主线程直接执行。
正文洁净规则:
<!-- 自检 --> 或类似的检查标记注释不通过 → 回退补足。
流水线: 短篇 位置: 写作(第 3/3 步)
| 时机 | 跳转到 | 命令 |
|---|---|---|
| 有参考小说想对标 | story-short-analyze | /story-short-analyze → 输出存入 拆文库/{书名}/ |
| 写完,去 AI 味 | story-deslop | /story-deslop |
| 想自检 | 本 skill 质量自检 | 用 Phase 4 自检流程 + references/quality-checklist.md 逐项核对 |
| 需要市场方向 | story-short-scan | /story-short-scan |
| 设定太大,适合长篇 | story-long-write | /story-long-write |
按需加载以下文件。写作时同时加载 ≤ 3 个:
有些主题散在多个文件里。下表给每个主题一个权威文件(先读它,通常够用),配套文件只在需要那个角度时再加载。括号是该文件里对应的小节。
| 主题 | 权威文件(先读) | 配套文件(按角度补充) |
|---|---|---|
| 情绪设计 | references/emotional-methods.md(情感三板斧 + 拉扯节奏 + 失败模式) | references/emotional-arc-design.md(六种弧线 / 前反应-复现-后反应结构)· references/genre-writing-techniques.md(情绪操控核心法则) |
| 反转 | references/reversal-toolkit.md(反转类型 / 铺垫 / 有效性自检) | references/villain-and-reveal.md(真相揭露机制 / 反转有效性自检) |
| 反派揭露 | references/villain-and-reveal.md(反派模板 / 揭露机制 / 报应设计) | references/reversal-toolkit.md |
| 人物 | references/character-basics.md(主角/配角/反派/动机模板速填) | references/character-design-methods.md(三层标签反差/深化)· references/character-relations.md(关系/感情线) |
| 钩子 | references/hooks-chapter.md(章节/开篇钩子类型) | references/hooks-paragraph.md(段落钩子)· references/hooks-suspense.md(悬念设计) |
| 女频写作 | references/female-audience-writing.md(核心原则 / 文案结构体系 / 感情线写法深化) | references/genre-writing-techniques.md(女频读者心理与写作技法 / 感情线四阶段推进法)· references/genre-readers.md(读者心理) |
| 题材公式 | references/genre-writing-formulas.md(各题材创作公式速查) | references/genre-catalog.md(题材框架)· references/genre-core-mechanics.md(核心梗设计) |
| 开头 | references/opening-design.md(黄金一章 / 三大基点 / 题材开头模板;短篇:「前3章」读作开篇首节~前1/3、七步法按目标字数等比缩放) | references/hooks-chapter.md(开篇钩子类型) |
| 格式与节奏 | references/format-and-structure.md(正文格式硬规范) | references/writing-craft.md(三维度织入)· references/writing-workflow.md(设计/精修工作流) |
| 对话 | references/dialogue-mastery.md(对话技法主文件:差异化/潜台词/对话节奏) | references/writing-craft.md(对话权力博弈的结构化用法) |
| 去AI味 | references/anti-ai-writing.md(AI指纹/核心规则/Show Don't Tell) | references/banned-words.md(禁用词扫描)· references/quality-checklist.md(成稿检查) |
© uu201, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 29 other files (scripts, references) in resources/skills/oh-story-claudecode/story-short-write of uu201/character-arc.
Open the folder on GitHubat commit 292f947
Short Web Fiction Writer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Short Web Fiction Writer this skilluu201/character-arc | 583 | — | ~3.7k | Automated safety check: Pass | MIT | |
| Chinese Novel Writing Systemleenbj/novel-creator-skill | 671 | — | ~3.9k | Automated safety check: Pass | None | |
| Chinese Novelist Chapter WriterPenglongHuang/chinese-novelist-skill | 3.3k | — | ~491 | Automated safety check: Warn | MIT | |
| Sun-Style Restrained Narrative WritingKKKKhazix/sun-style-writing | 403 | — | ~1.7k | Automated safety check: Pass | MIT | |
| Long Story AnalysisNarcooo/inkos | 10k | — | ~364 | Automated safety check: Pass | AGPL-3.0 | |
| Narrative Continuity CriticUfukNode/Noustiny | 181 | — | ~2.3k | Automated safety check: Pass | MIT |
leenbj/novel-creator-skill
Guides long-form Chinese novel writing from a rough idea through outlines, chapter drafts and quality gates, with file-based memory for a story meant to reach 300万字.
PenglongHuang/chinese-novelist-skill
Writes long Chinese novels chapter by chapter through guided questions, outlining, drafting with cliffhangers and automatic validation, with resumable projects.
KKKKhazix/sun-style-writing
Writes Chinese first-person nonfiction in a restrained plain-description style: short sentences, exact numbers, objects that carry feeling and silence at the peak.
Narcooo/inkos
Breaks down a full novel or long sample into story mechanisms and style traits the agent can reuse as craft, without copying names or wording.
UfukNode/Noustiny
Grades whether a downstream story beat still holds after an upstream insertion, returning a strict JSON verdict of still_valid, needs_rewrite or must_delete.
zenstory-ai/oh-story-claudecode
Breaks down a popular Chinese short story into story core, structure, emotional line, twists and techniques, and saves the analysis as files for a follow-up writing skill.
uu201/character-arc
Finds and rewrites AI-sounding passages in Chinese web novel text, changing as few words as possible while keeping plot, characters and names intact.
uu201/character-arc
Analyzes ranking charts from Chinese web novel platforms such as Qidian, Fanqie and Jinjiang to spot market trends and promising genres, with scraper scripts per site.
uu201/character-arc
Polishes AI-generated web novel text to remove machine-sounding patterns, with rewriting strategies, instruction templates, style techniques and before-and-after examples.
uu201/character-arc
长篇网文写作。从大纲到正文,辅助长篇网络小说的创作,包括世界观、人物、情节线管理. An agent skill from uu201/character-arc.
uu201/character-arc
网文创作工具与生产流程。当用户需要使用AI辅助写作工具、设计提示词模板、规划写作工作流、选择码字工具、制定发布与数据分析策略时触发。覆盖DeepSeek/ChatGPT/Claude/豆包等AI工具应用、提示词工程、工作流设计、发布运营。
uu201/character-arc
小说封面生成。根据书名、作者名自动分析题材风格,调用 GPT-Image-2 直接生成含标题和署名的专业级网文封面. An agent skill from uu201/character-arc.
Categories
Walks an agent through writing a complete short web novel in Chinese, starting from the emotion the reader should feel and building around one twist. The skill treats the target emotion as the objective of the whole piece. Before drafting, the agent asks you what feeling the reader should be left with and offers a table of options: lingering regret, a shocking reversal, a cathartic payoff, warmth, creeping dread or moving resonance.
Short Web Fiction Writer fits situations like: writing a short story for Chinese web-fiction platforms around one emotional twist; choosing a target reader emotion and genre direction before drafting; drafting a short piece with a strong opening hook and a lingering ending.
Run `npx skills add uu201/character-arc --skill story-short-write -a claude-code`. Or copy the skill folder (resources/skills/oh-story-claudecode/story-short-write in uu201/character-arc) into .claude/skills/story-short-write in your project. Claude Code loads it when a task matches its description.
Run `npx skills add uu201/character-arc --skill story-short-write -a codex`. Or copy the skill folder (resources/skills/oh-story-claudecode/story-short-write in uu201/character-arc) into .agents/skills/story-short-write in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add uu201/character-arc --skill story-short-write -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/story-short-write, .gemini/skills/story-short-write, .github/skills/story-short-write and .opencode/skills/story-short-write in your project.
SKILL.md names no scripts, command-line tools or credentials: Short Web Fiction Writer is instructions for the agent only. Our summary lists: A working directory where the agent can create story files.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Short Web Fiction Writer is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.7k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 84k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Short Web Fiction Writer: Chinese Novel Writing System (leenbj/novel-creator-skill, 671 stars), Chinese Novelist Chapter Writer (PenglongHuang/chinese-novelist-skill, 3.3k stars), Sun-Style Restrained Narrative Writing (KKKKhazix/sun-style-writing, 403 stars) and Long Story Analysis (Narcooo/inkos, 10k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
uu201 (a GitHub user) maintains it in uu201/character-arc, which has 583 GitHub stars. The repository holds 26 skills in this directory. The repository was last updated on October 9, 2026.
Source: uu201/character-arc on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.