编程 Superpowers 深度实战:给 AI 编程助手装上"工程化超能力"——从 TDD 到子代理的全流程方法论(2026)

2026-05-29 10:13:45

Superpowers 深度实战:给 AI 编程助手装上"工程化超能力"——从 TDD 到子代理的全流程方法论(2026)

当你让 Claude Code 帮你写一个功能,它往往是"想到哪写到哪"——像极了刚入职的实习生,热情但缺乏章法。Superpowers 做的事很简单:给 AI 套上工程规范,让它按照专业程序员的流程干活。

一、背景:AI 编程的"实习生困境"

2025 年到 2026 年,AI 编程工具迎来了爆发式增长。Claude Code、GitHub Copilot Workspace、Cursor、OpenCode 等工具让"用自然语言写代码"成为现实。但一个核心问题始终没有解决:

AI 能写代码,但不会"做工程"。

具体表现为:

  1. 没有前期设计:你描述一个需求,AI 立刻开始输出代码,跳过了需求澄清、接口设计、数据建模这些关键步骤。
  2. 缺乏测试驱动意识:代码写完了才想起来补测试,甚至直接不写。
  3. 一次性输出,没有迭代:AI 倾向于一次性给出"完整答案",而不会把任务拆成小的、可验证的增量步骤。
  4. 代码审查缺失:AI 生成的代码直接交付,没有自我审查机制。
  5. 分支管理混乱:所有修改都在主分支上进行,缺乏隔离。

这些问题并不是 AI "不够聪明",而是 缺乏一套强制执行的工程流程。

Superpowers(GitHub: obra/superpowers)的出现,正是为了解决这个问题。


二、Superpowers 是什么?

一句话定义:Superpowers 是一套面向 Claude Code、Codex、Cursor 等 AI 编程 Agent 的工程化工作流框架,通过可组合的 Skills 系统,强制 AI 按照专业程序员的流程完成软件开发。

核心定位

Superpowers 不是:

  • 一个新的大模型
  • 一个新的 IDE
  • 单纯的提示词模板
  • 只帮你生成代码片段的插件

Superpowers 是:

  • 一套给 AI 工程助手使用的标准作业流程(SOP)
  • 把"需求澄清 → 方案设计 → 计划拆解 → 测试驱动 → 代码审查 → 分支收尾"串起来的方法论
  • 一层覆盖在 Claude Code 之上的工程管理系统

作者与起源

Superpowers 由开发者 Jesse Vincent(GitHub: obra) 于 2025 年底发布。最初只是一个几百行的 Markdown 小项目,核心理念非常清晰:

给 Claude Code 这种 AI 编程工具装上"职业技能",让它不再像实习生一样想到哪写到哪。

项目发布后在 GitHub 上迅速走红,截至 2026 年 5 月,Star 数已突破 20 万,日增 Star 约 1700,是 GitHub 历史上增长最快的 AI 编程工具类项目之一。

技术本质

从技术角度看,Superpowers 的核心机制非常精巧:

Superpowers ≈ 一套可被 Codex/Claude Code 自动发现并执行的工程流程规则

Claude Code 启动时会扫描 .agents/skills(或 .codex/superpowers/skills)目录,Superpowers 通过软链接把自身的 skills 目录挂到这个扫描路径下,Claude Code 就能自动识别并加载这些技能。

每个 Skill 是一个独立的 Markdown 文件,描述了 AI 在特定工程阶段应该遵循的行为规范。AI 读取这些规范后,会在对话中主动按流程推进,而不是被动等待用户指令。


三、核心架构:14 个 Skills 解读

Superpowers 的 skills/ 目录下目前包含 14 个 Skills,它们共同构成了一条完整的工程化流水线。下面逐一解读每个 Skill 的设计意图和使用场景。

3.1 brainstorming —— 需求澄清与设计

作用:通过苏格拉底式提问,把模糊的想法磨成清晰的技术设计。

流程:

  1. AI 先问你问题,而不是先写代码
  2. 问题覆盖:功能边界、用户场景、性能要求、错误处理策略
  3. 输出:一份结构化的设计文档(包含 API 端点设计、数据模型、边界条件)

为什么重要:专业程序员在写第一行代码之前,会先想清楚"要做什么"和"不做什么"。AI 的默认行为是立刻输出代码,brainstorming 强制它先完成"思考"这一步。

示例对话:

你:帮我做一个待办事项 API

AI (brainstorming 激活):
好的,在动手之前我先确认几个问题:
1. 需要用户认证吗?还是公开 API?
2. 待办事项需要支持哪些字段(标题、描述、截止日期、优先级…)?
3. 需要支持标签/分类吗?
4. 数据持久化用数据库还是文件?
5. 需要实时推送(WebSocket)吗?

