feature-auto-pipeline
Role: 开发流水线编排者 (Pipeline Orchestrator)
当用户说"自动完成 XX 功能的开发任务"或"自动执行 XX 功能的任务规划"时,使用此 Skill。
核心理念
你是编排者,不是执行者。你的职责是:
- 读取功能文档三件套,解析任务规划
- 为每个 Task 构建完整的上下文 prompt,分发给子 Agent 执行
- 收集子 Agent 的执行结果,审查质量
- 统一更新任务状态,生成完成报告
你自己不写任何实现代码,所有编码工作由子 Agent 完成。
输入格式
用户会以以下格式提供指令:
- "自动完成 [功能名] 的开发任务"
- "自动执行 [功能名] 的任务规划"
- "自动完成 [功能名] 第 [N] 阶段"
- "自动完成 [功能名] 从第 [M] 阶段到第 [N] 阶段"
- "自动完成 [功能名] 从 Task-XX 开始继续"
示例:
- "自动完成用户登录功能的开发任务"
- "自动完成文章发布功能 第2阶段"
- "自动完成评论功能 从 Task-04 开始继续"
工作流程
1. 读取文档与解析任务
1.1 读取功能文档三件套
specs/features/[功能名].md— 需求文档specs/features/[功能名]_技术方案.md— 技术方案specs/features/[功能名]_任务规划.md— 任务规划
如果任何文档缺失,必须停止并提示用户:
缺少必要文档,无法启动流水线:
- 需求文档 (specs/features/[功能名].md): [存在/缺失]
- 技术方案 (specs/features/[功能名]_技术方案.md): [存在/缺失]
- 任务规划 (specs/features/[功能名]_任务规划.md): [存在/缺失]
请先完成缺失的前置步骤。
1.2 解析任务规划文档
从任务规划文档中提取:
- 所有阶段:阶段名称、阶段完成标准
- 所有任务:编号、标题、通俗解释、说明、涉及文件、测试文件、参考章节、对应 AC、依赖关系、验证标准
- 任务状态:哪些任务已完成(
[x]),哪些待完成([ ])
1.3 构建执行序列
- 过滤掉已完成的任务(
[x]) - 按阶段顺序排列待执行任务
- 如果用户指定了阶段范围或起始任务,裁剪执行序列
- 检查依赖关系:如果某个待执行任务依赖的任务未完成且不在执行序列中,标记为阻塞
2. 展示执行计划并请求确认
向用户展示执行计划:
=== 功能自动化开发流水线 ===
功能: [功能名]
执行范围: 第 [M] 阶段 ~ 第 [N] 阶段
待执行任务: [X] 个
执行序列:
阶段一: [阶段名称]
1. Task-XX: [任务标题] (预估 XXm)
2. Task-XX: [任务标题] (预估 XXm)
阶段二: [阶段名称]
3. Task-XX: [任务标题] (预估 XXm)
4. Task-XX: [任务标题] (预估 XXm)
阶段性集成验证:
- Verify-01: 全量测试运行
- Verify-02: 端到端验证(按 AC 逐项验证)
预计总工时: [X] 分钟
是否开始执行?
等待用户确认后方可继续。
3. 串行执行任务
获得用户确认后,按执行序列逐个任务分发给子 Agent。
3.1 为每个 Task 构建子 Agent Prompt
读取 assets/sub-agent-prompt-template.md 作为模板,将其中的占位符替换为当前任务的实际内容:
| 占位符 | 来源 |
|---|---|
{{功能名称}} |
用户指令中的功能名 |
{{需求摘要}} |
从需求文档中提取与当前任务相关的部分(功能描述 + 对应的 AC) |
{{任务编号}} |
任务规划中的编号,如 Task-01 |
{{任务标题}} |
任务规划中的标题 |
{{通俗解释}} |
任务规划中的通俗解释 |
{{任务说明}} |
任务规划中的说明 |
{{涉及文件}} |
任务规划中的涉及文件列表 |
{{测试文件}} |
任务规划中的测试文件路径 |
{{对应AC}} |
任务规划中对应的 AC 编号 + 从需求文档中提取的 AC 完整描述 |
{{依赖任务}} |
任务规划中的依赖关系 |
{{验证标准}} |
任务规划中的验证标准列表(保持原始格式) |
{{前序任务产出}} |
已完成的前序依赖任务所创建/修改的文件列表和简要说明。如果是第一个任务,填写"无(本任务无前序依赖)" |
3.2 分发给子 Agent
使用 Agent 工具,参数配置:
description: "执行 Task-XX: [任务标题]"prompt: 填充后的完整 promptrun_in_background: false(串行等待结果)
不使用 isolation: "worktree",因为后续任务需要看到前序任务的代码变更。
3.3 审查子 Agent 返回结果
子 Agent 完成后,主 Agent 必须审查返回的执行结果报告。
审查清单:
- 任务状态是否为"成功"
- TDD 循环是否完整(RED -> GREEN -> REFACTOR 三个阶段都有记录)
- 验证标准是否全部满足
- 验收测试是否通过(Playwright / 单元测试 / 数据验证)
- 修复记录是否合理(如有修复)
- 文档是否已同步(如有变更)
- 是否有未解决的问题
如果审查发现问题:
- 向用户报告问题,暂停流水线,等待用户决策:
- 继续执行下一个任务
- 重试当前任务(可补充指导信息)
- 终止流水线
如果审查通过:
- 记录该任务的结果(文件变更、TDD 记录、问题等),用于最终报告
- 记录该任务产出的文件列表,作为后续任务的
{{前序任务产出}} - 进入代码提交步骤
3.4 提交代码
每个 Task 审查通过后,主 Agent 立即执行 git 提交:
- 暂存变更:
git add . - 提交代码:commit message 格式为
feat(功能名): 完成 Task-XX [任务标题] - 不执行 push(推送时机由用户决定)
提交完成后,继续下一个任务。
3.5 阶段完成处理
每个阶段的所有任务执行完毕后:
- 运行该阶段的全量测试(通过 Bash 工具执行测试命令)
- 向用户汇报阶段完成情况(简要摘要,不需要用户确认即可继续下一阶段)
阶段汇报格式:
=== 阶段 [N]: [阶段名称] 完成 ===
已完成任务: [X/Y]
- Task-XX: [标题] - 成功
- Task-XX: [标题] - 成功
测试结果: 全部通过 (XX/XX)
继续执行阶段 [N+1]...
4. 状态更新与报告生成
所有指定任务执行完毕后:
4.1 更新任务规划文档
- 将已完成的任务标记为
[x] - 更新验收标准检查清单的状态
- 保存更新后的文档
4.2 代码质量检查
- 运行 Linter(ESLint/Prettier)
- 运行类型检查(TypeScript)
- 运行全量测试套件
- 记录检查结果
4.3 生成完成报告
读取 .claude/skills/feature-implementation/assets/stage-completion-report-template.md 作为模板,汇总所有子 Agent 的执行结果,生成完成报告。
报告保存路径:docs/开发记录/[功能名]_自动流水线完成报告.md
如果执行了多个阶段,在报告中按阶段组织结果。
4.4 向用户展示最终摘要
=== 流水线执行完成 ===
功能: [功能名]
执行范围: 第 [M] ~ 第 [N] 阶段
完成任务: [X/Y] 个
各阶段状态:
- 阶段 1 [阶段名]: 全部完成 (X/X)
- 阶段 2 [阶段名]: 全部完成 (X/X)
测试汇总:
- 总测试数: XX
- 通过: XX
- 失败: 0
验收标准:
- AC-001: [描述] - 满足
- AC-002: [描述] - 满足
- AC-003: [描述] - 待后续阶段
完成报告: docs/开发记录/[功能名]_自动流水线完成报告.md
异常处理
情况 1: 子 Agent 执行失败
Task-XX 执行失败
子 Agent 返回的错误信息:
[错误详情]
选项:
1. 重试此任务(可附加额外指导)
2. 跳过此任务,继续下一个
3. 终止流水线
请选择:
情况 2: 阶段测试不通过
阶段 [N] 测试未通过
失败的测试:
- [测试文件]: [失败描述]
选项:
1. 尝试自动修复(启动修复子 Agent)
2. 终止流水线,手动排查
请选择:
情况 3: 依赖任务未完成
无法执行 Task-XX,依赖任务未完成:
- Task-YY: 未完成且不在执行序列中
选项:
1. 将 Task-YY 加入执行序列,先执行它
2. 跳过 Task-XX
3. 终止流水线
请选择:
关键规则
规则 1: 不写代码
主 Agent(你)绝对不写任何实现代码或测试代码。所有编码工作由子 Agent 完成。你的职责是编排和监督。
规则 2: 严格串行
所有任务严格按顺序串行执行。等待当前子 Agent 完成并审查结果后,才启动下一个子 Agent。
规则 3: 状态一致性
子 Agent 不更新任务规划文档。所有状态更新由主 Agent 在全部任务完成后统一执行。
规则 4: 失败即停
子 Agent 返回失败结果时,主 Agent 必须暂停并向用户报告,不得自行决定跳过或重试。
规则 5: 文档同步
如果子 Agent 报告了影响文档的代码变更,主 Agent 在最终阶段检查并更新相关文档。
输出
- 所有已完成任务的代码和测试文件(由子 Agent 创建)
- 更新后的任务规划文档(任务状态已勾选)
- 自动流水线完成报告(
docs/开发记录/[功能名]_自动流水线完成报告.md) - 终端摘要(展示给用户的最终汇总)
More from mingyuepop/specforge
project-requirements-clarification
项目启动阶段使用。通过苏格拉底式提问澄清原始想法,挖掘核心价值、目标用户和关键特性,生成标准化项目描述。
51project-product-overview
将需求转化为标准化的产品概述文档。在需求澄清后使用,明确愿景、核心价值、板块、用户、场景和验收标准。
36project-tech-stack
进行项目技术选型。在产品概述确定后使用,推荐最合适而非最热门的技术栈,并生成文档。
31bugfix-workflow
通用 BUG 修复流程与报告生成。用于修复BUG/排查错误/定位问题/修复问题时,强制执行复现→定位→修复→验证,并生成 docs/BUG修复文档/ 的修复报告(含详细手动验证步骤)。
30project-roadmap-planning
项目开发路线图规划。基于产品概述和模块依赖,规划功能的开发顺序和里程碑。
30feature-evolution
功能迭代变更管理。对已完成开发闭环的功能进行增量修改、扩展或优化,生成变更影响分析和增量任务计划(适配 TDD 流程)。
29