SuperAPI AI 工具集

doc-prd-autopilot

写作与研究

查看项目

更新于 10-16 02:23

技能介绍

用途

doc-prd-autopilot 是一条自动化 PRD 生成流水线。它从上游 BRD、用户提示词或实施计划(IPLAN-*)出发,分析来源、推导产品范围、生成完整 PRD、校验 EARS 就绪度、维护 PRD-00_index.md,并驱动“审计↔修复”循环直至达到通过分数,可处理单个 PRD 或批量 PRD。

该技能位于 aidoc-flow 框架的第 2 层:上游是 BRD(或提示词/IPLAN 输入),下游是经过校验的 PRD 加索引条目。

技能依赖

  • ../doc-prd/SKILL.md:PRD 结构与撰写规则(生成)
  • ../doc-brd-audit/SKILL.md:上游 BRD 质量门(PRD-Ready)
  • ../doc-prd-audit/SKILL.md:质量门(评分 + 发现项)
  • ../doc-prd-fixer/SKILL.md:根据审计报告应用修复
  • ../doc-naming/SKILL.md:元素 ID 标准

输入契约

接受:目标 PRD id/路径;来源 BRD id/路径;自由文本提示词;或 IPLAN 路径。可选:分数阈值(默认 90)、最大修复迭代次数(默认 3)、批量列表。若未给出明确输入,则将请求视为提示词。多个输入同时给出时的优先级:IPLAN > BRD/REF > 提示词;目标/范围冲突属于阻塞项,需要用户澄清。

智能文档检测

对每个目标,检查 PRD 是否已存在(嵌套目录 docs/02_PRD/PRD-NN_{slug}/):

  • 不存在 → 生成模式(从来源 BRD/提示词/IPLAN 生成)。
  • 已存在 → 审查与修复模式(先审计,低于阈值则修复)。

BRD-NN 输入映射到对应 PRD:不存在则生成,已存在则审查。从来源 BRD 继承确定 deliverable_type(code/document/ux/risk/process)。

模型预检

属于建议性、尽力而为的检查,会提示该层推荐的模型,但无法切换会话模型。在调用驱动前:

  • 若 .claude/aidoc-flow.config.yaml 不存在,或没有 model.* 键,则完全跳过本节(无输出)。
  • 解析推荐模型:优先 model.per_layer.PRD,否则用 model.default。
  • 根据 model.precheck(warn | silent | block)执行:
    • warn(默认)——打印一行后继续:ℹ PRD 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.,然后等待用户确认后再继续。

工作流

Saga 驱动的生成循环(review_mode: team)

第 1 步——调用驱动。测试框架会在调用本 SKILL 前设置 PREV_OUTPUT、ARTIFACT_ID、ARTIFACT_PATH 环境变量。第一个编排动作必须是 Bash 工具(模型预检先运行),精确执行:

python3 "${CLAUDE_PLUGIN_ROOT}/tools/saga_driver.py"
--layer 02_PRD
--allow-skip-permissions

--allow-skip-permissions 让驱动派发的各阶段无需权限提示即可写文件——无人值守自动驾驶需要它。去掉该标志则以 Claude Code 的正常提示运行同一循环。

使用较宽裕的超时(≥1800s)。不要预先分析输入,不要读取 BRD,不要分类类型/范围。驱动及其派发的子进程(/aidoc-flow:doc-prd 负责起草、/aidoc-flow:doc-prd-audit 负责审查、/aidoc-flow:doc-prd-fixer 负责修复)会处理所有这些。驱动按 ${CLAUDE_PLUGIN_ROOT}/framework/governance/REVIEW_SAGA.md 抢先执行状态机;本 SKILL 的职责是调用它并汇报。

第 2 步——驱动返回后汇报。读取 .aidoc/review/02_PRD/${ARTIFACT_ID}/saga.json。最终状态必须是 CLOSED(PASS)、ESCALATED(终态 FAIL)或 PARTIAL_TIMEOUT(软截止;可恢复)之一。打印状态、verdict.json 中的最终分数(若存在)以及一行摘要。