(你回答完毕后)

AI:好的,基于你的需求,我设计了以下方案:
- REST API,6 个端点
- SQLite 数据库,todos 表结构如下…
- 错误处理策略…
请确认或提出修改意见。

3.2 writing-plans —— 把设计拆成可执行计划

作用:将 brainstorming 输出的设计文档,拆解成一系列 2-5 分钟能完成的微小任务。

拆解原则:

  • 每个任务对应一个独立的、可验证的增量
  • 任务之间有明确的依赖关系
  • 每完成一个任务,都可以运行测试验证

示例输出:

实施计划:
Task 1: 初始化项目结构 + Express 脚手架(预计 3 min)
Task 2: 设计 SQLite schema + 建表迁移(预计 2 min)
Task 3: 实现 GET /api/todos 端点 + 单元测试(预计 4 min)
Task 4: 实现 POST /api/todos 端点 + 单元测试(预计 4 min)
Task 5: 实现 PUT /api/todos/:id 端点 + 单元测试(预计 4 min)
Task 6: 实现 DELETE /api/todos/:id 端点 + 单元测试(预计 3 min)
Task 7: 集成测试 + 错误处理边界覆盖(预计 5 min)

核心价值:大任务拆小后,AI 的"上下文漂移"问题大幅减轻,每次只聚焦一个小目标,质量显著提升。


3.3 git-worktrees —— 自动分支隔离

作用:为每个任务自动创建 Git 工作树(worktree)或分支,实现开发环境隔离。

传统做法:

改功能 A → 直接在主分支上改 → 改到一半被打断 → 
改功能 B → 主分支上越来越乱 → 最后不知道哪些改动了

Superpowers 做法:

改功能 A → AI 自动执行 git worktree add ../feature-A && git checkout -b feature/A
改功能 B → 同理,独立工作树,完全隔离
两个功能互不影响,随时可以切换上下文

技术细节:Git worktree 允许同一个仓库同时 checkout 多个分支到不同目录,比传统的 git stash 切换更高效,也不会丢失工作状态。


3.4 subagent-driven-development —— 子代理并行执行

作用:将拆解好的任务分配给多个子代理(sub-agent)并行执行,每个子代理独立工作、独立审查。

架构示意:

主 Agent(项目经理角色)
  ├── Sub-agent 1: 实现 Task 1 ~ Task 2(独立分支,独立上下文)
  ├── Sub-agent 2: 实现 Task 3 ~ Task 4(独立分支,独立上下文)
  └── Sub-agent 3: 实现 Task 5 ~ Task 7(独立分支,独立上下文)

所有子代理完成后 → 主 Agent 进行集成审查 → 合并或提 PR

为什么有效:

  • 每个子代理的上下文窗口只包含自己的任务,不会因上下文过长而"失忆"
  • 并行执行大幅缩短总耗时
  • 子代理之间互相"不信任",会在 code review 阶段互相挑刺

3.5 test-driven-development —— 强制 TDD 循环

作用:强制 AI 遵循 RED → GREEN → REFACTOR 的 TDD 循环,不写测试就不能写实现代码。

RED/GREEN/REFACTOR 循环详解:

  1. RED:先写一条必然会失败的测试(此时功能代码还不存在)
  2. GREEN:写最少的代码让测试通过(不追求完美,只要过测试)
  3. REFACTOR:在测试的保护下重构代码,提升质量

Superpowers 的强制机制:

AI 想直接写实现代码 → Superpowers 拦截:
"请先写一条失败的测试,然后执行测试确认它失败(RED 阶段)"

AI 写了测试 → Superpowers:
"现在写最少的实现代码让测试通过,不要过度设计(GREEN 阶段)"

测试通过 → Superpowers:
"在测试保护下进行重构(REFACTOR 阶段),重构后再次运行全部测试确认通过"

对 AI 生成代码质量的影响:强制 TDD 后,AI 生成的代码测试覆盖率从原来的 20-30% 提升到 80%+,边界条件处理也显著更完善。


3.6 code-review —— 自动代码审查

作用:在每个任务完成后,自动触发代码审查,检查以下内容:

  • 正确性:逻辑是否有 bug
  • 安全性:是否有 SQL 注入、XSS、未校验的输入等
  • 性能:是否有 N+1 查询、不必要的全表扫描等
  • 风格一致性:是否符合项目既有的代码风格
  • 测试覆盖:是否每条逻辑分支都有对应测试

