mcpField
F
factory-product

factory-product

github.com/tikalk开发143139 次安装今天更新
代码仓库

关于 factory-product

factory-product 用于编排产品决策技能,以创建、完善并分析一致的 PRD.md,适合定义产品需求的团队。它根据新项目、现有代码库或已有 PRD 选择流程,并在决策环节设置人工审批关卡。

主要功能

  1. 01协调产品生命周期技能
  2. 02按项目和 PRD 状态选择流程
  3. 03生成并维护 PRD.md
  4. 04检查 PRD 与 PDR 的一致性
  5. 05设置人工审批关卡

适用场景

  1. 01为新产品定义需求
  2. 02从现有代码库反向整理 PDR 草稿
  3. 03发现现有 PRD 中的偏差
  4. 04根据已接受的决策更新 PRD

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/tikalk/adlc-team-skills --skill factory-product

安装后在 Claude Code 中输入/factory-product确认已加载。

附带文件workflow.yml

详细介绍

factory-product

在工厂运行期间 — 请先阅读

设置了 ADLC_RUN_ID 时,工作流引擎会无人值守地运行此步骤,随后进入一个关卡。请严格执行以下操作:

  1. 开始: bash {REPO_ROOT}/.agents/skills/factory-mission/scripts/bash/run-branch.sh — 在 Windows 上使用 pwsh {REPO_ROOT}/.agents/skills/factory-mission/scripts/powershell/run-branch.ps1(每个辅助脚本在 scripts/powershell/ 下都有对应的 PowerShell 版本;在 Windows 上请用它替代 bash 脚本)
  2. 运行 DAG 为此问题解析出的生命周期步骤。每个更改了文件的步骤之后:使用 commit-step.sh,并列出它写入、移动或删除的所有路径。
  3. 返回之前,务必: 运行 open-mr.sh,然后向 ADLC_STEP_OUTPUT 写入一行 conclusion。无论结果如何,都要执行此操作,即使没有任何更改。
  4. 绝不请求批准或等待答复。引擎在此步骤之后设置的关卡就是审批;在此处提问会导致步骤结束,且没有任何内容发布。

只有此编排器可以提交、推送并创建 MR,而且只能通过这些辅助脚本;product-* 技能绝不执行这些操作。详情请参阅:分支运行、步骤提交和草稿 MR。


此技能的作用

factory-product 编排产品决策生命周期。它协调各个产品相关技能(product-init、product-specify、product-clarify、product-implement、product-analyze),以维护位于 docs/adlc/product/PRD.md 的一致 PRD.md(共享布局)。

它遵循 factory-mission/references/executor.md 中的共享执行器引擎契约,作为 Kind-A DAG 编排器运行。


适用场景

  • 你想端到端地启动、完善或分析产品需求与决策(PDR)。
  • 你想通过有引导、设有验收关卡且经过验证的产品定义流程,并设置恢复检查点。

不适用场景:

  • 执行软件实现任务(请改用 factory-mission)。
  • 创建架构决策记录(请改用 factory-architect)。

生命周期 DAG 与步骤解析

factory-product 实现了一个固定的命名技能 DAG(fixed 步骤解析):

Greenfield 路线(空项目的默认路线)
  1. specify(generate 阶段)-> 调用 product-specify,协作整理 .adlc/drafts/pdr/ 中的 PDR 草稿。
  2. clarify⭐(clarify 阶段)-> 调用 product-clarify,执行交互式质量检查,并将 PDR 标记为已接受(人工签核关卡)。
  3. implement(build 阶段)-> 调用 product-implement,将已接受的 PDR 编译到 docs/adlc/product/PRD.md,并将其转存到 docs/adlc/memory/pdr/。
  4. analyze(analyze 阶段)-> 调用 product-analyze,验证 PRD/PDR 的一致性,并输出按严重程度排序的报告。
Brownfield 路线(代码已存在但没有 PDR 时的默认路线)
  1. init(generate 阶段)-> 调用 product-init,从现有代码库逆向生成 PDR 草稿。
  2. clarify⭐ → implement → analyze(与 Greenfield 路线相同)。
刷新路线(PRD.md 和 memory PDR 均已存在时的默认路线)
  1. analyze(analyze 阶段)-> 先运行 product-analyze,检测偏差。
  2. clarify⭐ → implement → analyze(偏差修正循环)。

共享执行器覆盖项

