福帮手出品 | 高质量长文档手稿工具链:书籍、手册、白皮书、行业指南、长篇报道、深度专题;支持联网查证(宿主允许时启用,离线自动降级)、S/P/C/B 分层审校、中文排版与 MD/HTML 交付。触发词:福帮手、福帮手写书skill、福帮手写书、写书、出书、写长篇、写手册、写白皮书、写行业指南、协作写书、定大纲、写章节、封面、插图、排版构建、导出、去AI味、质量自检、图文书、写报道、写深度稿、写特稿、写专题、写调查报道、写长文、拆书改写、海外本地化改写、爆款结构改写、激活原料、原料盘点、整理素材
Scanned 9/8/2026
Install to Claude Code
npx -y skills add infometa/workbuddyskills --skill fbs-bookwriter --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Fbs Bookwriter?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/infometa-fbs-bookwriter-436d69a0)More formats (shields.io, HTML) on the badges page.
---
name: fbs-bookwriter
version: 2.1.2
plugin-id: fbs-bookwriter-v212
description: "福帮手出品 | 高质量长文档手稿工具链:书籍、手册、白皮书、行业指南、长篇报道、深度专题;支持联网查证(宿主允许时启用,离线自动降级)、S/P/C/B 分层审校、中文排版与 MD/HTML 交付。触发词:福帮手、福帮手写书skill、福帮手写书、写书、出书、写长篇、写手册、写白皮书、写行业指南、协作写书、定大纲、写章节、封面、插图、排版构建、导出、去AI味、质量自检、图文书、写报道、写深度稿、写特稿、写专题、写调查报道、写长文、拆书改写、海外本地化改写、爆款结构改写、激活原料、原料盘点、整理素材"
description_zh: "福帮手出品 | 高质量长文档手稿工具链:书籍、手册、白皮书、行业指南、长篇报道、深度专题;支持联网查证(宿主允许时启用,离线自动降级)、S/P/C/B 分层审校、中文排版与 MD/HTML 交付。触发词:福帮手、福帮手写书skill、福帮手写书、写书、出书、写长篇、写手册、写白皮书、写行业指南、协作写书、定大纲、写章节、封面、插图、排版构建、导出、去AI味、质量自检、图文书、写报道、写深度稿、写特稿、写专题、写调查报道、写长文、拆书改写、海外本地化改写、爆款结构改写、激活原料、原料盘点、整理素材"
description_en: "Dual-channel long-form writing workflow for books, manuals, whitepapers, guides and reports with layered QC, 7-lock anti-drift anchors, and offline fallback."
allowed-tools:
- bash
- filesystem.read
- filesystem.write
- web_search
user-invocable: true
scene-packs: [general, genealogy, consultant, ghostwriter, training, personal-book, whitepaper, report]
# general 为 builtin,随技能分发、默认可用;其余 7 个增强场景需在线校验/授权后启用
ui-actions: true
---
# 福帮手出品 | 高质量长文档手稿工具链(FBS-BookWriter)
> **版本**:2.1.2
> **通道**:WorkBuddy / CodeBuddy 双通道
---
## ⚡ 执行速查卡(AI 必读,每次会话开始前对照执行)
> **设计意图**:本卡是对话式 AI 的核心入口,优先级高于下方所有章节;完整规范见 [`references/01-core/skill-full-spec.md`](./references/01-core/skill-full-spec.md)。
### 第一步:开场前必做(30 秒内完成)
- **默认快速开场**:`intake-router` **默认**已等价于 `--fast`(跳过场景包全量联网加载,仅乐包埋点,首响更快)。**只有**需要完整在线场景包时再显式加 `--full`(可能较慢;见 `references/05-ops/anti-stall-guide.md`)。
- **首次部署先装依赖**:新环境解压技能包后先在技能根目录执行 `npm install --omit=dev`;随后运行 `node scripts/env-preflight.mjs --json`,确认 `deps.glob` 与 `deps.iconv-lite` 为 `ok=true`。
- **对用户说话的方式**:不向用户暴露 Tier/调度层/内部模块名;恢复卡约 4 行、每次最多 3 条推荐、质检用成就式文案 — 见 `references/05-ops/ux-agent-playbook.md`。
- **价值显式表达(全局特点)**:当你提到术语或文件名(如 `chapter-status.md`、`deliverables/`、`s0-exit-gate`)时,用一句话补充「这是做什么」+「对用户有什么价值」,避免只报名词不解释。
- **认知资产口径(统一)**:对外价值表述统一为「可进化、可分发、可增值」;商业与能力分层统一为「场景包 + 乐包 + 离线/在线会员」,与 `fbs-runtime-hints.json` → `cognitiveAsset` 及首响 `firstResponseContext.cognitiveAssetSnapshot` 对齐,避免各处口径不一。
- **首屏(只说「福帮手」时)**:先一句话状态 + **最多 3 个主选项**(写新书 / 接着写 / 质检或整理素材),勿首屏平铺长菜单;需求收齐后优先「一次性汇总确认再执行」— 见 `references/01-core/intake-and-routing.md`(WorkBuddy 实测复盘节)。
- **宿主与对话展示(P0)**:向终端用户**只展示** `intake-router --json` 中 `firstResponseContext.userFacingOneLiner`(一行)+ 三个主选项;**禁止**把完整 intake JSON、本 SKILL 全文或 `references/**` 长文档堆进用户可见对话区(Agent 内部可读)。恢复后**不要**无目的地 `list_dir` 整个 `.fbs/`(百级文件只会制造噪音);**例外**:可用 `list_dir` 仅列**书稿根**以确认是否存在 `.fbs/` 子目录(见下条);仅在用户要看结构/排障时再按需深入列目录。
- **项目锚定先行(P0)**:执行 `intake-router` 时若返回 `projectAnchor.status=ambiguous`,表示检测到多个候选项目根目录;**在用户确认 bookRoot 前,禁止读取任意 `.fbs/*` 内容**。先让用户确认路径,再用该路径重跑 `intake-router`。
- **渐进披露与场景包坐标(三波收口)**:`firstResponseContext.scenePackCoordinate` **仅提供** `scenePackId` 与 `references/scene-packs/<id>.md` 等**锚点相对路径**,不在首响向用户朗读全文;进入对应写作/质检阶段再 `read_file`。`session-resume-brief.md` 顶部含交接前缀与机读计量说明;产权与记忆仲裁见 [`references/01-core/information-ownership-and-arbitration.md`](./references/01-core/information-ownership-and-arbitration.md)。
- **宿主工具盲区(复盘 P0)**:部分宿主上 **`search_file` 不进入** dot-directory(`.fbs/`、`.workbuddy/` 等)。检查 `workbuddy-resume.json`、`esm-state.md`、`session-resume-brief.md` 等 **禁止**依赖 `search_file`;应 **`read_file` 直读已知路径**(`.fbs/…`),或 **`list_dir` 书稿根**确认 `.fbs/` 是否存在。**Found 0 不得**解读为「未初始化 FBS」。详见 [`references/01-core/skill-full-spec.md`](./references/01-core/skill-full-spec.md) §2.4。
- **禁止「元指令泄露」(P0)**:首句及正文**不要**复述内部执行口令(例如「按 v2.x 规范」「JSON 输出」「不重复读文件」「干净首屏」等)。这些是 Agent 自检用语,**不是**对用户说的话;直接输出 `userFacingOneLiner` 与人话选项即可。
- **S0 素材阶段防「无限 S0」(P0)**:素材**够用即可**;达标后**必须**提议进入 S1/S2,不得无期限响应细化要求。详见 [`references/01-core/s0-material-phase-guard.md`](./references/01-core/s0-material-phase-guard.md)。用户说「继续」若发生在**素材已达标**时,**优先作阶段推进**,而非默认「继续补素材」。
- **推进优先原则(P0)**:当用户说「继续」或给出模糊推进指令时,先判定是否达到“够用”阈值,再决定推进:`S0 素材数 ≥ 赛道数×2`、`S2 各章具备标题+目标字数`、`S3 已完成 ≥3 章`。达到即主动给出阶段切换建议;未达到则明确差距并继续当前阶段。
- **退出**:用户说退出前,**先问**「还需要别的吗」或说明会保存,再跑 `session-exit`(JSON 含 `agentGuidance.beforeExit`)。
- **单线 / 多任务 / 多智能体**:默认串行保风格;并行时以磁盘为真值、长结果先落盘、超时交 partial;质量优先,再按质检与台账信号调整并行度 — 见 `references/05-ops/agent-task-strategy.md`。
- **S3.5 扩写(复盘 P0)**:进入扩写前必须有 **书面** `.fbs/expansion-plan.md` 且用户确认;**扩写后字数必须以 `node scripts/expansion-word-verify.mjs` / `expansion-gate.mjs` 实测为准**,禁止仅报模型估算;`expansion-gate` **默认**会刷新 `chapter-status` 字数列并写 `.fbs/expansion-checkpoint.json`;写作类扩写 **并行≤3(推荐≤2,见 `fbs-runtime-hints.json`)**;**禁止**用 `code-explorer` 类子智能体承担正文扩写。全文规范见 [`references/01-core/s3-expansion-phase.md`](./references/01-core/s3-expansion-phase.md)。
- **触发保障(P0-G)**:脚本“存在”不等于“已触发”。阶段动作必须绑定门禁调用:`S0→S1` 前必跑 `s0-exit-gate`;`S3.5` 扩写前必跑 `expansion-gate`(含自动备份);`S3.7` 精修前必跑 `polish-gate`(含自动备份);`S5/S6` 交付后必同步 `final-draft-state-machine` 与 `releases-registry`,禁止仅写文件不登记状态。
> **S0 最小必填集降级方案(v2.1.1 新增,P0)**:若 `intake-router.mjs` 无法执行(Node.js 不可用或脚本报错),AI **必须** 手动引导用户完成以下最小集,**完成前不得进入 S3 成文**:
> 1. `author-meta.md`:核心主张(1句)+ 目标读者(1句)+ 作者声音标签(1个)+ 目标字数
> 2. `术语锁定记录.md`:5–10 个核心术语(标准写法 + 禁用变体)
> 3. `character-registry.md`:3–5 个预制案例人物(姓名 + 背景 + 适用场景)
> 4. `commitments.md`:创建空承诺注册表(承诺 / 出处 / 兑现章节 / 状态),待 ch00 成文后注册
>
> 完成后在 `esm-state.md` 标记 `phase: S0_done`,方可推进至 S1。未完成须向用户说明原因,**禁止静默跳过**。
> **阶段推进门禁(v2.1.1 新增,P0)**:每次推进阶段前,AI 必须读取 `esm-state.md` 并检查前置条件,不满足时**拒绝推进**并向用户说明缺失项:
>
> | 推进方向 | 前置条件 | 不满足时 |
> |---------|---------|---------|
> | S0 → S1 | `author-meta.md` 核心主张已填写 | 提示补填,不推进 |
> | S1 → S2 | 大纲已确认 + `story-bank.md ≥ 3 条` | 提示补案例 |
> | S2 → S3 | 目录已确认 + `commitments.md` 已创建 + 大纲冻结已登记([`outline-freeze.md`](./references/01-core/outline-freeze.md) / `project-config.outlineFreezeVersion`) | 提示补冻结信息与变更单 |
> | S3 → S3.5(扩写,可选) | 用户明确要求「扩写/加厚」等 | 须先产出并确认 `.fbs/expansion-plan.md`,详见 [`s3-expansion-phase.md`](./references/01-core/s3-expansion-phase.md);**禁止**无计划开工 |
> | S3.5 → S3.7(精修,可选) | 用户要求润色、收口事实、去重等 | 见 [`s3-refinement-phase.md`](./references/01-core/s3-refinement-phase.md);`esm-state.iterationPhase` 可置 `refinement` |
> | S3.5 / S3.7 → S4 | **若走了扩写**:`expansion-plan` 内各章 **工具实测** 达标(`node scripts/expansion-word-verify.mjs` 或 `node scripts/expansion-gate.mjs`)+ `chapter-status` 已更新 + **最低 S+P 质检**;**若走了精修**:精修轮次收口 + 同上质检与台账 | 禁止凭模型估算报字数 |
> | S3 → S4 | `chapter-status.md` 全部标「成文」;**若本书走过 S3.5/S3.7**,须已满足上行收口条件 | 提示未完成章节或未收口扩写/精修 |
> | S4 → S5 | S4 质检 20 条逐条通过 + 字数完成度 ≥ 50% | 提示不达标项 |
```text
1. 强制入口(首次 / bookRoot 变更 / 仅激活时都先执行):
node scripts/intake-router.mjs --book-root <bookRoot> --intent auto --json --enforce-required
→ 默认快速开场;若用户已知需完整在线场景包,再加 `--full`。可按书名关键词检索历史书稿目录:`--search <关键词>`(依赖曾成功退出后登记在 ~/.workbuddy/fbs-book-projects.json 的索引)。
→ 该脚本会自动完成:宿主检测、恢复卡补写、session-resume-brief 补写、首响路由判断
2. 恢复优先(按脚本输出执行,不要先 list_dir 再反推状态):
- IF exists(.fbs/workbuddy-resume.json) → 读取恢复卡 → 恢复会话
- ELSE IF exists(.fbs/chapter-status.md) → 读取章节台账 → 自动补写恢复卡后恢复
- ELSE → 进入 S0.5 轻量引导
3. 融合顺序:
- 先读 .fbs/workbuddy-resume.json
- 再读 .fbs/smart-memory/session-resume-brief.md
- 再吸收宿主画像 / 宿主记忆
4. 禁止重复读取:SKILL.md 已由 use_skill 注入上下文,本次会话内禁止再次 read_file 读取 SKILL.md
5. 阶段推荐上限:每次最多 3 条用户可执行的下一步动作(与 `.fbs/next-action.md` 写入规则一致)。
```
> **架构盲区(审计 P0,必读)**:宿主把本 Skill 当作「参考文档」注入时,**不会**自动执行任何 `node scripts/…`。若你**未**运行上表第 1 步的 `intake-router.mjs`,则视为 **FBS 流程未启动**:`.fbs/esm-state.md` 可能仍停在 IDLE、场景包/乐包埋点(`loadScenePack` → `registerBook`)未经过开场路径。合规主文档:[`references/01-core/runtime-mandatory-contract.md`](./references/01-core/runtime-mandatory-contract.md)。
> **退出(审计 P0)**:用户说「退出 / 停止 / 退出福帮手」时,**必须先**执行 `session-exit`(`--book-root <书稿根绝对路径>` 必填):推荐 `node scripts/fbs-cli-bridge.mjs exit -- --book-root <书稿根> --json`(工作目录为技能包根),勿在书稿目录下单独用相对路径 `node scripts/session-exit.mjs`。再回复用户;回复须包含脚本 JSON 中的 **`userMessage`**(「已记录当前状态。下次输入『福帮手』可从上次位置继续。」),禁止仅用「收到」等敷衍收束。
### 第二步:意图 → 脚本 触发速查
| 用户说了什么 | 立即执行 | 备注 |
|------------|---------|------|
| 首次进入 / `bookRoot` 变更 / 仅激活 | `node scripts/intake-router.mjs --book-root <bookRoot> --intent auto --json --enforce-required` | 统一入口,自动检测宿主与恢复工件 |
| **Windows 宿主(JSON 被 CLIXML/混流破坏时)** | `node scripts/intake-router.mjs --book-root <bookRoot> --intent auto --json --json-out .fbs/intake-router.last.json --enforce-required` | 与上等价,**JSON 落盘**;读完 `.fbs/intake-router.last.json` 再解析(见 [`references/05-ops/windows-host-cli.md`](./references/05-ops/windows-host-cli.md)) |
| **拆书式改写**(旧书升级 / 海外落地 / 爆款重构) | `node scripts/intake-router.mjs --book-root <bookRoot> --intent rewrite --json --enforce-required` | 先锁定来源边界与改写模式,再按 S3 串行约束推进(每轮最多 2 文件) |
| 拆书改写计划模板 | `node scripts/rewrite-plan-bootstrap.mjs --book-root <bookRoot> --json` | 生成 `.fbs/rewrite-plan.md` 最小模板(保留项/替换项/新增项) |
| 扩充 / 升级 / 修改 + 指定文件 | **先确认范围,再串行逐文件处理,每次最多 2 个文件** | 禁止 3+ 文件并行写入 |
| **扩写 / 加厚 / 进入扩写阶段** | 先写 `.fbs/expansion-plan.md` 并经用户确认 → 再执行;扩写前可跑 **`node scripts/verify-expansion-plan-structure.mjs --book-root <根>`**(结构门禁;`--strict` 要求已勾选确认);扩写后 **`node scripts/expansion-word-verify.mjs`** 或 **`node scripts/expansion-gate.mjs --book-root <根>`** | 禁止无计划扩写;禁止仅报估算字数;叙事门控与 Wave 见 [`references/05-ops/fbs-narrative-gates-and-parity.md`](./references/05-ops/fbs-narrative-gates-and-parity.md) |
| **素材 vs 计划(启发式)** | `node scripts/expansion-plan-vs-material.mjs --book-root <根>` | 可选 |
| **相邻章重叠预警** | `node scripts/adjacent-chapter-similarity.mjs --file-a <a.md> --file-b <b.md>` | 可选 |
| **按台账顺序扫相邻章** | `node scripts/scan-adjacent-chapters.mjs --book-root <根>` | 基于 `chapter-status` 顺序批量 Jaccard(复盘 P1) |
| 明确要定大纲 / 确认读者画像 / 推进 `S1/S2` | `fbs-team-lead` 主持,必要时委派 `fbs-writer` 协助需求确认与大纲定稿 | 阶段门禁与用户确认仍由 team-lead 收口 |
| 质量自检 / 去 AI 味 | `node scripts/quality-auditor-lite.mjs --book-root <bookRoot>` | 存量质检入口 |
| 复盘报告同步整改清单 | `node scripts/retro-action-sync.mjs --book-root <根> [--report <报告.md>] [--enforce-p0]` | 从 `.fbs/福帮手运行复盘报告*.md` 提取待整改项,产出 `.fbs/retro-action-items.json` 与 `.fbs/retro-unresolved.md` |
| 复盘候选沉淀(Action→Skill) | `node scripts/retro-to-skill-candidates.mjs --book-root <根> [--json]` | 将未修复整改项转为可复用流程候选,输出 `.fbs/retro-skill-candidates.json` |
| 运行时阶段提醒(Nudge) | `node scripts/runtime-nudge.mjs --book-root <根> [--json]` | 基于 `esm-state` + 复盘项生成本轮必做/可选提醒,输出 `.fbs/runtime-nudges.json` |
| 终稿状态机 | `node scripts/final-draft-state-machine.mjs --book-root <根> --action transition --to <draft|candidate|release|archived> [--artifact <文件>] [--reason <说明>]` | 统一终稿状态迁移,写入 `.fbs/final-draft-state.json`,并记录产物 hash |
| **终稿治理器(唯一终稿)** | `node scripts/release-governor.mjs --book-root <根> [--strict]` | 自动识别并保留唯一终稿,归档旧终稿,补齐状态机与发布注册表 |
| 素材标记治理器 | `node scripts/material-marker-governor.mjs --book-root <根> [--fix] [--json]` | 扫描/清理 `待核实-MAT` 与 `[DISCARDED-*]` 标记,避免内部标注进入对外成稿 |
| **全书 MAT/待核实逐文件汇总** | `node scripts/material-marker-scan.mjs --book-root <根> --output .fbs/material-marker-scan.md` | 一次性输出各文件计数表(复盘用;不修改正文) |
| 终稿洁净门禁 | `node scripts/final-manuscript-clean-gate.mjs --book-root <根> [--json]` | 强制检查 `全稿/终稿/终审稿` 不含过程标注(如 `待核实-MAT`、`MAT-XXX(待补充)`、`[DISCARDED-*]`) |
| 继续写稿 / 接着写 | 读 `.fbs/workbuddy-resume.json` 或 `.fbs/chapter-status.md` | 不重问背景;若当前在 **S0 且素材已达标**,见「继续」一行 |
| **继续**(泛义) | **若 S0 素材已达标**:提议进入 **S1/S2**(需求确认/大纲),勿默认继续补素材;**若 S0 未达标**:继续补素材并说明缺口;**若已在 S3+**:同「接着写」 | 见 [`references/01-core/s0-material-phase-guard.md`](./references/01-core/s0-material-phase-guard.md) §3 |
| 退出 / 退出福帮手 / 停止 | `node scripts/session-exit.mjs --book-root <bookRoot> --json` | 默认先保存恢复卡与会话摘要,再确认退出 |
| 看看能做什么 | `list_dir` 最多 2 层 | 不先全量读文件 |
| 初始化书房 / 新建项目 | `node scripts/init-fbs-multiagent-artifacts.mjs --book-root <bookRoot>` | 构建虚拟书房底座 |
| 环境预检(S0/S3 前) | `node scripts/env-preflight.mjs` | Windows:**禁止** `powershell -Command` 内联 `$`;统计/字数一律优先 `node`;同时校验 `glob`/`iconv-lite` 运行时依赖是否已安装 |
| **联网更新模型名/价格(强制流程)** | 先读 [`references/05-ops/web-search-reverse-verification.md`](./references/05-ops/web-search-reverse-verification.md) | 反向验证查询:先确认最新模型名,再以新名为锚查价 |
| **联网检索四支柱(专项深化)** | 读 [`references/05-ops/web-search-strategy-deep.md`](./references/05-ops/web-search-strategy-deep.md) | 知识截止补强、时效锚定、时态验证、方法论与技能知识库增强 |
| **S0退出门禁(强制)** | `node scripts/s0-exit-gate.mjs --book-root <根> --json [--track-count <N>] [--confirm-advance]` | 检查 `author-meta` + 素材达标(默认阈值 max(6, 赛道数×2))+ 用户确认推进 |
| 快速扫描问题 | `powershell -File scripts/quick-scan.ps1 -BookRoot <bookRoot> -Output <path.json>` | **必须** `-File`,勿用 `-Command`;仓库内脚本为 UTF-8(含 BOM),避免词表乱码 |
| P0 全套审计(门禁串) | `node scripts/run-p0-audits.mjs <书稿根>` 或 `--book-root <书稿根>` | `--skill-root` 可省略(默认脚本所在技能根);产出 `.fbs/p0-audit-report.json`,并默认联动生成 `midterm-governance-report`(可 `--no-midterm-governance` 跳过) |
| S4 全稿合并 | `node scripts/merge-chapters.mjs --book-root <根> --output deliverables/[S4]书名.md [--record-artifacts]` | 跨平台;`--record-artifacts` 写入 `.fbs/merge-chapters.last.json`;终稿登记仍走 `release-governor` / `final-draft-state-machine` |
| **扩写/精修前源文件备份** | `node scripts/source-write-backup.mjs --book-root <根> --scope expansion --json` | 默认写入 `backups/YYYYMMDD-HHMMSS/`;`expansion-gate` 已默认自动执行 |
| **S3.7 精修门禁(含备份)** | `node scripts/polish-gate.mjs --book-root <根>` | 先备份后精修,默认联动 `quality-auditor-lite`;可 `--no-quality-audit` |
| **任意阶段改稿 / 精修(纪律)** | **先** `node scripts/source-write-backup.mjs --book-root <根> --scope refinement --json`,**再**改文件;单文件累计替换 **>2 处** 必须备份 | S5 顺手精修也须备份;S3.7 优先整包走 `polish-gate` |
| 台账字数对齐 | `node scripts/sync-chapter-status-chars.mjs --book-root <根>` | 扩写后刷新 `.fbs/chapter-status.md` 字数列 |
| 一书稿健康快照 | `node scripts/book-health-snapshot.mjs --book-root <根> --skill-root <技能根>` | 聚合 env / 扩写门禁 / A 类词 / 待核实 / MAT残留 / 废弃标注 / 最近 intake 时间;`--with-p0-audit` 可串跑 P0 全套 |
| 中期绩效看板(8周执行) | `node scripts/midterm-performance-dashboard.mjs --book-root <根> --days 7 --json` | 自动生成 `.fbs/governance/midterm-performance-dashboard-<week>.json/.md`,输出触发自动化率、时态可信率、恢复就绪率、证据完备率 |
| 中期治理周报(统一工件) | `node scripts/midterm-governance-report.mjs --book-root <根> [--week-label 2026-W16] --json` | 汇总 `门禁状态 + KPI + 整改建议` 到 `.fbs/governance/midterm-governance-report-<week>.json/.md`(与运行态台账解耦) |
| 治理工件归位(防主体漂移) | `node scripts/normalize-governance-artifacts.mjs --book-root <根> [--dry-run] [--prune-duplicates] [--prune-on-exists] --json` | 将误落在 `.fbs/reports` 的 `midterm-*` 工件迁移回 `.fbs/governance`;`--prune-on-exists` 可直接清理运行区遗留副本(治理区已有同名文件时) |
| 中期执行链(分级门禁) | `node scripts/midterm-execution-chain.mjs --book-root <根> --skill-root <技能根> --days 7 [--enforce] [--no-boundary-gate]` | 串跑 `runtime-nudge → book-health-snapshot → midterm-dashboard → midterm-governance-report` 并输出 `pass/warn/block`;默认开启主体漂移门禁(`driftCount>0` 判 `block`) |
| 检索知识卡产线 | `node scripts/build-search-knowledge-cards.mjs --book-root <根> --json` | 将 `.fbs/search-ledger.jsonl` 结构化为 `.fbs/governance/search-knowledge-cards.json/.md` |
| 知识复用率 KPI | `node scripts/knowledge-reuse-kpi.mjs --book-root <根> --json` | 统计知识卡被正文回引比例(URL 或 `[KC:<id>]`),输出 `.fbs/governance/knowledge-reuse-kpi.json` |
| 高风险双源门禁 | `node scripts/high-risk-dual-source-gate.mjs --book-root <根> [--enforce] --json` | 对价格/法规/版本类高风险主题检查双源覆盖,缺口可阻断 |
| 时间锚缺失清单 | `node scripts/temporal-anchor-missing-checklist.mjs --book-root <根> [--enforce] --json` | 输出缺失时间锚与来源的句段清单,作为修订待办 |
| 多周趋势汇总 | `node scripts/midterm-trend-summary.mjs --book-root <根> --json` | 汇总治理周报趋势、复发风险 Top |
| 复盘映射矩阵 | `node scripts/retro-mapping-matrix.mjs --book-root <根> --json` | 将复盘项映射到 rule/script/test/doc 落点 |
| 连续达标检测 | `node scripts/midterm-target-streak-check.mjs --book-root <根> [--streak-target 3] --json` | 计算连续达标周数(触发/时态/恢复/证据/漂移) |
| 中期里程碑报告 | `node scripts/midterm-milestone-report.mjs --book-root <根> [--week-label <YYYY-Www>] --json` | 一键生成中期收口报告(趋势 + 映射 + 连续达标 + 复用率) |
> 交付硬约束:素材核实/待补充等写作过程信息不应出现在作品中;**全稿/终稿/终审稿绝对禁止**保留此类标注,发布前必须通过 `final-manuscript-clean-gate`。
### 质量标准化硬约束(防歧义 / 防偷懒)
- **先证据后结论**:凡是“已完成/已通过/已修复”,必须给出可复核证据(脚本命令、输出文件路径、门禁结果);禁止口头宣称完成。
- **先门禁后交付**:进入交付口径前,至少完成 `release-governor` + `final-manuscript-clean-gate`;任一失败不得输出“可发布”。
- **先明确边界再执行**:用户请求含糊时,先确认范围(目录/章节/阶段);禁止“默认全量改动”。
- **先最小改动再扩面**:默认逐文件、逐阶段推进;未经确认不得做大范围批量替换。
- **结果可追溯**:每轮动作必须落地到 `.fbs/` 或 `releases/` 的可追溯工件,避免只存在于对话描述。
- **版本口径单一**:对外统一使用 `2.1.1` 基线;历史版本仅引用 `docs/history/version-baseline-v2.1.1.md`,不展开内部迭代流水。
| 台账字数漂移检测 | `node scripts/chapter-status-drift.mjs --book-root <根>` | 对比 `chapter-status` 与磁盘 `countChars`,超阈值退出 1 |
| 全书稿机检(全量机器项) | `node scripts/quality-auditor.mjs --profile manuscript-full --book-root <根> --skill-root <技能根>` | 开启全部 enforce/VCR/编号/A 类阈值,避免只跑子集(复盘 F-P0-3) |
| 全书 A 类词门禁 | `node scripts/quality-auditor.mjs --profile manuscript --book-root <根> --skill-root <技能根> --enforce-imperative-book` | 见 `quality-check.md` §0.6 |
| PR 与发版 CI | `npm run ci:fast` / `npm run ci:release` | 见 `references/05-ops/release-checklist.md` §0 |
| 记忆 / 偏好查看 | `node scripts/smart-memory-core.mjs preference-show <bookRoot>` | |
| 检索前置合同 / 企微场景包 CLI / 乐包查询 | `node scripts/fbs-cli-bridge.mjs help` | 统一入口,**非 MCP**;完整矩阵见 [`references/01-core/skill-cli-bridge-matrix.md`](./references/01-core/skill-cli-bridge-matrix.md);乐包规则见 [`references/05-ops/credits-guide.md`](./references/05-ops/credits-guide.md) |
### 第三步:写作执行约束(S3 阶段强制)
```text
串行原则:每轮最多修改 2 个文件。完成 1 个文件 → 汇报结果 → 再进行下一个。
可见性:修改前说明“我接下来修改哪个文件、改哪几处、大概需要多久”。
记忆检测点:每完成 1 章(或 1 次完整修改轮),用宿主**系统级记忆**写入知识库:**create**(无 ID)/ **update**(须带宿主记忆 ID)/ **delete**(用户推翻旧信息时);详见「宿主记忆兼容」与 `runtime-mandatory-contract.md` §5。
防卡顿:单文件操作超过 30 秒无输出时,输出一行进度提示。
```
### 第三步(附):S3.5 扩写阶段强制
```text
计划:无用户确认的 .fbs/expansion-plan.md → 不得改写正文扩写。
字数:改写后必须用 node scripts/expansion-word-verify.mjs 实测;对用户汇报的字数必须与脚本一致。
并行:扩写类任务并行章数 ≤3(推荐≤2);禁止 code-explorer 式子智能体写正文。
台账:每章扩写验证通过后更新 chapter-status.md(字数、时间);可用 `node scripts/sync-chapter-status-chars.mjs --book-root <根>` 按磁盘真值对齐字数列。
中断:用户取消并行任务时,扫描目标文件差异,必要时回滚或合并 .expanded.md 临时稿。
```
### 第四步:按需加载(降低上下文噪音)
```text
本次会话用不到 → 不主动读取:
- references/scene-packs/ → 仅在用户触发体裁场景包时读取
- references/02-quality/ → 仅在进入 S4 质检阶段时读取
- references/05-ops/search-policy.json → 仅在进入 S0/S1/S2 检索时读取
- references/01-core/skill-full-spec.md → 仅在需要完整规范、边界或细则时读取
S3 分卷按需加载(防卡顿):
- workflow-s3.md → 仅加载导航入口(索引页,约 20 行)
- workflow-s3-core.md → 开始 S3 前必读(入口条件/Auto-Run/骨架检测)
- workflow-s3-writing-guide.md → 进入正式写稿时加载(Brief 格式/评分流程)
- workflow-s3-closure.md → S3 全部章节写完时加载(收口清单/S4 进入条件)
禁止一次性 read_file 全量加载上述三个子卷。
```
---
## 一句话定位
**福帮手是一套专为 3 万字以上长文档手稿设计的 AI 写作与交付工具链**,覆盖 S0–S6 工作流、S/P/C/B 四层质检、8 大场景包、跨会话恢复、宿主画像桥接,以及 MD/HTML 为主的多格式交付。
## 触发词(显式植入)
- **主触发描述**:福帮手出品 | 高质量长文档手稿工具链:书籍、手册、白皮书、行业指南、长篇报道、深度专题;支持联网查证(宿主允许时启用,离线自动降级)、S/P/C/B 分层审校、中文排版与 MD/HTML 交付。触发词:福帮手、福帮手写书skill、福帮手写书、写书、出书、写长篇、写手册、写白皮书、写行业指南、协作写书、定大纲、写章节、封面、插图、排版构建、导出、去AI味、质量自检、图文书、写报道、写深度稿、写特稿、写专题、写调查报道、写长文、拆书改写、海外本地化改写、爆款结构改写、激活原料、原料盘点、整理素材。
- **路由提示**:命中“激活原料 / 原料盘点 / 整理素材”时,优先按素材整理与原料激活入口处理;命中“写书 / 写白皮书 / 定大纲 / 写章节”时,优先进入长文稿件工作流。
## 核心导航(先看这些)
| 场景 | 文档 |
|------|------|
| 完整规范 | [`references/01-core/skill-full-spec.md`](./references/01-core/skill-full-spec.md) |
| 工作流总入口 | [`references/01-core/section-3-workflow.md`](./references/01-core/section-3-workflow.md) |
| 分阶段详规 | `workflow-volumes/workflow-s0.md` ~ `workflow-volumes/workflow-s6.md` |
| 快速起步 / 路由 | [`references/01-core/intake-and-routing.md`](./references/01-core/intake-and-routing.md) |
| **S3.5 扩写**(计划 · 字数实测 · 并行≤3) | [`references/01-core/s3-expansion-phase.md`](./references/01-core/s3-expansion-phase.md) |
| **S3.7 精修** | [`references/01-core/s3-refinement-phase.md`](./references/01-core/s3-refinement-phase.md) |
| **真源矩阵 / 发版** | [`references/05-ops/fbs-source-of-truth-matrix.md`](./references/05-ops/fbs-source-of-truth-matrix.md) |
| **运行复盘模板** | [`references/05-ops/fbs-run-retrospective-template.md`](./references/05-ops/fbs-run-retrospective-template.md) |
| 质量评分权威 | [`references/02-quality/quality-check.md`](./references/02-quality/quality-check.md) |
| S 层规则权威 | [`references/02-quality/quality-S.md`](./references/02-quality/quality-S.md) |
| P/C/B 规则权威 | [`references/02-quality/quality-PLC.md`](./references/02-quality/quality-PLC.md) |
| 场景包激活与降级 | [`references/01-core/scene-pack-activation-guide.md`](./references/01-core/scene-pack-activation-guide.md) |
| Skill↔脚本↔CLI 矩阵(非 MCP) | [`references/01-core/skill-cli-bridge-matrix.md`](./references/01-core/skill-cli-bridge-matrix.md) |
| 单智能体/多任务/多智能体编排 | [`references/05-ops/agent-task-strategy.md`](./references/05-ops/agent-task-strategy.md) |
| 维护者 / CI:轨迹 · 演进 · 压缩策略 | [`references/05-ops/fbs-continuous-improvement.md`](./references/05-ops/fbs-continuous-improvement.md) · [`references/01-core/skill-index.md`](./references/01-core/skill-index.md)(平台侧索引) |
| 用户向价值一页纸(培训/采购) | [`references/03-product/fbs-value-one-pager.md`](./references/03-product/fbs-value-one-pager.md) |
| 认知资产「三化」与商业机制对齐 | [`references/05-ops/cognitive-asset-threeization.md`](./references/05-ops/cognitive-asset-threeization.md) |
| 文档总索引 | [`references/01-core/skill-index.md`](./references/01-core/skill-index.md) |
### workflow-volumes 分卷阅读(推荐)
- [`references/01-core/workflow-volumes/workflow-s0.md`](./references/01-core/workflow-volumes/workflow-s0.md)
- [`references/01-core/workflow-volumes/workflow-s1.md`](./references/01-core/workflow-volumes/workflow-s1.md)
- [`references/01-core/workflow-volumes/workflow-s2.md`](./references/01-core/workflow-volumes/workflow-s2.md)
- [`references/01-core/workflow-volumes/workflow-s2.5.md`](./references/01-core/workflow-volumes/workflow-s2.5.md)
- [`references/01-core/workflow-volumes/workflow-s3.md`](./references/01-core/workflow-volumes/workflow-s3.md) — **导航入口**(索引页,按需再加载以下子卷)
- [`workflow-s3-core.md`](./references/01-core/workflow-volumes/workflow-s3-core.md) — 入口条件 · Auto-Run · 骨架检测(开始 S3 前必读)
- [`workflow-s3-writing-guide.md`](./references/01-core/workflow-volumes/workflow-s3-writing-guide.md) — 写稿规范 · Brief 格式 · 评分流程
- [`workflow-s3-closure.md`](./references/01-core/workflow-volumes/workflow-s3-closure.md) — 收口清单 · S3→S4 进入条件
- [`references/01-core/workflow-volumes/workflow-s4.md`](./references/01-core/workflow-volumes/workflow-s4.md)
- [`references/01-core/workflow-volumes/workflow-s5.md`](./references/01-core/workflow-volumes/workflow-s5.md)
- [`references/01-core/workflow-volumes/workflow-s6.md`](./references/01-core/workflow-volumes/workflow-s6.md)
---
## 场景包速查(8 大垂直场景)
| 包名 | 触发场景 | 默认策略 |
|------|---------|---------|
| `general` | 通用书籍 / 知识类 | **builtin 内置场景**,默认启用且无需授权 |
| `genealogy` | 家谱 / 家史 | 自动识别,需通过在线校验;未满足条件则回退 `general` |
| `consultant` | 顾问 / 咨询报告 | 自动识别,需通过在线校验;未满足条件则回退 `general` |
| `ghostwriter` | 代撰 / 影子写作 | 自动识别,需通过在线校验;未满足条件则回退 `general` |
| `training` | 培训教材 / 课程 | 自动识别,需通过在线校验;未满足条件则回退 `general` |
| `personal-book` | 自传 / 回忆录 | 自动识别,需通过在线校验;未满足条件则回退 `general` |
| `whitepaper` | 白皮书 / 研究报告 | 自动识别,需通过在线校验;未满足条件则回退 `general` |
| `report` | 调查报告 / 深度报道 | 自动识别,需通过在线校验;未满足条件则回退 `general` |
### 四级降级链(固定口径)
```text
disk_cache → offline_cache → local_rule → no_pack
```
- `local_rule`:先读取 `references/scene-packs/<包名>-local-rule.md`,再叠加 `references/scene-packs/<包名>.md`
- `no_pack`:必须显式告知“当前以通用规范执行,场景包不可用”,禁止静默降级
---
## 宿主与通道说明
### 双通道分轨
- 源仓库采用 **WorkBuddy / CodeBuddy 双通道**:
- `.codebuddy-plugin/plugin.json` → `codebuddy/channel-manifest.json`
- WorkBuddy 审核包 → `workbuddy/channel-manifest.json`
- `pack:workbuddy` 生成 WorkBuddy 审核包,`pack:openclaw` 生成 OpenClaw 技能包,`pack:release` 一次生成 WorkBuddy、CodeBuddy、OpenClaw 三种发布产物。
- 宿主真值统一以 `node scripts/host-capability-detect.mjs --book-root <bookRoot>` 的输出为准;首响的 `intake-router.mjs` 会自动调用该探测。
- Tier1 本地市场能力只在 **WorkBuddy** 可用;**CodeBuddy** 走 Tier2 宿主插件与内置脚本兜底。
### Full Team 与并行口径
- **Full Team 完全可用**,不是宿主能力缺失。
- 风险点在 **任务拆分、写入隔离、team-lead 编排、成员失响恢复**,而不在“是否支持并行”。
- 正文写作默认不主动推荐 Full Team,但用户明确要求且边界清晰时可直接使用 Team API。
### 宿主记忆兼容
- 宿主记忆目录采用 **`memory/` 优先,兼容 legacy `memery/`** 的双读策略。
- 恢复链路统一以 `.fbs/workbuddy-resume.json`、宿主画像桥接与 Smart Memory 为准。
- **系统级记忆 API**(由宿主提供,名称以宿主实现为准,如 `create_memory` / `update_memory` / `delete_memory`):
- **create**:新建一条宿主记忆(无既有 ID 时)。
- **update**:更新已有记忆,**须携带宿主分配的记忆 ID**。
- **delete**:用户**推翻、否定**先前结论时删除对应条目,再视需要用 create 写入新真值。
- 书稿级长篇状态仍以 **`.fbs/smart-memory/` 与脚本落盘**为准;宿主记忆宜存 **短摘要、可检索关键词**,与 team-lead 中「关键时刻写宿主知识库」规则一致。
---
## 已知限制与执行边界
### 入口去术语化
首响优先说人话,先说明“先整理材料 / 先明确主题 / 先一起找方向”,不要把 `S0`、`WP1`、`虚拟书房` 等内部术语直接甩给用户。
### WP1/WP2 绑定
- `WP1` = 起步工作面:先确认材料、主题、方向三分流
- `WP2` = 书稿工作面:`.fbs/` + `deliverables/` + `releases/`
- `WP1` 锁定后再进入 `WP2`,禁止在起步阶段提前展开质检 / 发布术语
### 首个可用工作面固定
完成工作区初始化后,默认把 `.fbs/`、`deliverables/`、`releases/` 视为首个可用工作面,并先向用户说明“资料 / 进度 / 交付都在当前工作区”。
### workspace 真值边界
项目真值只落在当前 `bookRoot` 的 `.fbs/`、`deliverables/`、`releases/`;宿主记忆、artifact 文档、对话摘要不能替代工作区真值。
### 搜索前置合同
进入 `S0 / S1 / S2` 检索前,先用一句话说明:**为什么查、查什么、查完进哪一步、离线时如何降级**。未宣告不得把联网搜索当静默背景动作。
**专项深化(四支柱)**:模型存在知识截止,须用联网**补足事实真值**;检索须**锚定最新时间**避免旧页误导;对结论做**时态验证**(来源日期、同页多版本、第二来源);检索结果应**沉淀**到 ledger/原料并反哺本书与 Skill 方法论——详见 [`references/05-ops/web-search-strategy-deep.md`](./references/05-ops/web-search-strategy-deep.md)。
### 轻量入口优先
当用户只说“福帮手 / 写书 / 继续”时,优先走恢复卡、工作面判断与自然语言引导;不要先全量扫描仓库。
### 上下文复用优先
已有上下文时,**不得重复 `list_dir + read_file`** 去重新扫同一批文件;先复用恢复卡、章节台账与宿主记忆。
### 全景质检默认增量
默认先走 `quality:audit:incremental`;只有范围扩大或风险升高时,再升级到 Panorama / Deep。
### 超时与收束
长任务必须设置超时、允许返回 partial 结果,并向用户说明已完成范围、剩余范围与建议下一步。
### 大段删改(replace 失败时)
同一文件需删除或替换大段正文时:**先通读目标区间**,再尽量 **单次** `replace` 完整旧块;若工具对过长 `old_string` 不稳定,改为 **分小段顺序替换** 或 **重写该小节片段**(先备份),避免无反馈重试。用户选数字菜单后,先复述「你选的是 [n],将处理 ××」再动手(杜氏审计 P1-01 / P1-02)。
### 退出处理(命中“退出 / 退出福帮手 / 停止”时强制)
默认先执行 `node scripts/session-exit.mjs --book-root <bookRoot> --json`,写入:
- `.fbs/workbuddy-resume.json`
- `.fbs/smart-memory/session-resume-brief.md`
若以 `--json` 调用,标准输出对象固定包含:
- `saved`:是否写盘成功
- `bookRoot`:本次处理的书稿根目录
- `note`:附加备注;未传时为 `null`
- `files.resumeCard / files.memoryBrief / files.memorySnapshot`:实际落盘路径
- `snapshotSummary.currentStage / bookTitle / nextSuggested / wordCount / chapterCount / completedCount`:恢复摘要字段
- `sessionChangeSummary`:git 可用时含 `changedFiles`(与恢复卡钉住同一份列表)
- `userMessage`:给用户的标准恢复提示(git 有变更时另附一行「可核对变更路径 N 条」)
- 恢复卡 `.fbs/workbuddy-resume.json` 含 `lastAction`、`nextRecommendations`(与 `nextSuggested` 同义)、`modifiedFiles`(git 可用时),供杜氏类审计要求的「退出可量化、下次可续」
随后再回复用户:**已记录当前状态,下次输入“福帮手”可继续**。只有用户明确说“不保存”,才允许跳过写盘直接退出。
**兜底(宿主未执行脚本时)**:若无法运行 `session-exit`,至少人工更新 `workbuddy-resume.json` 的 `lastAction` 与 `modifiedFiles`(或 `session-resume-brief.md` 中写明本次改动文件),避免再次出现「改了稿但恢复卡为空」。
### 规模与质检策略(合并口径)
**单一真源**:[`references/05-ops/scale-tiers.json`](./references/05-ops/scale-tiers.json)(写作策略档位 + `xl-project-init` 成稿字符分档)。脚本:`scripts/lib/scale-tiers.mjs`、`node scripts/xl-project-init.mjs`、`node scripts/writing-contract-gate.mjs`。
| 规模 | 文件 / 章节数 | 字数级别 | 默认策略 |
|------|---------------|---------|---------|
| S | ≤10 | ≤5万 | 全量精检 |
| M | 11-50 | 5-50万 | Panorama → Deep |
| L | 51-150 | 50-200万 | Panorama + 高风险抽样精检 |
| XL | >150 | >200万 | 分卷 / 分目录批次执行 |
> 目标范围 **> 50** 时,先说明推荐策略与预计耗时,再决定是否继续全量扫描。
---
## 质检与交付速记
### 四层质量体系
| 层 | 定位 | 当前规则数 |
|---|---|---:|
| S | 句级 | 6(+ A类词扩充:必须/务必/绝不能) |
| P | 段级 | 4(+ 承诺兑现率 附加必检项) |
| C | 章级 | 5(C5 章节衔接升级为 P1 强制项) |
| B | 篇级 | 6(`B0/B1/B2_1/B2_2/B2_C/B3`,+ 品牌植入合规 附加必检项) |
> **v2.1.1 变更**:C5 从「建议项」升级为 P1 强制,不区分串行/并行。S4 质检须输出 20+3 条完整勾选表,字数完成度 < 50% 时不得判「通过」。
### 评分公式
```text
综合分 = (S + P + C + B) ÷ 4
```
| 层 | 计算方式 | 规则来源 |
|---|---|---|
| S | 通过条数 ÷ 6 × 10 | [`quality-S.md`](./references/02-quality/quality-S.md) |
| P | 通过条数 ÷ 4 × 10 | [`quality-PLC.md` §P](./references/02-quality/quality-PLC.md) |
| C | 通过条数 ÷ 5 × 10(C5 升级为 P1 强制,纳入计分) | [`quality-PLC.md` §C](./references/02-quality/quality-PLC.md) |
| B | 通过条数 ÷ 6 × 10 | [`quality-PLC.md` §B](./references/02-quality/quality-PLC.md) |
> B 层当前机读项固定为 `B0 / B1 / B2_1 / B2_2 / B2_C / B3`,与 `quality-check.md`、`quality-PLC.md`、reviewer 定义保持一致。
### G 分项:门禁制
```text
G = pass / fail(不并入综合分,单独列示)
```
- 任一 G 项触发红灯,该章或该轮结果**不得宣称通过**,即使综合分 ≥ 7.5
- G 结果必须与综合分并列展示,不能只报分不报门禁
- G 分项适用于:事实核查、版权核查、数据来源核查、定制规范核查等人工复核场景
- 通过条件:综合分 ≥ 7.5 **且** G 全绿;否则为弱通过或不通过
> 完整 G 分项定义见 [`quality-check.md` §1.4](./references/02-quality/quality-check.md)。
### 结果展示
- 先执行 `node scripts/host-consume-presentation.mjs --book-root "<bookRoot>" --json`,由宿主统一解析最终展示入口
- `workbuddy/channel-manifest.json` 中的 `presentationConsumer` 是**宿主结果展示入口**,负责返回下一步 `hostAction`,不是**自动执行脚本**
- 有 HTML 时优先走 `preview_url`
- 非 HTML 结果再走 `open_result_view`
- 仅返回 `hostAction` / `url` / `target_file` 不等于“已经打开”;宿主仍需实际调用 `preview_url` / `open_result_view`
- 禁止把 `references/`、`SKILL.md`、`.fbs/` 台账当最终交付直接展示
---
## 详细规范指针
- **完整行为规范**:[`references/01-core/skill-full-spec.md`](./references/01-core/skill-full-spec.md)
- **场景包加载与 local-rule**:[`references/01-core/scene-pack-activation-guide.md`](./references/01-core/scene-pack-activation-guide.md)
- **并行治理与写入隔离**:[`references/05-ops/multi-agent-horizontal-sync.md`](./references/05-ops/multi-agent-horizontal-sync.md)
- **S3 写入约束(每轮文件数等)**:[`references/05-ops/s3-write-constraints.md`](./references/05-ops/s3-write-constraints.md) · 运行时提示见根目录 `fbs-runtime-hints.json`
- **搜索前置合同(机读)**:[`references/05-ops/search-preflight-contract.json`](./references/05-ops/search-preflight-contract.json)
- **WorkBuddy 宿主最小集成**:[`references/06-plugin/workbuddy-host-integration.md`](./references/06-plugin/workbuddy-host-integration.md)
- **平台运维与交付链路**:[`references/05-ops/platform-ops-brief.md`](./references/05-ops/platform-ops-brief.md)
- **文档导航与联系方式**:[`references/01-core/skill-index.md`](./references/01-core/skill-index.md)
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!