用途
doc-brd-autopilot 是一条自动化 BRD 生成流水线。它从参考文档(docs/00_REF/)、用户提示词或实施计划(IPLAN-*)出发,分析来源、判定 BRD 类型、生成完整 BRD、校验就绪度、维护 BRD-00_index.md,并驱动“审计↔修复”循环直至达到通过分数——可处理单份 BRD,也可批量处理。
该技能位于框架第 1 层。上游为可选的 REF/提示词/IPLAN 输入;下游产出经过校验的 BRD 及索引条目。
技能依赖
- ../doc-brd/SKILL.md:BRD 结构与撰写规则(生成)
- ../doc-brd-audit/SKILL.md:质量门禁(评分与问题清单)
- ../doc-brd-fixer/SKILL.md:根据审计报告应用修复
- ../doc-naming/SKILL.md:元素 ID 标准
- ../review-team/SKILL.md:团队模式调度器(并行 persona 子代理扇出)
- ../charts-flow/SKILL.md:图表契约标签(C4-L1、DFD-L1)
所产出 BRD 的撰写风格由 ${CLAUDE_PLUGIN_ROOT}/framework/governance/AUTHORING_STYLE.md 约束(通过 doc-brd 与 doc-brd-audit 继承)。
输入契约
接受:目标 BRD 的 id/路径;REF 目录或文件;自由文本提示词;或 IPLAN 路径。可选:分数阈值(默认 90)、最大修复迭代次数(默认 3)、批量列表。若没有显式输入,则将请求视为提示词。
智能文档检测
对每个目标,检查 BRD 是否已存在(嵌套目录 docs/01_BRD/BRD-NN_{slug}/):
- 不存在 → 生成模式。
- 已存在 → 审查与修复模式(先审计,低于阈值则修复)。
根据来源内容判定 deliverable_type(code/document/ux/risk/process)与 BRD 类型(Platform 还是 Feature)。
模型预检
属于建议性、尽力而为的检查。它会提示该层推荐的模型,但无法切换当前会话模型。在调用驱动前:
- 若 .claude/aidoc-flow.config.yaml 不存在,或没有 model.* 键,则完全跳过本节(无输出)。
- 解析推荐模型:优先 model.per_layer.BRD,否则用 model.default。
- 根据 model.precheck(warn | silent | block)采取行动:
- warn(默认)——打印一行后继续进入驱动:ℹ BRD recommends model '<rec>'. If you're not on it, run /model <rec> (or set model.precheck: silent to hide this).
- silent——不打印任何内容,继续。
- block——打印上述行并附加 precheck=block: confirm you want to draft on the current model, or run /model <rec> first.,然后等待用户确认后再继续。
工作流
强制编排步骤(在上述模型预检之后):当 review_mode: team(框架默认)时,你的第一个编排动作必须是通过 Bash 工具调用 saga 驱动。你不得直接派发 Task 子代理,不得通过 SlashCommand 或其他方式直接调用 doc-brd/doc-brd-audit/doc-brd-fixer,也不得在会话内生成 BRD。驱动是创建-审查-修订循环的唯一编排机制。绕过它会产生没有 saga.json 日志的 BRD——这在 2026-06-05 的 BRD 验证中已被实证失败,也正是本次 SKILL 精简所修复的 bug。
Saga 驱动的生成循环(review_mode: team)
第 1 步——调用驱动。就这样。测试框架会在调用本 SKILL 前设置 PREV_OUTPUT、ARTIFACT_ID、ARTIFACT_PATH 环境变量。你的第一个编排动作必须是 Bash 工具(上述模型预检先运行),精确执行:
python3 "${CLAUDE_PLUGIN_ROOT}/tools/saga_driver.py"
--layer 01_BRD
--allow-skip-permissions
--allow-skip-permissions 让驱动派发的各阶段无需权限提示即可写文件——无人值守的 autopilot 需要它。去掉该标志则以 Claude Code 的正常提示运行同一循环。
使用较宽裕的超时(≥1800s)。不要预先分析输入。不要读取种子。不要分类类型/范围。驱动及其派发的子进程(/aidoc-flow:doc-brd 负责草稿、/aidoc-flow:doc-brd-audit 负责审查、/aidoc-flow:doc-brd-fixer 负责修复)会处理所有这些。驱动按 ${CLAUDE_PLUGIN_ROOT}/framework/governance/REVIEW_SAGA.md 抢先执行状态机;本 SKILL 的职责就是调用它并汇报。
第 2 步——驱动返回后汇报。读取 .aidoc/review/01_BRD/${ARTIFACT_ID}/saga.json。最终状态必须是 CLOSED(PASS)、ESCALATED(终态 FAIL)或 PARTIAL_TIMEOUT(软截止;可恢复)之一。打印状态、verdict.json 中的最终分数(若存在),以及一行摘要。
第 3 步——索引更新(仅在 CLOSED 时)。向 docs/01_BRD/BRD-00_index.md 添加一行,引用新 BRD。
这就是团队模式下的完整工作流。如果你发现自己在此处做其他事情——撰写正文、派发 Task 子代理、调用其他斜杠命令——请停下,意识到你正在绕过驱动,改为调用上述 Bash 命令。
线性流水线(review_mode: single_pass)
保持不变的旧行为——在 profile 如此指定、Task 子代理派发不可用,或在写入时(on_author)以成本为主要考量时使用。
- 生成——按 ../doc-brd/SKILL.md 产出 BRD:先文档控制(第 1 节),§3–§15 必需章节(按 section_toggles 切换 §2 执行摘要),图表注册表,附录,§8 覆盖 7 个类别,元素 ID 为 BRD.NN.SS.xxxx,图表标签通过 ../charts-flow/SKILL.md。
- 校验——在 single_pass 模式下从头运行 ../doc-brd-audit/SKILL.md。
- 审计↔修复循环——当分数 < 阈值且迭代次数 < 上限时:在 single_pass 模式下运行 ../doc-brd-fixer/SKILL.md,然后重新审计。通过后更新 docs/01_BRD/BRD-00_index.md;迭代耗尽则标记为人工审查。
执行模式
- 单份——一份 BRD(生成或审查并修复)。
- 批量——多份 BRD,按 3 份一组分块处理以约束上下文;先生成 Platform BRD,再生成依赖它们的 Feature BRD。
- 试运行——报告计划动作(类型、章节、ID),不写文件。
质量门禁
- 生成在审计通过(分数 ≥ 阈值,0 个 Tier-1 错误)或达到迭代上限(此时标记人工审查)之前不算完成。
- 仅在 BRD 通过后才更新 BRD 索引。
- 每个循环都重新审计——不使用缓存分数。
错误处理
- 引用的 Platform BRD 缺失(Feature BRD):停止;报告缺失依赖。
- 达到最大迭代次数仍低于阈值:写报告,标记人工审查,继续批量。
- 来源输入不明确:回退到提示词模式;在 BRD 中记录假设。
- 写入/权限错误:记录日志,跳过该项,继续批量。
适配
在应用默认值之前,读取项目适配 profile(.aidoc/profile.yaml),并在生成与内部审计/修复阶段都应用它。遵循 section_toggles、active_layers、audit_threshold(仅可提高——只能更严格)与 glossary。忽略任何未知或超出范围的键;没有 profile 时使用框架默认值。权威依据:${CLAUDE_PLUGIN_ROOT}/framework/governance/ADAPTATION.md。
相关资源
创建:../doc-brd/SKILL.md · 审计:../doc-brd-audit/SKILL.md · 修复:../doc-brd-fixer/SKILL.md
权威依据:${CLAUDE_PLUGIN_ROOT}/framework/layers/01_BRD/BRD-TEMPLATE.yaml、${CLAUDE_PLUGIN_ROOT}/framework/layers/01_BRD/README.md、${CLAUDE_PLUGIN_ROOT}/framework/layers/01_BRD/BRD-00_index.TEMPLATE.md