factory-product 对共享执行器引擎基元的覆盖如下:

  1. 发布目标:固定为 local。输出写入 docs/adlc/memory/pdr/ 和 docs/adlc/product/PRD.md。如果已集成 tracker,还会发布一条 tracker 完成摘要评论。
  2. 输出类型:步骤使用以下 output_type 赋值:
    • specify/init → draft(PDR 草稿保留在 .adlc/drafts/pdr/,不会发布到评论总线)
    • clarify⭐ → decision(已接受/已拒绝的 PDR 列表会发布到评论总线)
    • implement → artifact-ref(PRD.md 路径引用会发布,内容保留在磁盘上)
    • analyze → findings(按严重程度排序的一致性报告会发布到评论总线)
  3. 纠正循环:如果 analyze 返回 CRITICAL 或 HIGH 一致性错误,执行器会路由回 clarify,并在 reads_from 中包含 analyze 标记。clarify 会从 PR/MR/issue 评论总线(或本地回退位置)读取 findings。循环受 max_corrections 限制(默认值为 2);若超出限制,编排器会暂停,等待人工审查。
  4. 监督默认值:hybrid。clarify⭐(用于 PDR 审批)和最终 PRD.md 审查时,会强制设置人工审核关卡。
  5. 预检:在开始 Phase 0 之前,验证工作区中是否已安装 product-* 生命周期技能。

运行分支、分步提交和草稿 MR

需要:factory-mission 技能(提供运行辅助脚本):adlc-cli skills add tikalk/adlc-team-skills --skill factory-mission

在工厂运行中(由工作流引擎设置 ADLC_RUN_ID),此编排器——且只有它,绝不能是 product-* 生命周期技能——负责提交、推送运行分支并创建草稿 MR,且始终通过以下三个辅助脚本完成:

  1. 在第一步之前:bash {REPO_ROOT}/.agents/skills/factory-mission/scripts/bash/run-branch.sh——在项目根目录检出 factory/intent/<repo>-<iid>(取自 ADLC_ISSUE_REF),并复用现有分支或从 origin 继续。与另一个 intent 通道及重新分派共享此分支。
  2. 每一步之后(specify/init、clarify、implement、analyze 修复): bash {REPO_ROOT}/.agents/skills/factory-mission/scripts/bash/commit-step.sh --orchestrator factory-product --step <step> --output-type <draft|decision|artifact-ref|findings> --summary "<one line, no issue text>" --records <IDs> -- <paths the step wrote> 传入该步骤写入、移动或删除的所有路径(也包括已提升草稿的旧路径;辅助脚本也会提交允许列表内的删除),且路径只能位于生命周期写入允许列表中(.adlc/drafts/pdr/、docs/adlc/memory/pdr/、docs/adlc/product/PRD.md、.adlc/product/sections/、.adlc/product/state.json)。它会输出 sha: <sha> 或 sha: none;将该 sha 写入该步骤的总线标记(总线传递的是指针,而不是内容)。绝不要暂存 .adlc/workflows/**。
  3. 返回之前,务必执行:bash {REPO_ROOT}/.agents/skills/factory-mission/scripts/bash/open-mr.sh——仅推送运行分支,查找或创建一个草稿 MR(使用合并提交,不 squash;里程碑/指派人按照 MR 归属决策设置),并将 mr_url 写入 ADLC_STEP_OUTPUT,以便引擎的门控步骤添加链接(context.link)。无论结果如何,都要调用它——即使没有提交任何内容(sha: none,仅执行了 analyze):如果运行分支上没有提交,它不会创建任何内容,门控步骤也会显示没有内容需要审查。同时,在同一个 JSON 对象中写入单行 conclusion(门控步骤的 intent 结论规则)。 在工厂运行中,此步骤之后引擎的门控步骤就是审批:不要自行请求审批(不要询问“是否批准 implement?”)——完成 issue 所需的步骤,运行 open-mr.sh,说明结论并返回。

在工厂运行之外,除非用户选择启用(在 .adlc/init-options.json 中设置 adlc.commit_steps: true,或向此技能传入 --commit 并由你转发给 commit-step.sh),否则辅助脚本不会执行任何操作;没有 ADLC_RUN_ID 时,run-branch.sh 和 open-mr.sh 绝不会执行。辅助脚本以非零状态码退出(路径被拒绝、缺少提交者身份、跟踪器范围不符)时,必须停止运行并报告问题,不要绕过限制。

评论

支持 Markdown