← 返回文章
知行合一11 分钟阅读

Superpowers:给 AI Coding Agent 的结构化开发方法论

Superpowers 是一套开源的 AI coding agent 工作流插件,通过 14 个技能模块硬性约束 AI 的开发流程,防止跳步骤和自作主张,让 Claude Code、Cursor、Copilot 等工具变得更可控、更有纪律。

😀

前言:最近在研究 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-agents2+ 个独立任务时并行派发 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 就是为这个问题设计的。

📎 参考链接

💡

安装后直接用自然语言和 Claude Code 对话即可,技能会自动识别场景并触发,无需记忆任何 slash 命令。欢迎在评论区分享你的使用体验~