😀
前言:最近在研究 obra/superpowers 这个开源仓库。它不是一个普通的工具库,而是一套给 AI coding agent 用的结构化开发方法论,用 Markdown 写成的「技能文件」来约束 AI 的行为流程。
这篇文章记录我的学习过程:它是什么、核心功能有哪些、如何安装,以及一个完整的实际开发例子。
📝 主旨内容
💡 一、Superpowers 是什么
把「有纪律的人类工程师的工作习惯」硬编码进 AI 行为约束里,让 AI 不能走捷径。
AI coding agent(Claude Code、Cursor、Copilot CLI 等)有一个共同问题:太容易自作主张。你说「帮我加个功能」,它可能直接就开始写代码,跳过需求确认、跳过测试、最后给你一坨跑不通的东西。
Superpowers 解决的正是这个问题。它是一套以 Markdown 编写的技能文件集合,安装后加载到 AI 的上下文里,强制约束 AI 在每个关键节点的行为:
-
写代码前必须先 brainstorm 确认需求
-
没有失败的测试禁止写生产代码
-
没找到根因禁止提出 fix
-
宣告完成前必须跑验证命令并展示输出证据
每一条规则都是铁律,AI 不能自我例外,不能「就这一次跳过」。
🔍 二、14 个核心技能模块
所有「铁律」技能都遵循同一个模式:禁止跳步骤 + 需要物理证据 + 不可自我例外。
Superpowers 共有 14 个技能,分为五类:
开发前置(必须先走)
| 技能 | 作用 |
|---|---|
brainstorming | 任何新功能前强制触发,逐一提问、产出设计方案,用户批准前禁止写代码 |
writing-plans | 需求确认后写实现计划,细致到零上下文工程师也能执行 |
执行阶段
| 技能 | 作用 |
|---|---|
subagent-driven-development | 每个任务派发独立 subagent,执行后做双阶段 review(spec 合规 → 代码质量) |
dispatching-parallel-agents | 2+ 个独立任务时并行派发 agent,互不干扰 |
executing-plans | 无 subagent 环境的降级方案,逐步执行计划 |
using-git-worktrees | 开始功能开发前创建隔离 worktree,避免分支互相污染 |
质量保障(铁律)
| 技能 | 铁律 |
|---|---|
test-driven-development | 没有失败的测试,禁止写生产代码 |
systematic-debugging | 没找到根因,禁止提出 fix |
verification-before-completion | 没有验证命令输出证据,不得声称完成 |
代码审查
| 技能 | 作用 |
|---|---|
requesting-code-review | 派发独立 code-reviewer subagent 做审查 |
receiving-code-review | 收到反馈后先核实再实施,禁止盲目同意瞎改 |
收尾 + 元技能
| 技能 | 作用 |
|---|---|
finishing-a-development-branch | 验证测试 → 呈现 merge/PR/cleanup 选项 → 执行 |
writing-skills | 用 TDD 思路编写新技能本身 |
using-superpowers | 每次对话开始时加载,建立所有技能的调度规则 |
🛠️ 三、安装方法
这不是一个需要服务器部署的项目,纯粹是 AI coding agent 的插件。
Claude Code(推荐)
# 方法一:官方市场直接安装
/plugin install superpowers@claude-plugins-official
# 方法二:先注册 Superpowers 自己的市场
/plugin marketplace add obra/superpowers-marketplace
/plugin install superpowers@superpowers-marketplace
安装完成后运行 /reload-plugins,看到 superpowers:\* 技能列表即表示成功。
其他平台
# Cursor
/add-plugin superpowers
# Gemini CLI
gemini extensions install https://github.com/obra/superpowers
# GitHub Copilot CLI
copilot plugin marketplace add obra/superpowers-marketplace
copilot plugin install superpowers@superpowers-marketplace
安装后无需配置,技能会根据你说话的内容自动触发,不需要 slash 命令。
旧版 slash 命令说明
旧版有 /brainstorm、/write-plan、/execute-plan 命令,但现已全部标记为 deprecated,官方建议直接用自然语言触发对应技能。
⚙️ 四、完整开发例子:给 Python 项目加滚动波动率计算
下面用一个具体例子演示 Superpowers 工作流的完整流程。
场景:给 factor\_mining 项目加一个滚动 realized volatility 计算功能。
Step 1 — 你输入
帮我给 factor_mining 加一个滚动 realized volatility 计算功能
Step 2 — AI 触发 brainstorming,不写代码,先问问题
我在使用 superpowers:brainstorming 技能。
1. 滚动窗口期多少天?(20 天、60 天,还是可配置?)
2. 用日收益率还是对数收益率?
3. 需要年化吗?(×√252)
4. 输出格式是新增 DataFrame column,还是独立文件?
5. 需要支持多资产同时计算吗?
你回答后,AI 产出设计方案并等你确认。
Step 3 — AI 触发 writing-plans,输出实现计划
=== 实现计划 ===
Task 1: 新建 factor_mining/vol.py
文件: factor_mining/vol.py(新建)
函数: rolling_realized_vol(returns: pd.Series, window: int, annualize: bool = True) -> pd.Series
测试: tests/test_vol.py,覆盖 window=20/60,空输入,NaN 处理,年化开关
Task 2: 在 factor_mining/__init__.py 第 12 行暴露接口
from .vol import rolling_realized_vol
Task 3: 集成测试 + 文档更新
Step 4 — 触发 test-driven-development,先写测试看它 FAIL
# tests/test_vol.py(先写,看它 FAIL)
def test_rolling_vol_window20():
ret = pd.Series([0.01, -0.02, 0.015, -0.005] * 10)
result = rolling_realized_vol(ret, window=20)
# 前 19 个应为 NaN,之后应有值
assert result.iloc[:19].isna().all()
assert result.iloc[19:].notna().all()
def test_rolling_vol_empty_input():
result = rolling_realized_vol(pd.Series([], dtype=float), window=20)
assert len(result) == 0
Step 5 — 确认测试 FAIL 后,再写实现代码
# factor_mining/vol.py
import numpy as np
import pandas as pd
def rolling_realized_vol(
returns: pd.Series,
window: int,
annualize: bool = True
) -> pd.Series:
vol = returns.rolling(window).std()
if annualize:
vol = vol * np.sqrt(252)
return vol
Step 6 — 触发 verification-before-completion,必须展示输出证据
$ pytest tests/test_vol.py -v
test_vol.py::test_rolling_vol_window20 PASSED
test_vol.py::test_rolling_vol_empty_input PASSED
test_vol.py::test_rolling_vol_annualize PASSED
3 passed in 0.12s
只有展示了这段输出,AI 才能宣告「完成」。
整个流程总结:
自然语言需求
→ brainstorming 确认设计
→ writing-plans 细化任务
→ subagent 并行执行
→ TDD 铁律:先测试后代码
→ verification 展示证据
→ finishing-a-development-branch 收尾
🤗 总结归纳
Superpowers 的价值在于把「有纪律的工程师」的工作流固化成 AI 的行为约束。它不让 AI 跳步骤,不让 AI 假装完成,不让 AI 在没有根因的情况下乱改代码。
如果你在用 Claude Code、Cursor 或 Copilot CLI,并且经历过 AI 自作主张写了一堆跑不通的代码,或者说「测试全过了」但根本没跑测试——Superpowers 就是为这个问题设计的。
📎 参考链接
-
GitHub 仓库:https://github.com/obra/superpowers
-
Claude Code 插件安装命令:
/plugin install superpowers@claude-plugins-official
💡
安装后直接用自然语言和 Claude Code 对话即可,技能会自动识别场景并触发,无需记忆任何 slash 命令。欢迎在评论区分享你的使用体验~
