lornshrimp/通用-多平台输出编排
用于对单章或多章执行多平台输出全流程编排。适合多平台输出 SOP、批量平台分发、断点恢复、门禁回炉与最终摘要收口。关键词:多平台输出编排、平台分发、断点恢复、门禁回炉、平台日志、最终摘要、今日头条。
npx skills add https://github.com/lornshrimp/Lorn.NovelWriteSkills --skill 通用-多平台输出编排
<!-- ===== Layer 1: 永久缓存 ===== -->
> 题材路由:若 .github\题材专用Skills\ 目录存在对应的 <题材>-多平台输出编排 Skill,则:
> - 将题材特性骨架路由到 <题材>-多平台输出编排,该 Skill 位于 .github\题材专用Skills\ 目录。
> - 命中本技能时,必须优先强制加载当前 Skill 与 <题材>-多平台输出编排。
<!-- ===== Layer 3: 场景缓存 ===== -->
本文件不是摘要或参考提示,而是必须逐字执行的流程指令。
在产生任何输出之前,必须先逐条输出以下确认。不输出确认就输出正文内容,一律视为流程违规:
[阅读确认]
- 本文件 SKILL.md → [已完整读取,完全理解全部硬规则与强制要求]
- references/多平台输出执行总流程与断点恢复.md → [已读取并理解]
- references/多平台输出门禁与相似度规则.md → [已读取并理解]
- references/多平台输出摘要与日志规范.md → [已读取并理解]
若项目根目录存在 Agents.md → 追加确认已完整读取(含 平台POV基线表 章节)。
[进度] 阶段 X / 步骤 N:当前动作描述;在完成全部 15 步之前,不得输出"多平台输出完成"或最终摘要。调用 skill:通用-提纯多平台母稿 等声明的,必须通过 skill() 工具实际加载对应 Skill 的 SKILL.md 并逐字执行其指令,不得跳过加载直接凭"已有知识"替代执行。skipped_{stepName}_reason=xxx,且需有明确规则依据。skill() 工具加载。每一次步骤执行都必须由 skill() 重新加载对应 Skill 文件,以获取最新版本。以下任一情况都构成违规,必须回炉或重新执行:
platformPovContract 不得在连续章中自行更改人称。通用-提纯多平台母稿 或 通用-多平台小说适配。以下为不可协商的硬约束:
通用-提纯多平台母稿 或 通用-多平台小说适配 节点。多平台输出不是把一章文本复制多份,而是一个带门禁、日志、相似度与平台路由的执行流水线。
Agents.md,若该文件中有针对具体平台的字数要求(如 起点:{ bodyCJK: 3000-5000, afterwordCJK: 200-300 }),则以此为准。Agents.md 中未指定具体平台但设定了主输出平台的字数要求,则由主输出平台对应的 通用-输出*版/SKILL.md 中的"平台默认字数范围"确定。通用-输出*版/SKILL.md 中的"平台默认字数范围"。## 作者有话说 未达到该平台的字数目标时,建议先补足再进入平台正文写作阶段。通用-提纯多平台母稿 后判断是否需要做源稿补强;若源稿补强后仍远低于目标平台的字数门槛,可停止该平台分支,记录 blocked_word_count_insufficient,不得用平台后处理"凑字数"。多章编排允许提高上下文复用效率,但不得减少或跳过任何一章的任一环节。
blocked_ai_unavailable 并停止正文生产;绝对禁止改走任何脚本改写或模板替换兜底。对照项落在、先把同一句话拆碎、先把顺滑的解释拆开、只求能追溯、只求能复核、只求对得上。scripts/append_cn_unique_monologue.ps1、scripts/append_cn_unique_narration.ps1、scripts/append_cn_unique_thirdperson.ps1、scripts/rephrase_cn_body.ps1、scripts/rephrase_en_body.ps1、scripts/cn_lexicon_profile_transform.ps1。platformPovContract,至少包含:expected(first|second|third)、lang、baselineSource、switchPolicy。platformPovContract 的默认来源优先级必须是:用户明确指定 > 该平台已完成前序章节 > 源稿既有视角链路 > 本批次该平台首个已通过章节。pov_switch_without_approval 或 pov_drift_detected。blocked_word_count_insufficient,并考虑中止该平台分支后续分发。以下所列 references 文件必须通过 read_file 工具逐文件读取,不得因"已有相关知识"、"之前执行时已读过"、"该文件只是参考"为理由跳过任何一条。 命中本 Skill 时,除本文件外,以下文件必须继续读取:
reference_missing_{refName},不得静默跳过。references/多平台输出执行总流程与断点恢复.md — 必读references/多平台输出门禁与相似度规则.md — 必读references/多平台输出摘要与日志规范.md — 必读../../写作研究/网文留存模型.md — 留存基线../../写作研究/GEO小说项目核心参考.md(新增 — GEO 基础框架,支撑步骤 10-14 门禁中新增的 GEO 门禁),定义多平台分发阶段的留存门禁与平台留存策略映射题材目录下的包装层 Skill(如 都市悬疑-提纯多平台母稿)是本 Skill 所调用的子 Skill 的题材特化扩展。调用规则:
通用-提纯多平台母稿、通用-多平台小说适配 或任一 通用-输出{平台名}版 之前,先检查当前项目题材目录下的 .github/skills/ 中是否存在同名题材包装层本 Skill 作为编排器不直接调用模型,但将以下温度约束传递给被调用的下游子 Skill 执行:
| 子 Skill / 阶段 | 推荐温度 | 说明 |
|---|---|---|
| 通用-提纯多平台母稿(提纯阶段) | 0.40 | 信息保真为主,保持判断稳定 |
| 通用-提纯多平台母稿(提纯阶段) | 0.40 | 信息保真为主,保持判断稳定 |
| 通用-多平台小说适配(推演阶段) | 0.45 | 策略推演,适度约束 |
| 通用-输出{平台名}版(分平台改写) | 0.55–0.70 | 需要创造性与平台适配,中文英文共用 |
| 字数/POV/相似度门禁(终检) | — | 脚本检测,不调用模型 |
chapterPath / chapterPaths / inline source、默认平台集合、日志续跑、门禁脚本与分语言相似度质检。通用-多平台小说适配。通用-章节创作闭环 或 通用-创建小说正文。命中本 Skill 时,必须按以下闭环执行,禁止裁剪关键步骤。每段标注角色视角,步骤末尾标注完成标记。
为降低执行负担,先把本闭环记成 5 段:定位输入 → 建任务队列 → 提纯与适配 → 分平台落盘 → 门禁回炉与收口。
扮演角色: 编排器 / 项目经理角色。只做路径解析与归一化,不代入任何平台创作或审阅视角。不加载 .github/agents/小说作者.agent.md。
| 步骤 | 动作 | 调用 skill / 脚本 | 完成标记 |
|------|------|------------------|---------|
| 1 | 接收任务,输入可以是 chapterPath / chapterPaths 或部/卷/章定位 | 无(编排器自执行) | 章节输入已归一化 |
| 2 | 若用户直接给文件路径则按给定路径处理;若给部/卷/章定位则映射到小说正文/下对应文件 | 无,自动在小说正文/下完成定位 | 章节路径已解析 |
| 3 | 当用户只给"第几部第几卷第几章"时不得反向要求用户手填路径,主动完成发现 | 无,主动完成发现 | 章节文件已确认 |
扮演角色: 编排器 / 项目经理角色。读取平台配置、建立任务队列与 POV 建档,不进入正文改写。不加载 .github/agents/小说作者.agent.md。
| 步骤 | 动作 | 调用 skill / 脚本 | 完成标记 |
|------|------|------------------|---------|
| 4 | 平台参数解析:①用户指定 platforms 则按指定子集执行;②未指定时读取 Agents.md 中平台POV基线表章节;③不存在则提示创建并停止;④识别主输出平台(只做门禁终检不重复改写);⑤非主平台写入 {平台名}/ 目录 | 读取 Agents.md | platformList 已确定;主输出平台:{name} |
| 5 | 建立每个源章节文件的正文上下文,形成可追溯的章节任务队列 | 无(编排器自执行) | 任务队列已建立 |
| 6 | 每章完成 POV 建档:判定源稿 POV 形态 → 为每个平台建立/继承 platformPovContract → 未获批不得自行改人称 | 可参考 通用-管理连续性冷热线 | platformPovContract 已锁定 |
扮演角色:
.github/agents/小说作者.agent.md 的作者立场,调用通用-提纯多平台母稿对源稿做信息稳、事件链稳、情绪主轴清的精修。.github/agents/小说作者.agent.md。.github/agents/小说作者.agent.md 的作者立场,逐一调用对应通用-输出{平台名}版(及对应的题材包装层),每切换一个平台就代入该平台的读者期待与风格约束。| 步骤 | 动作 | 调用 skill / 脚本 | 完成标记 |
|------|------|------------------|---------|
| 7 | 对每个章节调用通用-提纯多平台母稿(及对应的题材包装层),得到可分发母稿。不得跳过 | 必须通过 skill() 加载:通用-提纯多平台母稿(及对应的题材包装层) | 母稿已落盘 |
| 8 | 调用通用-多平台小说适配(及对应的题材包装层),获取平台差异矩阵 | 必须通过 skill() 加载:通用-多平台小说适配(及对应的题材包装层) | 平台差异矩阵已生成 |
| 9 | 按目标平台逐一调用对应通用-输出{平台名}版(及对应的题材包装层)。必须继承已锁定的 platformPovContract。每平台产物为独立 .md 文件,按平台目录落盘 | 必须通过 skill() 加载:对各平台逐一调用通用-输出{平台名}版(及对应的题材包装层) | 各平台版本已落盘 |
扮演角色: 质检员 / 审阅者角色(门禁终检视角)。完全退出创作视角,只做门禁检查与回炉调度。不因"感觉差不多了"降低标准。不加载 .github/agents/小说作者.agent.md。
【强制门禁执行顺序】
阶段 D 的 5 个步骤必须按以下顺序严格执行每个"章节 × 平台"节点,不得跳跃、合并或调序:
步骤 10(字数门禁)→ 通过 → 步骤 10(POV 门禁)→ 通过 →
步骤 11(相似度终检)→ 通过 → 步骤 13(质量门禁)→ 通过 → 步骤 14(终判)
↓ 失败 ↓ 失败 ↓
步骤 12(回炉)←──────────┘───────────────┘
↓
回到步骤 10(重测)
| 步骤 | 动作 | 调用 skill / 脚本 | 强制完成前提 |
|------|------|------------------|-------------|
| 10 | 平台内门禁:①先过字数门禁(必须使用 count-chapter.ps1,不得用 Len/NoWhitespaceLen/编辑器字符数或目测代替,正文门禁只看 BodyCJK/MeetsMinCJK/WithinRange,MeetsMinCJK 必须为 True,WithinRange 最好为 True)。字数通过后②再过 POV 门禁(pov_validate.py / run_pov_gate.ps1)。字数门禁未通过不得进入 POV 门禁 | count-chapter.ps1、count-afterword.ps1、pov_validate.py | 字数门禁 BodyCJK/MeetsMinCJK 实测过关 + POV 门禁实测过关 |
| 11 | 所有目标平台通过平台内门禁后,统一进入分语言相似度终检:中文组内两两+中文各平台对源章阈值<0.20;英文组内两两阈值<0.20。相似度终检未通过不得进入步骤 13 | chapter_similarity_check.ps1 / run_similarity_from_platform_config.ps1 | 中文组 {pass} + 英文组 {pass} |
| 12 | 回炉闸口:步骤 10/11/13 中任一失败 → 必须进入该平台自己的回炉循环,不得扩大到其他平台。回炉顺序固定:字数门禁 → POV 门禁 → 相似度门禁 → 质量门禁。回炉后再顺序重测步骤 10→11→13。回炉修改阶段,若需调用对应平台的输出 Skill(如通用-输出{平台名}版),也必须通过 skill() 工具重新加载,不得直接用旧版本替换。 | 回炉时回到对应步骤的修改链路(若需调用输出 Skill 则通过 skill() 加载) | 该平台已执行回炉修改 |
| 13 | 每次相似度回炉后显式运行质量门禁(run_quality_gate.ps1 / scan_text_quality.ps1)。禁止插入无意义字符或模板噪声压相似度。质量门禁未通过不得进入步骤 14。<br>留存门禁(新增):质量门禁通过后,增加留存风险自检。每个平台版本的正文检查"情绪刺激密度是否因改写而降低"——若改写后连续 300 字无情绪刺激,标记为该平台的留存风险,回炉到对应通用-输出{平台名}版重新改写。<br>GEO 门禁(新增):留存门禁通过后,可选增加 GEO 自检——检查平台版正文是否包含 AI 可引用的结构化元数据(检查项:① 是否含作品信息块 ② 是否含平台标签 ③ 是否含发布年份标签)。此为可选门禁,不影响主流程完成,但若启用则标记 [GEO门禁已执行]。详见 ../../写作研究/GEO小说项目核心参考.md。 | run_quality_gate.ps1、scan_text_quality.ps1 | 质量门禁已通过 + 留存风险自检通过 |
| 14 | 终判闸口:若回炉降相似度后又导致字数/POV/质量任一门禁失效 → 必须继续回到该平台分支回炉(步骤 12),直到四者同时达标。四者未同时达标不得宣告该平台完成 | 循环执行步骤 10–13 对应子集 | 字数+POV+相似度+质量全达标 |
扮演角色: 编排器 / 项目经理角色。只做数据汇总、调用完整性审计与格式化输出。不加载 .github/agents/小说作者.agent.md。
【强制完成前提】
在进入步骤 15 之前,必须先完成以下三项审计。任一项不满足 → 不得宣告完成,必须回到对应阶段补做:
| 审计项 | 检查内容 | 通过条件 |
|--------|---------|---------|
| 调用完整性审计 | 对比 requiredCalledSkills 与 calledSkills,识别 missingCalledSkills | missingCalledSkills 为空 |
| 门禁审计 | 每个"章节 × 平台"节点的字数/POV/相似度/质量四门禁是否全部过关 | 四门禁全部达标 |
| 日志审计 | 所有平台节点的门禁结果、POV 契约、回炉记录是否已写入日志 | 日志可续跑 |
【强制 IF/THEN 收口闸门】
IF missingCalledSkills 非空:
→ 你 MUST 回到对应平台分支补调缺失 Skill,不得输出完成摘要
IF 存在任一平台节点四门禁未同时达标:
→ 你 MUST 回到该平台分支继续回炉(步骤 12→10→11→13→14),不得输出完成摘要
IF 日志不可续跑(关键状态缺失):
→ 你 MUST 补写日志后再进入步骤 15
IF 以上三项同时满足:
→ 允许输出完成摘要
→ status = completed
| 步骤 | 动作 | 调用 skill / 脚本 | 强制完成前提 |
|------|------|------------------|-------------|
| 15 | 执行调用完整性审计 + 门禁审计 + 日志审计 → 按 IF/THEN 收口闸门判定 → 满足条件时输出完成摘要 | 无(编排器自执行) | missingCalledSkills 为空 + 四门禁全达标 + 日志可续跑 |
<!-- ===== Layer 2: 项目级缓存 ===== -->
platformPovContract;不得让每一章在分平台改写时临时重新决定“这章用第一人称还是第三人称更顺手”。platformPovContract 至少要写清:expected、lang、baselineSource、switchPolicy;需要断点恢复时,还应补充 inheritedFromChapterNo 或等价来源。switchApproved=true、switchReason、switchPlan 写入日志;没有这些字段,就一律按未授权漂移处理。我 / 你 / I / you 等代词,或第一人称链路在正文区块里完全缺失第一人称锚点,都应优先视为失败;不得解释成“只是文风更灵活”。< 0.20(建议 0.199)。< 0.20(建议 0.199)。scripts/chapter_similarity_check.ps1 直接对路径组进行计算,或使用 scripts/run_similarity_from_platform_config.ps1 基于平台配置执行;但最终报告必须明确区分中文组与英文组。requiredCalledSkills:本次任务应调用的 Skill 清单(按章节与平台展开)calledSkills:实际调用到的 Skill 清单(含调用顺序)missingCalledSkills:应调未调清单requiredCalledSkills 至少应包含:通用-提纯多平台母稿通用-多平台小说适配通用-输出*版missingCalledSkills 非空,本次任务必须判定为未完成并继续回炉;不得进入“完成摘要”。chapterNo / 无法稳定推断 分部目录 与 分卷目录 / 用户只给正文且必要元数据缺失 / 真实执行错误导致下一步无法推进”这四类场景,否则禁止中途停下来等用户说“继续”。停止正文生产 -> 记录阻塞原因 -> 输出最小恢复动作;不得继续“先脚本生成再补救”。通用-提纯多平台母稿 与 通用-多平台小说适配 都是必经节点;不得跳过。小说正文/。Agents.md 的 平台POV基线表 章节动态读取,不得把固定平台列表写死在执行器里;若 Agents.md 或其 平台POV基线表 章节不存在,必须提示用户创建后停止,不得继续执行。requiredCalledSkills 与 calledSkills 必须对齐,且 missingCalledSkills 为空。blocked_word_count_insufficientscripts/platform_validate.ps1,并把正文 / 作者有话说门禁结果写回日志platformPovContract,并确认其继承来源或批准切换理由< 0.20 相似度门禁.md 文件,且仅包含标题、正文与 ## 作者有话说requiredCalledSkills、calledSkills、missingCalledSkillsmissingCalledSkills 为空(否则不得宣告完成)blocked_ai_unavailable 中止并写入恢复指引(而不是脚本兜底生成)Take lornshrimp/通用-多平台输出编排 from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.