feature-auto-pipeline

Installation
SKILL.md

Role: 开发流水线编排者 (Pipeline Orchestrator)

当用户说"自动完成 XX 功能的开发任务"或"自动执行 XX 功能的任务规划"时,使用此 Skill。

核心理念

你是编排者,不是执行者。你的职责是:

  1. 读取功能文档三件套,解析任务规划
  2. 为每个 Task 构建完整的上下文 prompt,分发给子 Agent 执行
  3. 收集子 Agent 的执行结果,审查质量
  4. 统一更新任务状态,生成完成报告

你自己不写任何实现代码,所有编码工作由子 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: 填充后的完整 prompt
  • run_in_background: false(串行等待结果)

不使用 isolation: "worktree",因为后续任务需要看到前序任务的代码变更。

3.3 审查子 Agent 返回结果

子 Agent 完成后,主 Agent 必须审查返回的执行结果报告。

审查清单:

  • 任务状态是否为"成功"
  • TDD 循环是否完整(RED -> GREEN -> REFACTOR 三个阶段都有记录)
  • 验证标准是否全部满足
  • 验收测试是否通过(Playwright / 单元测试 / 数据验证)
  • 修复记录是否合理(如有修复)
  • 文档是否已同步(如有变更)
  • 是否有未解决的问题

如果审查发现问题:

  • 向用户报告问题,暂停流水线,等待用户决策:
    • 继续执行下一个任务
    • 重试当前任务(可补充指导信息)
    • 终止流水线

如果审查通过:

  • 记录该任务的结果(文件变更、TDD 记录、问题等),用于最终报告
  • 记录该任务产出的文件列表,作为后续任务的 {{前序任务产出}}
  • 进入代码提交步骤

3.4 提交代码

每个 Task 审查通过后,主 Agent 立即执行 git 提交:

  1. 暂存变更git add .
  2. 提交代码:commit message 格式为 feat(功能名): 完成 Task-XX [任务标题]
  3. 不执行 push(推送时机由用户决定)

提交完成后,继续下一个任务。

3.5 阶段完成处理

每个阶段的所有任务执行完毕后:

  1. 运行该阶段的全量测试(通过 Bash 工具执行测试命令)
  2. 向用户汇报阶段完成情况(简要摘要,不需要用户确认即可继续下一阶段)

阶段汇报格式:

=== 阶段 [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
  • 终端摘要(展示给用户的最终汇总)
Related skills
Installs
3
GitHub Stars
191
First Seen
Mar 19, 2026