第 3 步——索引更新(仅在 CLOSED 时)。向 docs/02_PRD/PRD-00_index.md 添加一行引用新 PRD;更新父 BRD 的下游条目。

以上即 team 模式的完整工作流。若在此处做其他事情——起草文字、派发 Task 子代理、调用其他斜杠命令——应停止,意识到自己在绕过驱动,改为调用上述 Bash 命令。

线性流水线(review_mode: single_pass)

保留的旧行为——在 profile 如此指定、Task 子代理派发不可用,或在写入时(on_author)以成本为主要考量时使用。以下 5 步会话内模式生成 PRD 但不产生 saga.json;测试框架的 saga-journal 检查随后会使该层失败,因此该模式仅适合手动试运行。

  1. 输入分析——分类输入(BRD / 提示词 / IPLAN),定位来源材料,决定生成还是审查与修复。
  2. BRD 就绪——从 BRD 生成时,确认其通过 ../doc-brd-audit/SKILL.md(PRD-Ready ≥ 阈值);将 BRD 所有分节文件作为一份文档读取;预留下一个 PRD-NN。
  3. 生成——按 ../doc-prd/SKILL.md 生成 PRD:先 Document Control(含 @brd: 引用 + EARS-Ready 分数),全部 15 个章节,§10 至少 3 个类别,§14 ADR 主题阐述(不含 ADR 编号),元素 ID 形如 PRD.NN.SS.xxxx,累积 @brd: 标签,通过 ../charts-flow/SKILL.md 生成图表标签(c4-l2/dfd-l2/sequence-sync 带 alt/else)。
  4. 校验——从头运行 ../doc-prd-audit/SKILL.md。
  5. 审计↔修复循环——当分数 < 阈值且迭代 < 上限时:运行 ../doc-prd-fixer/SKILL.md,然后重新审计。通过后更新 docs/02_PRD/PRD-00_index.md 及父 BRD 的下游条目;迭代耗尽则标记为人工审查。

执行模式

  • 单个——一个 PRD(生成或审查与修复)。
  • 批量——多个 PRD,按 3 个一组分块处理以限制上下文;仅在其来源 BRD 就绪后才生成对应 PRD。
  • 试运行——报告计划动作(来源、章节、ID)而不写文件。

质量门

  • 生成在审计通过(EARS-Ready ≥ 阈值,0 个 Tier-1 错误)或达到迭代上限(此时标记人工审查)前不算完成。
  • PRD 索引和父 BRD 下游条目仅在 PRD 通过后更新。
  • 每个循环都重新审计——不使用缓存分数。

错误处理

  • 来源 BRD 缺失或低于 PRD-Ready:停止;报告未满足的依赖。
  • 达到最大迭代仍低于阈值:写报告,标记人工审查,继续批量。
  • 来源输入不明确:回退到提示词模式;在 PRD 中记录假设。
  • 写入/权限错误:记录日志,跳过该项,继续批量。

适配

在应用默认值前,读取项目适配配置(.aidoc/profile.yaml),并在生成与内部审计/修复阶段都应用它。遵循 section_toggles、active_layers、audit_threshold(仅可提高——只能更严格)和 glossary。忽略任何未知或超出范围的键;无 profile 时使用框架默认值。权威依据:${CLAUDE_PLUGIN_ROOT}/framework/governance/ADAPTATION.md。

相关资源

创建:../doc-prd/SKILL.md · 审计:../doc-prd-audit/SKILL.md · 修复:../doc-prd-fixer/SKILL.md

权威依据:${CLAUDE_PLUGIN_ROOT}/framework/layers/02_PRD/PRD-TEMPLATE.yaml、${CLAUDE_PLUGIN_ROOT}/framework/layers/02_PRD/README.md、${CLAUDE_PLUGIN_ROOT}/framework/layers/02_PRD/PRD-00_index.TEMPLATE.md