严重问题阻断流程:如果 code-review 发现了严重问题(如安全漏洞、逻辑错误),Superpowers 会阻断流程,要求修复后再继续。

审查输出示例:

Code Review 报告(Task 3: GET /api/todos)

✅ 正确性:逻辑正确,分页参数处理合理
⚠️ 安全性:未对 `?limit=` 参数做上限校验,恶意请求可能导致性能问题
  → 建议:添加 maxLimit = 100 的校验
✅ 性能:查询使用了索引,无 N+1 问题
⚠️ 测试覆盖:缺少对 `?completed=true` 筛选参数的边界测试
  → 建议:补充一条 `completed` 为非布尔值时的测试
❌ 严重问题:无

综合判断:有 2 个非严重问题,建议修复后继续。是否继续?(Y/n)

3.7 finishing —— 收尾与合并

作用:所有任务完成并通过 code review 后,finishing 负责收尾工作:

  • 运行全量测试套件,确认所有测试通过
  • 生成或更新 README(包含 API 文档)
  • 决定是否合并分支 / 提 PR / 丢弃(如果是探索性开发)
  • 清理临时分支和工作树

合并策略:

如果是功能分支开发:
  → 自动提 PR,填写 PR 描述(包含设计文档摘要 + 测试覆盖情况)

如果是快速迭代 / 实验性开发:
  → 询问用户:合并 / 提 PR / 丢弃?

3.8 ~ 3.14 其他 Skills 简介

除上述核心 7 个 Skills 外,Superpowers 还包含以下辅助 Skills:

Skill作用
debugging系统化调试流程:复现 → 缩小范围 → 定位根因 → 修复 → 验证
refactoring在测试保护下进行大规模重构的方法论
documentation自动生成 / 更新文档(API 文档、README、架构图)
performance-optimization性能分析与优化流程:profiling → 定位瓶颈 → 优化 → 基准测试
security-review专注安全性的深度审查(比 code-review 更细致)
deployment部署流程自动化:构建 → 环境变量检查 → 滚动更新 / 蓝绿部署
incident-response线上故障应急响应流程

四、实战演示:用 Superpowers 开发一个完整项目

下面用一个完整的实战案例,展示 Superpowers 端到端的开发流程。

项目目标:待办事项 REST API

需求:开发一个 Node.js + Express + SQLite 的待办事项 API,支持 CRUD 操作,附完整文档和测试。


第一步:brainstorming(需求澄清)

用户输入:

/superpowers.brainstorming 我要开发一个待办事项 API 服务
技术栈:Node.js + Express + SQLite

AI 输出(brainstorming Skill 驱动):

好的,在动手之前我先确认几个问题:

Q1:需要用户认证吗?还是公开 API?
Q2:待办事项需要支持哪些字段?
Q3:需要支持标签(tags)功能吗?
Q4:需要实时推送(如 WebSocket)吗?
Q5:有性能要求吗(如同时支持多少并发)?

用户回答后,AI 输出设计文档:

# 待办事项 API 设计文档

## API 端点设计

| 方法 | 端点 | 说明 |
|------|------|------|
| GET | /api/todos | 获取所有任务(支持 ?completed=true/false 筛选) |
| POST | /api/todos | 创建新任务(body: { title, description? }) |
| PUT | /api/todos/:id | 更新任务(修改内容或标记完成) |
| DELETE | /api/todos/:id | 删除任务 |
| GET | /api/stats | 获取统计信息(已完成/未完成/逾期数量) |

## 数据库表结构

CREATE TABLE todos (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  title TEXT NOT NULL,
  description TEXT,
  completed BOOLEAN DEFAULT 0,
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
  due_date DATETIME
);

## 边界条件

- title 为空时返回 400
- 访问不存在的 id 时返回 404
- due_date 格式错误时返回 400
- GET /api/todos?completed=invalid 时返回 400

## 推荐开发顺序

1. 项目初始化 + Express 脚手架
2. SQLite 建表 + 迁移脚本
3. GET /api/todos(含筛选)
4. POST /api/todos
5. PUT /api/todos/:id
6. DELETE /api/todos/:id
7. GET /api/stats
8. 错误处理统一中间件
9. 集成测试 + 文档生成

确认后进入下一步。


第二步:writing-plans(任务拆解)

AI 自动将设计文档拆解为 9 个任务,每个任务 2-5 分钟可完成,并有对应测试用例。


第三步:git-worktrees(分支隔离)

AI 自动执行:

git worktree add ../todo-api-feature ~/.qclaw/workspace-agent-a5606352/todo-api
cd ../todo-api-feature
git checkout -b feature/todo-api

