juangangzhedieshu
GitHub专为网文创作设计的卷纲生成技能,基于10故事折叠树结构,强制遵循起承转合十环节、反转库及情绪节拍规则,确保卷级大纲的完整性与自洽性。
Trigger Scenarios
Install
npx skills add Mochocyang/QMAI --skill juangangzhedieshu -g -y
SKILL.md
Frontmatter
{
"name": "juangangzhedieshu",
"description": "当用户需要生成卷纲、分卷大纲、卷一大纲,或要求按「折叠树\/十环节\/大高潮\/10个故事」形式整理卷级大纲时使用。触发词:卷纲、分卷大纲、卷一大纲、折叠树、10个故事、大高潮、起承转合十环节。不用于章纲、总纲、人物设定或正文。"
}
卷纲折叠树(1 卷 = 10 故事 = 1 大高潮)
触发与适用范围
- 适用于:用户要求生成某卷的卷纲、分卷大纲、卷一大纲,或要求按「10 个故事 / 折叠树 / 十环节 / 大高潮」结构整理卷级大纲。
- 不适用于:章纲、总纲(全书大纲)、人物小传、设定、伏笔、正文。
卷纲定义
1 个卷纲 = 10 个小故事 = 1 个大高潮。每个小故事固定跑满 10 个环节(起3 + 承3 + 转2 + 合2),约 12 章 / 3 万字;10 个故事靠「引线」首尾咬合,最终汇聚成卷级大高潮。生成前应读取项目大纲目录下已有的总纲、人物小传、设定、伏笔文件作为素材,确保人物与设定自洽。
生成时必须遵循(遵循即可,不要输出到界面)
一、10 环节体系(每故事固定顺序)
| 环节 | 要完成什么 | 主期待感 | 人物任务 |
|---|---|---|---|
| 起① 常态与破口 | 先立「正常」,再用异常捅破 | 好奇期待 | 主角 + 常态锚点人物 |
| 起② 人物站定 | 新增人物一次交代清楚并标明功能位 | 关系期待 | 引路 / 阻力 / 镜子 / 代价 四类各就位 |
| 起③ 目标与代价预告 | 把好奇升级成「必须」 | 危机期待 | 主角自定目标;世界开价 |
| 承① 尝试与失败 | 旧方法解决问题 → 失败 | 翻盘期待 | 阻力人物发力或规则否决 |
| 承② 资源拼图 | 攒信息/物件/人情/规则,显性化可编号 | 成长期待 | 每个新增人物交出一件可复用物 |
| 承③ 中点反转 | 换掉问题的「性质」 | 反转期待 | 镜子人物或伏笔点破 |
| 转① 认知反转 | 从 7 类反转库选一类执行 | 真相期待 | 反转执行者(人/规则/物件/主角) |
| 转② 代价抉择 | 付出一样东西换取前进资格 | 情感期待 | 主角独自面对 |
| 合① 小高潮兑现 | 结账:表层矛盾解决、代价落地 | 爽点期待 | 前面攒的资源合流 |
| 合② 引线与余震 | 未解之物 + 状态改变 + 下故事钩子 | 续航期待 | 留一个具体可追的「下次一定」 |
二、8 类期待感(每环节只主推 1 类)
好奇(这是什么/为什么反常)|危机(会不会失败)|关系(两人会怎样)|成长(攒够了吗)|反转(我猜对了吗)|情感(他会怎么选)|爽点(兑现/翻盘/打脸)|续航(后面还有什么)。
三、7 类反转库(承③ 与 转① 必须不同类型)
认知(换事实)|规则(换游戏规则)|立场(换阵营)|身份(换人物标签)|时间(换因果顺序)|代价(换谁付账)|主体(换敌人在哪)。反转的本质是「换掉一个前提」,不是「多一个帮手」。全卷 10 故事至少覆盖 5 类以上。
四、8 种情绪结构(节奏轴)
平(铺陈/埋伏笔)· 升(蓄势)· 起(事件启动)· 落(代价消化)· 缓(日常/支线)· 紧(倒计时/逼近)· 顶(兑现/翻盘)· 悬(留钩子)。12 章节拍纪律:不连续 3 章同节拍(顶最多 2 连);顶后必须接落或缓(故事收尾的「顶 → 悬」除外);悬必须落在故事末章。
五、三层线 + 12 章排布
主线约 60%(约 7 章)+ 支线约 25%(约 3 章,每故事 1-2 条)+ 日常约 15%(约 2 章)。日常只能落在「平 / 落 / 缓 / 悬」节拍;支线落在主线降速处(标准模板:第 2 / 6 / 7 / 10 / 12 章);每段日常必须埋至少一个伏笔或后面被真正用掉。
六、跨卷复用
结构、10 环节、7 类反转库不动;只换「大高潮目标 / 代价阶梯起点 / 人物池(保留 3-4 个旧人当引路,旧人不做反转)」。接口规则:上一卷合② 引线 = 下一卷起① 破口。
七、10 种叙事结构与选用纪律
起承转合只是其中一种,而且它管不了所有问题。有的管全卷骨架,有的管单个故事的节奏,有的管多线怎么交汇:
| 结构 | 段落构成 | 管哪一层 |
|---|---|---|
| 起承转合(东亚) | 起 · 承 · 转 · 合(4) | 通用 |
| 三幕式(亚里士多德 / 好莱坞) | 建置 · 对抗 · 结局(3) | 卷级 |
| 五幕式(弗莱塔格金字塔) | 展示 · 上升 · 顶点 · 回落 · 收束(5) | 卷级 |
| 序破急(世阿弥) | 序 · 破 · 急(3) | 单故事 |
| 英雄之旅(坎贝尔 / 沃格勒) | 12–17 阶段 | 全卷 |
| 七点式结构(Dan Wells) | 钩子 · 转折1 · 夹点1 · 中点 · 夹点2 · 转折2 · 解决(7) | 单故事 |
| 故事圈(Dan Harmon) | 舒适→需求→进入→搜寻→找到→付出→回归→改变(8) | 单故事 + 全卷 |
| 单元剧 / 卷单元 | 每卷一个自足小世界 | 卷级 |
| 多线叙事 | 主线 + N 条支线 | 全卷 |
| 环形叙事 | 结尾回到开头 | 全卷 |
三条选用纪律:① 不要叠加——选 1 个管全卷、1 个管单故事、1 个管逐章节奏就够了(本技能默认:10 环节管单故事、8 情绪结构管逐章);② 结构之间要能互相翻译,给出矛盾建议说明故事还没想清楚;③ 结构是体检工具不是写作模板,落笔按人物与情绪走。
生成的卷纲必须把这三条落进 position.structure:写明本卷选了哪几个结构(分别管哪一层),以及为什么不用其余几种。
完整性硬约束(违反即视为生成失败)
- 故事数 = 10:
stories数组必须包含 10 个故事对象,禁止只写第 1 个和第 10 个。 - 每故事环节数 = 10:
st必须写满 起①起②起③承①承②承③转①转②合①合②,每环节带stage、who、use、p。 - 每环节条目数 = 3:
p必须是 3 条具体条目(不是概括句)。 - 每故事头行字段填全:
rangedelivergiftmidtwisthookclimaxbeats。 - 每故事含线/拍数据:
line(主线+支线+日常+日常作用)、beats(12 章节拍序列)。 - 承③(mid) ≠ 转①(twist):两者必须是不同的反转类型。
- 每故事补
link:本故事合②的引线在下一故事起①如何被接住(最后一卷写通往下一卷的落点)。 - 每环节补
pay:该环节埋下的期待在哪里兑现(如「合①」「故事五 承②」)。 - 顶层补
foreshadows:伏笔追踪数组,每条{ v, seed, pay }(内容 / 埋设位置 / 回收位置);至少要覆盖每个故事的日常伏笔。 - 顶层补
cast:人物出场表数组,每条{ n, role, stories, u }(人物 / 功能位 / 出场故事 / 作用);功能位取「引路 / 阻力 / 镜子 / 代价 / 主角 / 预埋」。 - 顶层补
position:卷级定位,含pitch卷定位 /theme主题句 /narrative叙事形态 /structure结构选用声明(见第七节)/chapters建议章数 /ending卷末落点,六项都要写。 - 顶层补
roles:卷级功能位总览,六个功能位(引路 / 主角 / 阻力 / 镜子 / 代价 / 预埋)各一条{ n, v }。 - 顶层补
escalation:大高潮分解 + 代价阶梯,必须写满 10 条(对应 10 个故事),每条{ id, stake, lose, rise }——赌注等级 / 本故事付出的代价 / 抬升到什么。10 个故事必须是逐级抬升,不是并列。 - 顶层补
debts:悬念债务表,每条{ q, from, plan }(悬而未决的问题 / 起始位置 / 计划回收位置);本卷结束时仍未收回的悬念必须列出来。 - 顶层补
rivals:对手推进表,每条{ n, moves: [{ id, v }] };每个对手至少 2 次出手,禁止反派只在被打时才出现。 - 顶层补
growth:人物成长与资源表,每条{ n, gains, state }(人物 / 获得物与资源演进 / 能力与状态变化);获得物要与各故事gift对得上。 - 顶层补
places:地点 / 组织索引,每条{ n, kind, stories, u }(名称 / 类型(地点或组织)/ 出场故事 / 剧情作用)。
禁止出现的写法:「…」「等等」「略」「(略)」「参考上文」「其余同理」「此处省略」。一律视为生成失败。
输出规格
本技能同时产出两种格式,由 AI 只产出内容数据,HTML 由软件套模板渲染(你不需要写 HTML、CSS 或任何标签):
- 章号定位:软件按固定映射给每个环节标章号(起①=第1章…合②=第12章);
- 卷级定位卡:来自顶层
position(卷定位 / 主题句 / 叙事形态 / 结构选用 / 建议章数 / 卷末落点); - 卷级人物功能位总览:来自顶层
roles; - 整卷账本 + 三层线配比:软件按各故事章号范围汇总章数与字数,并核对日常是否落在 平/落/缓/悬 拍;
- 期待感强度曲线:软件用 inline SVG 把全卷逐章
beats画成强度曲线(平 1 → 顶 5); - 反转类型分布:统计全卷承③/转① 的类型覆盖与重复情况;
- 支线推进矩阵:按支线名汇总其在 10 个故事里的推进;
- 引线闭环表:故事N 引线 → 故事N+1 起①破口;
- 节拍体检:按 12 拍纪律(不连续 3 章同拍 / 顶最多 2 连 / 顶后接落或缓 / 悬落末章)逐故事体检;
- 环节完整性矩阵:10 故事 × 10 环节的 ●/○/· 热力表;
- 大高潮分解 · 代价阶梯:来自顶层
escalation; - 悬念债务表:来自顶层
debts; - 对手推进表:来自顶层
rivals; - 人物成长与资源表:来自顶层
growth; - 地点 / 组织索引:来自顶层
places; - 伏笔追踪表:来自顶层
foreshadows; - 人物出场表:来自顶层
cast; - 期待兑现标签:来自每个环节的
pay; - 故事锚点导航:点击直达对应故事(
:target高亮,纯静态)。
因此你只需把数据写全,界面会自动长出上面这些视图;缺失的条目会在对应面板里明确提示,不会静默空白。
一、MD 正文(给人阅读)
按故事逐个输出文本版卷纲:
- 开头先写卷级定位(卷定位 / 主题句 / 叙事形态 / 结构选用 / 建议章数 / 卷末落点)与卷级人物功能位总览(引路 / 主角 / 阻力 / 镜子 / 代价 / 预埋);
- 再逐个故事写:章数范围、小高潮、交付人物、获得物、引线、承③/转① 反转类型、12 章节拍、三层线,以及 10 个环节的要点;
- 结尾附跨故事台账:大高潮分解 · 代价阶梯(10 条)、悬念债务、对手推进、人物成长与资源、地点/组织索引、伏笔追踪、人物出场表。
二、卷纲结构化数据(软件据此渲染折叠树 HTML)
在 MD 正文之后,输出一个 ```json 围栏,顶层字段为 volumeOutlineData,结构如下:
{
"volumeOutlineData": {
"title": "卷一 卷名",
"goal": "本卷大高潮一句话目标",
"stories": [
{
"id": 1,
"range": "第 1–12 章",
"title": "故事一标题",
"deliver": "交付人物(引路)",
"gift": "获得物",
"mid": "承③反转类型",
"twist": "转①反转类型",
"hook": "引线",
"climax": "小高潮",
"link": "这条引线在故事二起①如何被接住",
"beats": "平升起紧落缓升紧顶缓顶悬",
"line": {
"main": "主线推进…",
"sub": [{ "n": "支线名", "v": "支线推进…" }],
"daily": { "v": "日常插曲…", "u": "日常作用/伏笔…" }
},
"st": [
{ "stage": "起①", "who": "主角(主角)+ 老张(常态锚点)", "use": "立常态再用异常捅破", "pay": "承②", "p": ["条目1", "条目2", "条目3"] },
{ "stage": "起②", "who": "陈守拙(引路)+ 主管(阻力)+ 小林(镜子)", "use": "三个功能位一次站齐", "pay": "合①", "p": ["条目1", "条目2", "条目3"] },
{ "stage": "起③", "who": "主角(自定目标)+ 世界规则(开价)", "use": "把好奇升级成必须", "pay": "转②", "p": ["条目1", "条目2", "条目3"] },
{ "stage": "承①", "who": "阻力人物", "use": "旧办法全部失败", "pay": "承②", "p": ["条目1", "条目2", "条目3"] },
{ "stage": "承②", "who": "各新增人物", "use": "攒资源并显性化", "pay": "合①", "p": ["条目1", "条目2", "条目3"] },
{ "stage": "承③", "who": "镜子人物/伏笔", "use": "换掉问题的性质", "pay": "转①", "p": ["条目1", "条目2", "条目3"] },
{ "stage": "转①", "who": "反转执行者", "use": "从 7 类反转库选一类", "pay": "合①", "p": ["条目1", "条目2", "条目3"] },
{ "stage": "转②", "who": "主角独自面对", "use": "付出代价换取前进资格", "pay": "合②", "p": ["条目1", "条目2", "条目3"] },
{ "stage": "合①", "who": "已攒资源合流", "use": "结账:矛盾解决代价落地", "pay": "本故事已兑现", "p": ["条目1", "条目2", "条目3"] },
{ "stage": "合②", "who": "留未解之物", "use": "埋下故事钩子", "pay": "下一故事起①", "p": ["条目1", "条目2", "条目3"] }
]
}
],
"foreshadows": [
{ "v": "竹哨(姑姑旧物)", "seed": "故事一 起①", "pay": "故事四 承②" },
{ "v": "林小满后颈编号痕迹", "seed": "故事二 起②", "pay": "故事五 承③" }
],
"cast": [
{ "n": "杨妙萍", "role": "引路", "stories": "1、4", "u": "以残魂与旧物把追查方向交到主角手里" },
{ "n": "林小满", "role": "镜子", "stories": "1–5、7", "u": "以编号创伤映照「人不是样本」的主题" }
],
"position": {
"pitch": "用姑姑之死和 092 把「编号压过姓名」的恶直接钉进读者心里",
"theme": "请叫我名字",
"narrative": "雨夜归来、旧村追杀、实验室回收线初揭",
"structure": "全卷用英雄之旅(平凡世界→召唤→磨难→带灵药归来);单故事用 10 环节(起承转合的加细版);逐章用 8 种情绪结构。不用环形叙事(会削掉追查推进的紧迫感),不用非线性多视角(会打散追链节奏),不叠加三幕式与五幕式(两者与 10 环节给出重复建议)",
"chapters": "第 1–100 章,共 10 个故事,每故事约 10 章",
"ending": "带着姑姑残魂、创伤中的林小满与仍在局中的冷档,正式走向莲城深处的实验网络"
},
"roles": [
{ "n": "引路", "v": "杨妙萍(残魂、保忆样本)" },
{ "n": "主角", "v": "杨寒" },
{ "n": "阻力", "v": "回收队、白塔外站、旧代号线外围转运链、编号体执行群" },
{ "n": "镜子", "v": "林小满(编号创伤)、杨小晚(血亲、暗线)" },
{ "n": "代价", "v": "现世压制、归元箓本源、林小满无法自愈的伤口" },
{ "n": "预埋", "v": "骆小禾(只以旧物、口风、旧称呼埋下「她存在过」)" }
],
"escalation": [
{ "id": 1, "stake": "一个人的命(姑姑)", "lose": "姑姑肉身、归元箓本源初开", "rise": "从复仇者变成追链者,拿到 092 烙印" },
{ "id": 2, "stake": "一个受害者的命(林小满)", "lose": "经脉受损、第一次承认救人不等于救好", "rise": "切断诱导回路,编号第一次被本名撬开" },
{ "id": 3, "stake": "整条外围转运链", "lose": "放过罗医生一条命", "rise": "确认敌人是一套流程而非一群人" },
{ "id": 4, "stake": "十年寻人的真相", "lose": "放弃一次查清的执念", "rise": "追查主战场从大林村搬到莲城" },
{ "id": 5, "stake": "陌生人的命(第一批被转运者)", "lose": "行踪暴露、围剿升级", "rise": "立场从私人复仇转向替活人开路" },
{ "id": 6, "stake": "莲城的城市接口", "lose": "被迫交出第一批证据换取时间", "rise": "拿到城市层面转运链的入口" },
{ "id": 7, "stake": "白塔外站整层", "lose": "林小满为掩护他再度被编号触发", "rise": "确认不归外勤部这个更高层级名字" },
{ "id": 8, "stake": "杨小晚是否活着", "lose": "归元箓本源出现不可逆裂痕", "rise": "把小晚从「可能活着」推进到「确定在局中」" },
{ "id": 9, "stake": "整条旧代号线外围", "lose": "姑姑残魂只剩最后一线清明", "rise": "打穿外围回收链,拿到通往深层实验网络的硬线索" },
{ "id": 10, "stake": "第一层实验网络与全卷代价", "lose": "姑姑残魂燃尽、林小满留下无法自愈的伤", "rise": "让读者意识到 092 不是个例,正式走向莲城深处" }
],
"debts": [
{ "q": "杨小晚到底还活着吗、被谁扣着", "from": "故事三 合②", "plan": "故事八 转① 给确定答案,回收留到第二卷" },
{ "q": "不归外勤部是什么层级、谁在更高处签字", "from": "故事三 合①", "plan": "故事七–十 逐步给层级,主体回收在第二卷" },
{ "q": "归元箓本源裂痕会不会反噬主角", "from": "故事八 转②", "plan": "第二卷 承① 正面兑现" },
{ "q": "骆小禾这条预埋线何时现身", "from": "故事一 起①", "plan": "第二卷 起② 站定" }
],
"rivals": [
{ "n": "白塔外站", "moves": [
{ "id": 1, "v": "派回收者上门,只称编号不称姓名" },
{ "id": 2, "v": "启动封锁程序,优先回收 1849" },
{ "id": 3, "v": "断尾清理罗医生,切断口供链" }
] },
{ "n": "旧代号线组织", "moves": [
{ "id": 4, "v": "撤走旧屋一带的外围哨点" },
{ "id": 5, "v": "用转运车队做城市层面分流" },
{ "id": 9, "v": "调编号体执行群反扑外围回收链" }
] }
],
"growth": [
{ "n": "杨寒", "gains": "092 烙印 → 半块记忆方体、溯忆砂 → 罗医生口供与残档 → 城市转运链入口 → 深层实验网络硬线索", "state": "从硬拆硬打的复仇者,到学会压住火气把愤怒换成情报" },
{ "n": "林小满", "gains": "从「被救的活证据」到能读懂外站流程的活战力", "state": "编号反射反复发作,本名回应从慢半拍到主动踩过 1849" }
],
"places": [
{ "n": "大林村", "kind": "地点", "stories": "1、4", "u": "旧日常态底片与十年寻人证据的埋点" },
{ "n": "白塔旧院", "kind": "地点", "stories": "1、2、7", "u": "外围诱导站,编号手术的第一现场" },
{ "n": "莲城东站", "kind": "地点", "stories": "4–6", "u": "城市层面转运链入口" },
{ "n": "不归外勤部", "kind": "组织", "stories": "3、7–10", "u": "更高层级转运与编号体系,全卷真正的对手" }
]
}
}
字段说明:
stories必须 10 个;每个故事st必须 10 条(起①~合② 全覆盖);每条p必须 3 条。beats是 12 个字符的节拍序列,字符取自:平 升 起 落 缓 紧 顶 悬。mid与twist必须不同。- 每个故事必须给
link;每个环节必须给pay。 - 顶层必须给
position、roles、foreshadows、cast、escalation(10 条)、debts、rivals、growth、places。 - 上面示例只展示第 1 个故事的完整写法(其余 9 个故事必须按同样颗粒度写满,一个都不能少),顶层数组展示的是写法样例,条数按你的实际内容写。
三、保存请求
最后附加 outlineSaveRequest:
{
"outlineSaveRequest": {
"targetFolder": "卷纲",
"fileName": "卷纲-第XX卷.md",
"fileType": "volume-outline",
"writeMode": "create",
"referencedSkills": ["DagangSkill/juangangzhedieshu"],
"sourceIntent": "生成第XX卷卷纲",
"content": "# 卷纲-第XX卷:……(与上方 MD 正文一致)"
}
}
不需要在 outlineSaveRequest 里提供 htmlContent —— 软件会自动用卷纲数据套模板渲染 HTML。
输出顺序
- MD 正文;
- ```json 围栏的
volumeOutlineData(10 故事 × 10 环节全写满); outlineSaveRequest(content 为 MD 正文)。
常见错误
- 故事不足 10 个,或用「…」跳过中间故事。
- 环节不足 10 个,或每环节条目不足 3 条。
- 承③ 与 转① 用了同一类反转。
- 节拍连续 3 章相同;「顶」后没接「落/缓」;「悬」不在故事末章。
- 日常落在「紧/顶」节拍;日常没有埋伏笔。
- 自己手写 HTML/CSS/标签(不需要,软件会按技能目录下的 template.html 渲染)。
- 输出 8 个方法论板块(被禁止)。
Version History
- 0379ae0 Current 2026-09-27 17:28


