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.mdsource content
Subagent Driven Development (SDD)
触发条件
- 用户提出了一个复杂的开发需求(如:“开发一个完整的主页,包含导航栏、Hero 区、三个功能介绍块、Footer”)。
- 项目涉及多个模块的并行开发,且模块间耦合度较低。
- 需要快速交付大批量相似任务(如:生成 10 个 API 接口定义)。
- 任务需要极高的代码质量,且必须通过两阶段严格审查。
- 开发者希望通过“主控-执行”模式来管理大型项目的进度。
核心能力
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] 请在完成后输出代码及对应的单元测试。
边界与限制
- 过度拆分 (Over-splitting):过细的拆分会带来沉重的管理负担和频繁的上下文切换开销。
- 循环依赖:如果两个模块必须同时修改才能运行,SDD 将失效,此时需合并为单一任务。
- 资源消耗:大规模并发启动子 Agent 会消耗大量 Token 和 API Quota。
- 上下文丢失:如果主控 Agent 没有把接口定义传达给所有子 Agent,可能会导致最终集成时的类型不匹配。
最佳实践准则
- 先定义接口,再并行开发:先由主控 Agent 生成所有
和interface
。types - 测试驱动 (TDD):子 Agent 提交代码时必须附带测试用例。
- 快速失败 (Fail Fast):一旦某个核心子任务失败且无法修复,立即停止整个流水线。
- 单一职责:一个子 Agent 只改一个文件(或一组高度相关的紧耦合文件)。
Generated by SDD Orchestrator