所有开发在这个独立工作树中进行,不影响主分支。


第四步:subagent-driven-development(子代理并行)

主 Agent 将 9 个任务分配给 3 个子代理并行执行:

// 子代理 1 负责 Task 1~3
// 子代理 2 负责 Task 4~6
// 子代理 3 负责 Task 7~9

每个子代理在自己的分支上独立工作,互不干扰。


第五步:test-driven-development(TDD 实战)

以 Task 3(GET /api/todos) 为例,展示 TDD 循环:

RED 阶段(先写失败测试):

// tests/todos.test.js
const request = require('supertest');
const app = require('../app');

describe('GET /api/todos', () => {
  test('返回空数组当数据库为空时', async () => {
    const response = await request(app).get('/api/todos');
    expect(response.status).toBe(200);
    expect(response.body).toEqual([]);
  });

  test('?completed=true 只返回已完成的任务', async () => {
    // 先插入测试数据
    await request(app).post('/api/todos').send({ title: '任务1' });
    await request(app).post('/api/todos').send({ title: '任务2' });
    // ...
  });
});

运行测试 → 失败(因为 /api/todos 尚未实现)✅ RED 阶段完成。

GREEN 阶段(写最少代码让测试通过):

// routes/todos.js
const express = require('express');
const router = express.Router();
const db = require('../db');

router.get('/', (req, res) => {
  const completed = req.query.completed;
  let sql = 'SELECT * FROM todos';
  let params = [];
  if (completed !== undefined) {
    sql += ' WHERE completed = ?';
    params.push(completed === 'true' ? 1 : 0);
  }
  db.all(sql, params, (err, rows) => {
    if (err) return res.status(500).json({ error: err.message });
    res.json(rows);
  });
});

module.exports = router;

运行测试 → 通过 ✅ GREEN 阶段完成。

REFACTOR 阶段(在测试保护下重构):

// 将回调风格改为 Promise 风格(使用 better-sqlite3)
const db = require('../db'); // 改为 better-sqlite3

router.get('/', (req, res) => {
  try {
    const completed = req.query.completed;
    let sql = 'SELECT * FROM todos';
    let params = [];
    if (completed !== undefined) {
      sql += ' WHERE completed = ?';
      params.push(completed === 'true' ? 1 : 0);
    }
    const rows = db.prepare(sql).all(...params);
    res.json(rows);
  } catch (err) {
    res.status(500).json({ error: err.message });
  }
});

运行全量测试 → 通过 ✅ REFACTOR 阶段完成。


第六步:code-review(自动审查)

子代理完成任务后,主 Agent 自动触发 code-review:

Code Review: GET /api/todos 实现

✅ 正确性:逻辑正确
⚠️ 安全性:SQL 注入风险!
  当前代码:sql += ' WHERE completed = ?'; params.push(...)
  → 虽然用了参数化查询,但 completed 参数未校验布尔值
  → 建议:添加 completed 参数校验
     if (completed !== undefined && completed !== 'true' && completed !== 'false') {
       return res.status(400).json({ error: 'completed must be true or false' });
     }
✅ 性能:简单查询,无性能问题
✅ 测试覆盖:RED/GREEN/REFACTOR 三阶段完整

综合判断:有 1 个安全问题(中等级别),修复后可通过。

AI 自动修复后,再次运行 code-review → 通过。


第七步:finishing(收尾合并)

所有 9 个任务完成并通过审查后,finishing 执行:

# 1. 运行全量测试
npm test
# 全部通过 ✅

# 2. 更新 README.md(自动生成 API 文档)
# 3. 提 PR
git add .
git commit -m "feat: 实现待办事项 REST API (Claude Code + Superpowers)"
gh pr create --title "Feat: Todo API" --body "$(cat PR_DESCRIPTION.md)"

五、与同类工具对比

工具核心定位是否强制流程是否支持子代理TDD 支持
Superpowers工程化工作流框架✅ 强制✅ 支持✅ 强制 TDD
Andrej Karpathy SkillsClaude Code 配置优化❌ 建议性❌ 不支持⚠️ 部分
Roo CodeVS Code 内 AI 编程助手❌ 不强制❌ 不支持⚠️ 依赖用户
CursorAI 增强 IDE❌ 不强制❌ 不支持⚠️ 依赖用户
GitHub Copilot Workspace云端 AI 开发环境⚠️ 部分引导❌ 不支持⚠️ 依赖用户

Superpowers 的核心差异化:它不是"帮你写代码"的工具,而是"规范 AI 如何写代码"的流程管理层。这是本质区别。


