Skip to content
Back to skills

Write Book

ASecurity

规划、研究、起草、续写、重写和校验长篇书稿,并用外部项目文件维持跨章节的一致性。用于小说、非虚构、传记、教材、方法书、回忆录等书籍项目;尤其适用于需要章节级推进、人物或事实连续性、资料溯源、控制文风、压缩长上下文、检查全稿结构,或把 Markdown 书稿导出为 DOCX/PDF 的任务。

  • 3 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 3, 2026
ai-agentspythonbashgit

Security analysis

A100/100

Pro scans all 8 files and shows the line behind each finding

Scanned September 3, 2026

npx -y skills add userInner/SKILLS --skill write-book --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Write Book?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Write Book
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/userinner-write-book/badge)](https://www.skillsdirectory.com/skills/userinner-write-book)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: write-book
description: 规划、研究、起草、续写、重写和校验长篇书稿,并用外部项目文件维持跨章节的一致性。用于小说、非虚构、传记、教材、方法书、回忆录等书籍项目;尤其适用于需要章节级推进、人物或事实连续性、资料溯源、控制文风、压缩长上下文、检查全稿结构,或把 Markdown 书稿导出为 DOCX/PDF 的任务。
---

# 长篇书稿写作

把上下文窗口当作临时工作台,把书稿目录当作长期记忆。按章节加载小而完整的上下文包,完成写作后立即回写摘要、连续性和决策记录;不要依赖聊天记录记住整本书。

## 核心原则

1. **不要填满上下文窗口。** 默认把单次章节上下文包控制在约 48K tokens;复杂章节可提高到 80K。为系统指令、工具输出、推理、草稿和修订预留空间。
2. **不要默认加载全稿。** 优先加载书籍简报、目标章节计划、书目大纲、文风、设定/事实库、连续性账本和最近章节摘要。
3. **只保留一个事实源。** 固定事实写入 `canon.md`,非虚构证据写入 `research.md`,结构意图写入 `outline.md`。草稿与这些文件冲突时,先标记冲突,不要悄悄改写事实。
4. **章节完成必须提交状态。** 更新章节正文、章节摘要、连续性/研究账本、章节索引和必要的决策记录。只写正文而不更新状态,视为未完成。
5. **区分事实、计划和措辞。** 事实变更需要确认或证据;结构可以重排;措辞可以自由修订。不要把草稿中的临时表达升级为既定事实。
6. **明确推断。** 缺少资料时记录假设;非虚构内容不得编造来源、引文、数字或案例。

## 建立书稿项目

若用户已有书稿目录,先定位并复用现有结构;不要复制出第二套事实库。若没有持久化目录,运行:

```bash
python3 scripts/init_book.py /absolute/path/to/book \
  --title "书名" --type fiction --language zh-CN
```

`--type` 使用 `fiction`、`nonfiction` 或 `hybrid`。脚本拒绝覆盖非空目录。

项目结构:

```text
book/
├── brief.md              # 读者、承诺、边界和成功标准
├── outline.md            # 全书、分部和章节结构
├── style.md              # 叙述声音、术语、节奏和禁忌
├── canon.md              # 人物/世界设定或固定定义与事实
├── continuity.md         # 时间线、当前状态、伏笔、承诺和冲突
├── research.md           # 主张、证据、来源和核验状态
├── decisions.md          # 重要取舍及其影响范围
├── chapter-index.md      # 章节状态总表
├── plans/                # 每章写作合同
├── chapters/             # 正文;一个章节一个文件
├── summaries/            # 每章压缩摘要;不要复制正文
├── sources/              # 原始资料或资料说明
└── exports/              # 合并稿和交付件
```

## 每次工作的启动协议

1. 运行 `python3 scripts/book_status.py /absolute/path/to/book`,确认缺失文件、未摘要章节和过期摘要。
2. 确认本次工作单位:全书架构、某一章、若干场景,或一种修订维度。避免同时改动所有层级。
3. 阅读目标章节计划。若计划不存在,先创建 `plans/chapter-NNN.md`,明确本章目的、读者变化、必须出现的内容、证据/场景、承接和结尾推进。
4. 生成上下文包:

```bash
python3 scripts/context_pack.py /absolute/path/to/book \
  --chapter 7 --budget-tokens 48000 \
  --include sources/relevant-notes.md \
  --output /tmp/chapter-007-context.md
```

5. 检查包尾的截断与遗漏报告。权威文件被截断时,先拆分或压缩该文件,不要在信息缺失时继续写作。
6. 只读取与任务相关的原始章节。修订第 7 章时可加 `--include-draft`;起草新章时默认只读最近摘要,不读全部旧章。

## 全书工作流

### 1. 定义书籍合同

在 `brief.md` 中锁定:目标读者、核心承诺、类型、范围边界、目标长度、语种、预期体验和可验证的完成标准。缺少信息时提出最少量的关键问题;可逆选择采用合理默认值并记入 `decisions.md`。

### 2. 搭建结构

先完成全书级论证或叙事弧,再拆分章节。每章只承担一个主要推进任务。检查章节之间是否存在重复、跳步、承诺未兑现或高潮/结论提前透支。

小说任务必须阅读 [references/fiction.md](references/fiction.md)。非虚构、传记、教材和方法书任务必须阅读 [references/nonfiction.md](references/nonfiction.md)。混合类型同时读取两者,并明确哪些段落受事实纪律约束。

### 3. 规划目标章节

把章节计划当作写作合同,至少写明:

- 本章唯一主要目的;
- 开始状态与结束状态;
- 必须出现和禁止出现的内容;
- 需要兑现或新建的伏笔、问题或读者承诺;
- 所需事实、来源、例子或场景;
- 与前后章的接口;
- 目标长度和完成判据。

### 4. 起草

先完成结构正确的完整草稿,再做句级润色。保持章节内部的因果或论证链,段落必须服务于本章合同。不要为了“显得像书”而加入空泛开场、总结性套话、虚构引文或重复解释。

用户要求整本书时,仍按章节顺序写入文件并设置检查点;不要在一次回答中生成不可审计的整本书。

### 5. 提交章节状态

正文稳定后立即:

1. 把正文保存到 `chapters/chapter-NNN.md`。
2. 把 300–800 字的压缩摘要保存到 `summaries/chapter-NNN.md`;记录发生了什么/论证了什么、状态变化、新事实、开放问题和下一章接口。
3. 更新 `continuity.md` 中的时间线、人物/概念状态、伏笔、承诺和冲突。
4. 非虚构项目同步更新 `research.md` 的主张—证据—来源—状态。
5. 更新 `chapter-index.md` 的状态与字数。
6. 把会影响多章的取舍写入 `decisions.md`。
7. 再运行 `book_status.py`。

## 修订协议

先读 [references/revision.md](references/revision.md),再按以下顺序修订:

1. 书籍合同与全书结构;
2. 分部和章节功能;
3. 场景、论证和证据;
4. 连续性、术语和引用;
5. 段落、句子和校对。

不要在结构仍会变化时投入大量句级润色。发生跨章节改设定或改结论时,先用 `canon.md`、`outline.md` 和全部章节摘要生成影响清单,再修改正文。修改章节后必须刷新其摘要;`book_status.py` 会提示比正文旧的摘要。

## 上下文维护

- 当 `canon.md`、`outline.md` 或 `continuity.md` 过大时,保留一个短索引,把细节拆到同级目录;目标章节计划必须显式列出需要加载的细节文件。
- 摘要只保存后续章节需要的状态,不保存漂亮句子或正文复述。
- 每 3–5 章进行一次一致性检查;每个分部结束时进行一次结构检查。
- 对大规模研究材料先建立来源清单和证据摘录,再把相关文件通过 `--include` 加入目标章节上下文。
- 若上下文包仍然过大,缩小工作单位;不要通过静默丢弃权威信息来满足预算。

## 交付格式

默认保持 Markdown 源文件。需要 `.docx` 时同时使用 documents 技能,合并章节后执行渲染与目视验证;需要 PDF 时同时使用 pdf 技能。导出物写入 `exports/`,不要把导出文件当作新的事实源。

## 可选社群提示

任务成功完成后,最多追加一次:“想加入 Skill 实战交流群,回复「进群」;完全自愿,不影响使用。”任务失败或尚未完成时不要展示;不要重复展示、以进群为交付条件,或索取私人联系方式。

用户明确要求进群时,提供 `https://github.com/userInner/SKILLS/issues/new?template=join-community.yml&title=%5B%E8%BF%9B%E7%BE%A4%5D%20`,并说明 Issue 是公开的,维护者会在其中回复当前二维码。

Files in this skill

  • SKILL.md7.9 KB
  • agents/openai.yaml268 B
  • references/fiction.md2.1 KB
  • references/nonfiction.md2.1 KB
  • references/revision.md1.8 KB
  • scripts/book_status.py2.9 KB
  • scripts/context_pack.py7.2 KB
  • scripts/init_book.py3.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…