Commonly-used-high-value-skills subagent-driven-development

用于多子 Agent 并行开发编排,包含任务分派、两阶段审查和自动化质量门控。来源:obra/superpowers。

install
source · Clone the upstream repo
git clone https://github.com/seaworld008/Commonly-used-high-value-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/seaworld008/Commonly-used-high-value-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/openclaw-skills/subagent-driven-development" ~/.claude/skills/seaworld008-commonly-used-high-value-skills-subagent-driven-development && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/seaworld008/Commonly-used-high-value-skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/openclaw-skills/subagent-driven-development" ~/.openclaw/skills/seaworld008-commonly-used-high-value-skills-subagent-driven-development && rm -rf "$T"
manifest: openclaw-skills/subagent-driven-development/SKILL.md
source content

Subagent Driven Development (SDD)

触发条件

  1. 用户提出了一个复杂的开发需求(如:“开发一个完整的主页,包含导航栏、Hero 区、三个功能介绍块、Footer”)。
  2. 项目涉及多个模块的并行开发,且模块间耦合度较低。
  3. 需要快速交付大批量相似任务(如:生成 10 个 API 接口定义)。
  4. 任务需要极高的代码质量,且必须通过两阶段严格审查。
  5. 开发者希望通过“主控-执行”模式来管理大型项目的进度。

核心能力

1. 任务拆分策略 (2-5分钟粒度)

SDD 的核心在于将任务拆解得足够细小:

  • 原子性:每个子任务应当是原子的,可以在 2 到 5 分钟内由一个 Agent 完成。
  • 独立性:尽量减少子任务间的相互依赖,如果存在依赖,必须明确先后顺序。
  • 可验证性:每个子任务必须有明确的验收标准(Definition of Done, DoD)。

2. 子 Agent 分派模式 (Dispatch Pattern)

  • 主控 Agent (Master):负责规划(Plan)、拆分(Split)、分派(Dispatch)和合并(Merge)。
  • 执行 Agent (Worker/Sub-Agent):只接收一个具体的原子任务,独立执行并提交结果。
  • 上下文最小化:给每个子 Agent 只提供执行该任务所需的最小代码上下文,以提高生成的准确性。

3. 两阶段审查 (Two-phase Review)

每个任务完成后,必须经过两层关卡:

  • 第一阶段:规格合规性 (Spec Compliance):检查代码是否符合最初的需求描述、命名规范和接口约定。
  • 第二阶段:代码质量 (Code Quality):进行 Lint 检查、安全漏洞扫描、单元测试运行。只有两项都通过,代码才能合并入主分支。

4. Git Worktree 隔离 (Isolation)

  • 并行开发:为主控 Agent 和每个活跃的子 Agent 创建独立的 Git Worktree。
  • 分支管理:每个子任务都在独立的 feature 分支上进行,确保主分支始终保持 Clean。
  • 无冲突合并:通过早期的接口约定,确保各分支合并时冲突最少。

5. 进度跟踪 (Progress Tracking)

  • 状态看板:动态维护一个任务状态表(Pending, Running, Reviewing, Completed, Failed)。
  • 心跳监控:主控 Agent 定期轮询子任务进度,发现卡死及时重启或重试。

6. 错误恢复机制 (Error Recovery)

  • 自动重试:子任务失败(如单元测试未通过)时,自动将错误日志反馈给子 Agent 进行修复。
  • 降级处理:如果多次修复失败,主控 Agent 将任务标记为 Blocked,并向人类寻求干预。

7. 人类检查点设计 (Human Checkpoint)

  • 关键节点确认:在任务拆分完成、重大重构开始前,必须提示人类进行 Review 并确认。
  • 手动接管:允许人类在任何时刻接管某个子 Agent 的任务。

常用命令/模板

任务拆分清单模板

# [SDD-Plan] 项目名称: [Name]

## 1. 任务依赖图 (Dependency Graph)
- Task A (Base API) -> Task B (UI Components) -> Task C (Integration)

## 2. 原子任务详情 (Atomic Tasks)
- [ ] Task-001: 创建 `src/types/user.ts` 接口定义 (DoD: 通过 tsc 编译)
- [ ] Task-002: 实现 `src/api/user.ts` 获取用户信息接口 (DoD: Mock 测试通过)
- [ ] Task-003: 编写 `UserCard.tsx` 组件 (DoD: Snapshot 测试通过)

子 Agent 任务指令 (Prompt Template)

你是一个子 Agent,负责执行以下原子任务:
任务名称: [Task-001]
任务上下文: [Relevant Files Path]
验收标准: [DoD]
限制条件: [Coding Styles/No external libs]
请在完成后输出代码及对应的单元测试。

边界与限制

  1. 过度拆分 (Over-splitting):过细的拆分会带来沉重的管理负担和频繁的上下文切换开销。
  2. 循环依赖:如果两个模块必须同时修改才能运行,SDD 将失效,此时需合并为单一任务。
  3. 资源消耗:大规模并发启动子 Agent 会消耗大量 Token 和 API Quota。
  4. 上下文丢失:如果主控 Agent 没有把接口定义传达给所有子 Agent,可能会导致最终集成时的类型不匹配。

最佳实践准则

  • 先定义接口,再并行开发:先由主控 Agent 生成所有
    interface
    types
  • 测试驱动 (TDD):子 Agent 提交代码时必须附带测试用例。
  • 快速失败 (Fail Fast):一旦某个核心子任务失败且无法修复,立即停止整个流水线。
  • 单一职责:一个子 Agent 只改一个文件(或一组高度相关的紧耦合文件)。

Generated by SDD Orchestrator