lornshrimp/通用-输出webnovel版
用于把小说章节改写为更适合 WebNovel 平台的英文版本。适合强调跨文化可读性、移动端阅读节奏、清晰因果链与全球年轻读者易读性的正文输出;供多个题材的 `题材名-输出WebNovel版` 包装层路由使用。关键词:输出WebNovel版、WebNovel、英文平台、跨文化改写。
npx skills add https://github.com/lornshrimp/Lorn.NovelWriteSkills --skill 通用-输出WebNovel版
> 题材路由:若 .github\题材专用Skills\ 目录存在对应的 <题材>-输出WebNovel版 Skill,则:
> - 将题材特性骨架路由到 <题材>-输出WebNovel版,该 Skill 位于 .github\题材专用Skills\ 目录。
> - 命中本技能时,必须优先强制加载当前 Skill 与 <题材>-输出WebNovel版。
这是平台共性本体,负责承接“WebNovel 版输出”的跨题材共性规则。
<!-- ===== Layer 1: 永久缓存 ===== -->
<!-- ===== Layer 3: 场景缓存 ===== -->
题材名-输出WebNovel版 提供稳定的通用平台骨架。以下为本平台通用默认字数范围,适用于未在项目 Agents.md 中指定字数覆盖值的情况。若项目 Agents.md 已指定该平台的字数要求,则以 Agents.md 为准。
以下所列 references 文件必须通过 read_file 工具逐文件读取,不得因"已有相关知识"、"之前执行时已读过"、"该文件只是参考"为理由跳过任何一条。 每条 references 按其标注的必读等级强制执行:
reference_missing_{refName},不得静默跳过。references/平台共性执行细则.mdreferences/分节级补救映射与详细规则回填.md题材名-输出WebNovel版,必须先由题材包装层锁定:题材边界、题材禁行项、题材专项补丁、题材 refs 调度与题材输出口径。references/跨题材共性与迁移来源.mdreferences/平台研究补充_WebNovel都市悬疑.md这些文件仅用于追溯迁移来源、核对历史承接关系或处理遗留映射缺口;默认执行时,不把它们当作当前跨题材平台规则主承载。
本 Skill 的结构遵循前缀缓存优化原则,调用时:
人物传记、故事设定、写作研究模板等 references 通过 ## 继续读取的 references 声明强制加载,其固定部分随本 Skill 一起进入缓存前缀。
<!-- ===== Layer 2: 项目级缓存 ===== -->
若当前服务的项目根目录存在 Agents.md,执行WebNovel版输出前必须:
Agents.mdAgents.md 中注册了三类模板,按以下优先级检索:WebNovel 的同类型模板默认 的同类型模板GoodNovel、My Fiction),本轮不加载Agents.md,或其中未注册WebNovel专属模板——回退通用默认模式,不影响正常输出题材名-输出WebNovel版 Skill,确认题材入口与路由关系。references/平台共性执行细则.md 与 references/分节级补救映射与详细规则回填.md,执行 WebNovel 的开头抓力、中段推进、跨文化可读性与章末强钩子强化。platformPovContract 一致,不得出现未授权人称漂移。通用-多平台输出编排 调度,必须继承该流程已锁定的 platformPovContract,不得在本 Skill 内重新决定使用第一人称还是第三人称。platformPovContract;默认优先级为:用户明确指定 > 当前平台已完成前序章节 > 源稿既有 POV 链路 > 本批次首个已通过章节。switchPlan 执行,不得临场换壳。scripts/pov_validate.py 或 scripts/run_pov_gate.ps1 以 lang=en 或 auto 复核正文区块,第三人称链路检查对话外第一 / 第二人称,第一人称链路检查对话外第一人称锚点。> 强制前置步骤:必须首先读取工作区根目录 Agents.md 的 ## 平台POV基线表 节,查找本平台的当前锁定人称。若基线表中无本平台条目,必须先在该表中创建条目并锁定人称(参考下方"适用场景分析"),再继续执行。
>
> 人称是全书级契约:基线表锁定值即为本平台全书的唯一人称,不得逐章切换,不得章内混用(对话引用除外)。极特殊情况下某章须切换主视角人物时,该章开头必须明确声明当前视角人物(如"POV: [Character Name]"),且整章只保持该角色的叙事一致性。
若本次执行未获得上游明确的 platformPovContract 锁定,按以下指南为本平台适配稿确定人称(最终以 Agents.md 的 ## 平台POV基线表 节锁定值为准):
平台底层逻辑:WebNovel 是全球读者量最大的英文网文平台,读者跨越数十种文化背景。跨文化可读性是一切的前提。研究建议多线叙事,每 2-3 章可切换视角。
为什么 WebNovel 偏第三人称?
什么时候 WebNovel 可以用第一人称?
每章平台稿落盘时,必须在文件末尾(## 作者有话说、## 章节后记 之后)追加"章节题图与配图提示词"区块,为本章提供可直接投喂 AI 生图模型的提示词。本节只输出提示词文本,不输出图片本身。
文件末尾按以下顺序组织:
Insert at the end of paragraph N (starts with: "...")——先写段落序号,再用该段开头 8–15 个英文单词二次定位,确保无歧义。[illustration]、HTML 注释等锚点或标记;平台稿正文保持纯文本。改写输出完成后,必须立即执行本节自检;根据发现的问题就地修订,确认通过后方可落盘。不得以任何理由跳过本步骤。
五项自检:
## 作者有话说 应参考本 Skill 的"平台默认字数范围"(或项目 Agents.md 覆盖值)。正文未达推荐下限前,建议先回炉补足字数。严格禁止为凑字数进行模板化补字或机械扩写;若检测到模板句污染、解释腔堆砌或无意义重复,则判定字数虽足但自检失败,必须重写。platformPovContract 一致;漂移则回炉修正。结论格式(必须输出):
[自检通过] 五项均达标,可落盘。[自检修订完成] 已修订:<问题描述>,现五项均达标,可落盘。[自检未通过] 命中:<问题描述>,需继续处理。命中“未通过”后必须修订并重新输出自检结论,循环直至输出“通过”或“修订完成”方可落盘。
x.y.z 形式的章节编号及其紧跟空格,再仅对剩余标题正文计数。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;不得在本 Skill 内擅自把前序稳定链路改成新的 POV 链路。pov_drift_detected / pov_switch_without_approval 判定失败并整稿回炉。题材名-输出WebNovel版 Skill。都市悬疑 口径直接当成跨题材默认规则继续扩散。WebNovel/ 下。WebNovel/第X部/第Y卷/;若作品无分部,则位于 WebNovel/第X卷/。.md 文件形式落盘:若对应章节目录不存在,执行前必须先创建完整目录路径,再将改写后的章节内容写入该目录下的 .md 文件,不得只输出聊天稿而不写入文件。scripts/count-chapter.ps1,不得用 Len、NoWhitespaceLen 或编辑器字符数代替。字数参数按以下优先级确定:① 项目 Agents.md 中该平台指定 → ② 本 Skill 的"平台默认字数范围"。正文门禁用 scripts/count-chapter.ps1 -Path "FILE" 校验(英文稿重点关注 Len 字段作为总字符参考,BodyCJK 用于零中文排查);此外用 scripts/platform_validate.ps1 以对应字数参数校验整稿;若只单独核 ## 作者有话说,用 scripts/count-afterword-words.ps1(参数取对应作者有话说范围);除 ## 作者有话说 标记行外,还必须用 scripts/check_no_cjk_except_marker.ps1 校验零中文 / CJK。Agents.md 覆盖值为准。输出WebNovel版.prompt.md 中尚未完成映射的内容。题材名-输出WebNovel版 承接。题材名-输出WebNovel版;不应直接把本 Skill 与题材 refs 并列成双入口。Take lornshrimp/通用-输出webnovel版 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.