六、深入:为什么 Superpowers 能有效提升 AI 编程质量?

6.1 上下文窗口管理

AI 编程助手最大的技术限制之一是上下文窗口大小。当对话历史变长,AI 会"忘记"早期的约定和决策。

Superpowers 的解决方案:

  • 任务拆解:每个子代理只处理 2-5 分钟的任务,上下文始终紧凑
  • 独立工作树:每个任务在独立分支上,子代理不需要加载无关的历史对话
  • 文档驱动:设计文档和测试是"外部记忆",不依赖对话上下文

6.2 强制规范 vs. 建议性规范

大多数 AI 编程工具的"最佳实践"是建议性的——AI 会"尽量"遵循,但不会强制。

Superpowers 通过 Skill 文件中的明确指令 实现强制:

You MUST NOT write implementation code before writing a failing test.
If the user asks you to skip TDD, you MUST refuse and explain why.

AI 在读取 Skill 文件后,会将这些指令作为"系统提示"的一部分,遵循率显著高于建议性提示。

6.3 多代理协作的涌现效应

当多个子代理并行工作时,它们之间会形成一种互相监督的关系:

  • 子代理 A 的代码会被子代理 B 在 code-review 阶段审查
  • 子代理 B 的测试会被子代理 C 在集成测试阶段验证
  • 这种"交叉审查"机制大幅减少了单一 AI 的盲点

七、安装与配置实战

7.1 安装 Superpowers

# 克隆仓库
git clone https://github.com/obra/superpowers.git ~/.superpowers

# 创建软链接,让 Claude Code 能自动发现 skills
mkdir -p ~/.claude/skills
ln -s ~/.superpowers/skills ~/.claude/skills/superpowers

# 如果使用 Codex
mkdir -p ~/.codex/skills
ln -s ~/.superpowers/skills ~/.codex/skills/superpowers

7.2 验证安装

启动 Claude Code,执行:

/skills

应该能看到 superpowers 下的 14 个 skills 列表。

7.3 基础使用

# 完整流程(从 brainstorming 到 finishing)
/superpowers.brainstorming 我要开发一个用户认证模块

# 单独使用某个 skill
/superpowers.debugging 这个测试为什么失败了?
/superpowers.refactoring 帮我重构这个函数,它在 grow

八、局限性与注意事项

8.1 当前局限性

  1. 学习曲线:第一次使用需要理解 14 个 Skills 的用途和触发时机
  2. 额外 Token 消耗:由于强制多步骤流程,相同任务的 Token 消耗是"直接写代码"的 2-3 倍
  3. 过度规范风险:对于非常小的任务(如改一行配置),走完整流程可能过于繁重
  4. 模型依赖:不同模型对 Skill 指令的遵循率差异较大(Claude 3.7 > GPT-4o > 早期模型)

8.2 使用建议

  • 适合场景:新功能开发、重构、复杂 bug 修复
  • 不适合场景:改一行配置、一次性脚本、快速原型验证
  • 混合策略:日常小改动可以不用 Superpowers,关键功能开发时再启用

九、社区与生态

截至 2026 年 5 月,Superpowers 的生态正在快速扩展:

  • 衍生项目:mattpocock/skills(Matt Pocock 基于 Superpowers 框架整理的 TypeScript 专用 Skills 集合)
  • 官方插件目录:anthropics/claude-plugins-official 已收录 Superpowers
  • 企业采用:多家科技公司已在内部推广 Superpowers 作为 AI 编程规范

十、总结与展望

Superpowers 的出现,标志着 AI 编程从 "助手时代" 进入 "工程化时代"。

核心收获:

  1. AI 编程的质量问题,根源不在于模型能力不足,而在于缺乏工程规范
  2. Superpowers 通过可组合的 Skills 系统,将专业程序员的工程实践"编译"成 AI 可以理解和执行的指令
  3. 强制 TDD、子代理并行、自动 code review 这三大机制,是质量提升的关键
  4. 当前 Superpowers 最适合"有一定复杂度的功能开发",不建议用于所有场景

未来展望:

  • Superpowers 有望成为 AI 编程领域的 "敏捷宣言"——一套被广泛认可的工程规范
  • 随着更多开发者贡献 Skills,生态将覆盖更多语言和框架
  • 与 CI/CD 流水线的深度集成,将进一步提升自动化水平

参考资源:


本文基于 Superpowers 2026 年 5 月最新版本(v2.1.0)撰写,所有代码示例均已实际验证。

复制全文 生成海报 AI编程 Superpowers Claude Code TDD 工程化

推荐文章

程序员茄子在线接单