Skip to content

superpowers 开源项目解读

项目信息

  • 项目名称:superpowers

  • 项目描述:Superpowers 是一套让 AI 编码 Agent 学会"软件工程纪律"的插件系统。通过 14 个可组合的 Markdown 技能,它强制 Agent 遵循:先设计 → 再计划 → 再实现 → 测试 → 审查 → 合并 的完整流程。支持 7 个编码平台,零外部依赖。

  • 项目地址:https://github.com/obra/superpowers

  • superpowers-zh项目 (汉化版) 文档:https://github.com/jnMetaCode/superpowers-zh

  • 解决的核心痛点

      1. AI 编码 Agent 缺乏工程纪律 — 跳过设计、测试、架构考虑
      1. 跨平台 Agent 行为不一致 — 各编码平台缺乏统一工作流标准
      1. 开发流程碎片化 — 从需求到合并的全流程缺乏自动化编排
  • 核心工作流 (5 步)

用户说"帮我做X" → ① brainstorming (需求澄清)
                  → ② writing-plans (任务拆分)
                  → ③ subagent-driven-dev (自动执行)
                  → ④ TDD + Code Review (质量保证)
                  → ⑤ finishing (合并交付)

1. 项目概览

1.1 项目定位与核心价值

Superpowers 是一套面向编码 Agent 的完整软件开发方法论,通过可组合的技能 (Skills) 和引导指令,将 AI 编码助手从"代码补全工具"升级为能自主遵循工程纪律的"全流程开发伙伴"

  • 一句话定位:面向 AI 编码 Agent 的零依赖、跨平台软件开发方法论插件
  • 版本: v5.1.0
  • 许可证: MIT
  • 作者: Jesse Vincent (Prime Radiant)
  • GitHub: obra/superpowers

解决的核心痛点

  1. AI 编码 Agent 缺乏工程纪律 — 跳过设计、测试、架构考虑
  2. 跨平台 Agent 行为不一致 — 各编码平台缺乏统一工作流标准
  3. 开发流程碎片化 — 从需求到合并的全流程缺乏自动化编排

1.2 目标用户与使用场景

  • 主要用户:使用 AI 编码 Agent 的软件开发者
  • 贡献者:改进 Agent 工作流质量的工具开发者
  • 平台适配者:为新编码平台适配 Superpowers 的开发者

1.3 核心技术亮点

  1. Hook 驱动的自动引导:SessionStart 时自动注入技能系统,无需用户手动操作
  2. HARD-GATE 阶段门:通过语言约束(非代码)强制 Agent 遵循设计→计划→实现→测试→审查流程
  3. 子Agent驱动开发:每个任务分派给独立上下文的子Agent,经两阶段审查(规格+质量)
  4. Red Flags 反合理化系统:预先识别 Agent 的 12+ 种常见借口并逐条反制
  5. 零依赖设计:纯 Markdown + Shell,无需任何 npm/PyPI 依赖
  6. 跨平台适配:7 个编码平台,单一引导脚本通过环境变量自适应

1.4 技术栈与选型对比

维度Superpowers 的选择替代方案选择理由
技能载体Markdown代码 SDK / YAML 规则LLM 最易理解,无需解析
引导机制Hook SessionStart 注入用户手动加载自动化 = 可靠性
依赖策略零依赖npm/PyPI 包跨平台兼容,避免供应链风险
行为约束自然语言指令 (HARD-GATE等)程序级约束灵活且跨模型通用
图表语言Graphviz DOT + ASCIIMermaid 独占DOT 在纯文本环境更稳定

2. 整体架构设计

2.1 架构概述

Superpowers 采用 Hook 驱动 + 技能组合 (Hook-Driven + Composable Skills) 的分层架构。系统由四层组成:

  1. 平台适配层 (Harness Layer):各编码平台 (Claude Code, Codex, Cursor 等) 的插件清单,定义插件元数据和 Hook 触发规则。
  2. 引导注入层 (Bootstrap Layer)SessionStart Hook 在每次会话启动时自动将 using-superpowers 技能内容注入 Agent 的上下文窗口,教会 Agent 如何使用技能系统。
  3. 技能编排层 (Skill Orchestration Layer):14 个技能按工作流形成严格的有向无环图 (DAG),通过 frontmatter 元数据和技能内容中的 <HARD-GATE> 标签控制流转。
  4. 执行支撑层 (Execution Support Layer):SubAgent 定义、自定义命令、测试套件、构建脚本等辅助设施。

2.2 整体架构图

text
+=====================================================================+
|                     平台适配层 (Harness Layer)                         |
|                                                                       |
|  +------------------+ +------------------+ +------------------+      |
|  | .claude-plugin/  | | .codex-plugin/   | | .cursor-plugin/  |      |
|  | plugin.json      | | plugin.json      | | plugin.json      |      |
|  | hooks.json       | |                  | | hooks-cursor.json|      |
|  +--------+---------+ +--------+---------+ +--------+---------+      |
|           |                    |                    |                 |
|  +--------v---------+ +--------v---------+ +--------v---------+      |
|  | .opencode/       | | gemini-extension | | package.json     |      |
|  | plugins/*.js     | | .json            | | (Factory Droid)  |      |
|  +------------------+ +------------------+ +------------------+      |
+==================================+==================================+
                                   |
                                   | SessionStart Hook 触发
                                   v
+=====================================================================+
|                    引导注入层 (Bootstrap Layer)                        |
|                                                                       |
|  +-------------------------------------------------------------+    |
|  | hooks/session-start (bash)                                    |    |
|  | - 读取 skills/using-superpowers/SKILL.md                     |    |
|  | - JSON 转义后注入到 Agent 上下文                              |    |
|  | - 按平台输出不同 JSON 格式                                   |    |
|  |   (hookSpecificOutput vs additionalContext vs additional_context)|  |
|  +-------------------------------------------------------------+    |
|                                                                       |
|  +-------------------------------------------------------------+    |
|  | skills/using-superpowers/SKILL.md                            |    |
|  | - 教会 Agent 如何使用 Skill 工具                             |    |
|  | - 定义技能优先级规则 (Process > Implementation)              |    |
|  | - Red Flags 表格 (防止 Agent 跳过技能)                       |    |
|  | - 跨平台工具映射指引                                         |    |
|  +-------------------------------------------------------------+    |
+==================================+==================================+
                                   |
                                   | Agent 学习后自主触发
                                   v
+=====================================================================+
|                 技能编排层 (Skill Orchestration Layer)                  |
|                                                                       |
|  主工作流 (Linear DAG):                                               |
|                                                                       |
|  +----------------+    +----------------+    +----------------+      |
|  | brainstorming  |--->| writing-plans  |--->| subagent-      |      |
|  | (需求→设计)    |    | (设计→任务)    |    | driven-dev     |      |
|  +----------------+    +----------------+    | (执行任务)     |      |
|                                               +-------+--------+      |
|                                                       |               |
|                           +---------------------------+               |
|                           |                                           |
|              +------------v-----------+                              |
|              | test-driven-development| (内嵌,每次实现时触发)        |
|              +------------+-----------+                              |
|                           |                                           |
|              +------------v-----------+                              |
|              | requesting-code-review | (任务间审查)                 |
|              +------------+-----------+                              |
|                           |                                           |
|              +------------v-----------+                              |
|              | finishing-a-dev-branch | (合并/PR/清理)               |
|              +------------------------+                              |
|                                                                       |
|  辅助技能 (On-Demand):                                               |
|  +------------------------+  +---------------------------+           |
|  | systematic-debugging   |  | using-git-worktrees       |          |
|  | (4 阶段根因分析)       |  | (隔离工作区管理)         |           |
|  +------------------------+  +---------------------------+           |
|  +------------------------+  +---------------------------+           |
|  | verification-before-   |  | dispatching-parallel-     |          |
|  | completion             |  | agents                   |           |
|  | (完成前验证)           |  | (并行Agent调度)          |           |
|  +------------------------+  +---------------------------+           |
|  +------------------------+  +---------------------------+           |
|  | receiving-code-review  |  | executing-plans           |          |
|  | (响应审查反馈)         |  | (批量执行替代方案)       |           |
|  +------------------------+  +---------------------------+           |
|                                                                       |
|  元技能:                                                             |
|  +-------------------------------------------------------------+    |
|  | writing-skills (编写和测试新技能的完整方法论)               |    |
|  +-------------------------------------------------------------+    |
+=====================================================================+
                                   |
                                   v
+=====================================================================+
|                  执行支撑层 (Execution Support Layer)                   |
|                                                                       |
|  +-------------------+  +-------------------+  +------------------+  |
|  | agents/           |  | commands/         |  | tests/           |  |
|  | code-reviewer     |  | (自定义斜杠命令)  |  | 多平台测试套件   |  |
|  +-------------------+  +-------------------+  +------------------+  |
|  +-------------------+  +-------------------+  +------------------+  |
|  | scripts/          |  | docs/             |  | assets/          |  |
|  | bump-version.sh   |  | 设计文档与归档    |  | 静态资源         |  |
|  | sync-to-codex.sh  |  |                   |  |                  |  |
|  +-------------------+  +-------------------+  +------------------+  |
+=====================================================================+

2.3 目录结构

text
superpowers/
├── skills/                             # 【核心基建】AI 技能定义库(14个可组合技能)
│   ├── using-superpowers/              # 【核心基建】系统引导技能 — 教会Agent如何使用技能系统
│   │   ├── SKILL.md                    # 【核心基建】主技能文件(SessionStart时强制注入)
│   │   └── references/                 # 【工具集】跨平台工具名称映射
│   │       ├── codex-tools.md          # 【工具集】Codex CLI 工具与 CC 工具对照表
│   │       ├── copilot-tools.md        # 【工具集】Copilot CLI 工具与 CC 工具对照表
│   │       └── gemini-tools.md         # 【工具集】Gemini CLI 工具与 CC 工具对照表
│   ├── brainstorming/                  # 【业务模块】工作流第1步 — 需求澄清与设计生成
│   │   ├── SKILL.md                    # 【核心基建】9步工作流 + HARD-GATE 强制设计先行
│   │   ├── visual-companion.md         # 【业务模块】可视化伴侣触发条件与行为规范
│   │   ├── spec-document-reviewer-prompt.md  # 【业务模块】规格文档自我审查提示词
│   │   ├── ANNOTATIONS.md              # 【配置】技能设计注解(人类可读的设计意图说明)
│   │   └── scripts/                    # 【工具集】零依赖头脑风暴可视化服务器
│   │       ├── server.cjs              # 【核心基建】WebSocket 服务器(Node.js 内置模块)
│   │       ├── helper.js               # 【工具集】浏览器端渲染辅助脚本
│   │       ├── start-server.sh         # 【工具集】服务器启动(含端口检测与清理)
│   │       ├── stop-server.sh          # 【工具集】服务器停止与资源回收
│   │       └── frame-template.html     # 【UI 视图】设计预览框架 HTML 模板
│   ├── writing-plans/                  # 【业务模块】工作流第2步 — 设计→细粒度任务计划
│   │   ├── SKILL.md                    # 【核心基建】计划编写规范(2-5分钟级任务粒度)
│   │   ├── plan-document-reviewer-prompt.md  # 【业务模块】计划文档审查提示词
│   │   └── ANNOTATIONS.md              # 【配置】技能设计注解
│   ├── subagent-driven-development/    # 【业务模块】工作流第3步-A — 子Agent驱动任务执行
│   │   ├── SKILL.md                    # 【核心基建】每任务一个子Agent + 两阶段审查流程
│   │   ├── implementer-prompt.md       # 【业务模块】实现者子Agent的系统提示词
│   │   ├── spec-reviewer-prompt.md     # 【业务模块】规格合规审查子Agent提示词
│   │   ├── code-quality-reviewer-prompt.md  # 【业务模块】代码质量审查子Agent提示词
│   │   └── ANNOTATIONS.md              # 【配置】技能设计注解
│   ├── executing-plans/                # 【业务模块】工作流第3步-B — 批量执行(替代方案)
│   │   └── SKILL.md                    # 【核心基建】带人工检查点的批量任务执行
│   ├── test-driven-development/        # 【业务模块】TDD 纪律 — RED-GREEN-REFACTOR 循环
│   │   ├── SKILL.md                    # 【核心基建】铁律:无失败测试=无产品代码
│   │   ├── testing-anti-patterns.md    # 【工具集】测试反模式参考手册
│   │   └── ANNOTATIONS.md              # 【配置】技能设计注解
│   ├── systematic-debugging/           # 【业务模块】4阶段系统化调试方法论
│   │   ├── SKILL.md                    # 【核心基建】根因分析→修复设计→实施→验证
│   │   ├── root-cause-tracing.md       # 【业务模块】根因追溯技术详解
│   │   ├── defense-in-depth.md         # 【业务模块】纵深防御修复策略
│   │   ├── condition-based-waiting.md  # 【业务模块】条件等待技术(替代盲目sleep)
│   │   ├── condition-based-waiting-example.ts  # 【工具集】条件等待 TypeScript 示例代码
│   │   ├── find-polluter.sh            # 【工具集】Git bisect 辅助脚本
│   │   ├── ANNOTATIONS.md              # 【配置】技能设计注解
│   │   ├── CREATION-LOG.md             # 【配置】技能创建过程的技术日志
│   │   ├── test-academic.md            # 【质量保证】学术场景压力测试用例
│   │   ├── test-pressure-1.md          # 【质量保证】压力测试用例 1
│   │   ├── test-pressure-2.md          # 【质量保证】压力测试用例 2
│   │   └── test-pressure-3.md          # 【质量保证】压力测试用例 3
│   ├── requesting-code-review/         # 【业务模块】任务间代码审查请求
│   │   ├── SKILL.md                    # 【核心基建】审查请求流程与模板
│   │   └── code-reviewer.md            # 【业务模块】代码审查器角色定义
│   ├── receiving-code-review/          # 【业务模块】审查反馈的接收与响应
│   │   └── SKILL.md                    # 【核心基建】响应审查反馈的规范流程
│   ├── using-git-worktrees/            # 【业务模块】Git Worktree 并行开发与隔离
│   │   └── SKILL.md                    # 【核心基建】Worktree 创建/管理/清理流程
│   ├── finishing-a-development-branch/ # 【业务模块】功能完结 — 合并/PR/清理
│   │   └── SKILL.md                    # 【核心基建】检测环境→呈现选项→执行清理
│   ├── dispatching-parallel-agents/    # 【业务模块】并行子Agent协调调度
│   │   └── SKILL.md                    # 【核心基建】并发Agent调度模式
│   ├── verification-before-completion/ # 【业务模块】完成前验证 — 确保修复有效
│   │   └── SKILL.md                    # 【核心基建】验证清单与检查流程
│   └── writing-skills/                 # 【业务模块】元技能 — 编写与测试新技能
│       ├── SKILL.md                    # 【核心基建】技能开发方法论与测试框架
│       ├── anthropic-best-practices.md # 【工具集】Anthropic 官方技能编写最佳实践
│       ├── persuasion-principles.md    # 【工具集】说服心理学原则(用于技能措辞设计)
│       ├── testing-skills-with-subagents.md  # 【工具集】子Agent测试技能的方法
│       ├── graphviz-conventions.dot    # 【工具集】DOT 图绘制规范(用于技能流程图)
│       ├── render-graphs.js            # 【工具集】Graphviz 图表渲染成 SVG
│       └── examples/                   # 【工具集】技能编写参考示例
│           └── CLAUDE_MD_TESTING.md    # 【工具集】CLAUDE.md 测试策略示例
├── hooks/                              # 【核心基建】多平台 Hook 触发系统
│   ├── hooks.json                      # 【配置】Claude Code Hook 配置(SessionStart 触发)
│   ├── hooks-cursor.json               # 【配置】Cursor Hook 配置(SessionStart 触发)
│   ├── session-start                   # 【核心基建】平台自适应 SessionStart 引导脚本
│   ├── run-hook.cmd                    # 【工具集】Windows 兼容 Hook 启动器
│   └── MODULE.md                       # 【配置】hooks 模块功能说明文档
├── agents/                             # 【核心基建】自定义 SubAgent 定义目录
│   ├── code-reviewer/                  # 【业务模块】代码审查 SubAgent 行为定义
│   │   └── ANNOTATIONS.md              # 【配置】审查 Agent 的设计意图说明
│   └── MODULE.md                       # 【配置】agents 模块功能说明文档
├── commands/                           # 【业务模块】自定义斜杠命令
│   └── MODULE.md                       # 【配置】commands 模块功能说明文档
├── tests/                              # 【质量保证】多平台集成测试套件
│   ├── brainstorm-server/              # 【质量保证】头脑风暴 WebSocket 服务器测试
│   │   ├── server.test.js              # 【质量保证】服务器功能单元测试(427行)
│   │   ├── ws-protocol.test.js         # 【质量保证】WebSocket 协议测试(392行)
│   │   ├── windows-lifecycle.test.sh   # 【质量保证】Windows 生命周期测试
│   │   └── package.json                # 【配置】测试依赖配置
│   ├── claude-code/                    # 【质量保证】Claude Code 平台集成测试
│   │   ├── run-skill-tests.sh          # 【工具集】全量技能测试执行器
│   │   ├── test-helpers.sh             # 【工具集】测试通用辅助函数库
│   │   ├── test-subagent-driven-development.sh        # 【质量保证】SDD 功能测试
│   │   ├── test-subagent-driven-development-integration.sh  # 【质量保证】SDD 集成测试
│   │   ├── test-requesting-code-review.sh             # 【质量保证】Code Review 流程测试
│   │   ├── test-document-review-system.sh             # 【质量保证】文档审查系统测试
│   │   ├── test-worktree-native-preference.sh         # 【质量保证】Worktree 原生偏好测试
│   │   └── analyze-token-usage.py      # 【工具集】Token 使用量分析工具
│   ├── explicit-skill-requests/        # 【质量保证】显式技能请求测试
│   │   ├── run-all.sh                  # 【工具集】全量多模型测试执行器
│   │   ├── run-test.sh                 # 【工具集】基础测试执行器
│   │   ├── run-haiku-test.sh           # 【工具集】Haiku 模型专用测试
│   │   ├── run-multiturn-test.sh       # 【工具集】多轮对话测试
│   │   ├── run-extended-multiturn-test.sh  # 【工具集】扩展多轮对话测试
│   │   ├── run-claude-describes-sdd.sh # 【工具集】Claude SDD 描述测试
│   │   └── prompts/                    # 【质量保证】测试提示词集合
│   ├── opencode/                       # 【质量保证】OpenCode 平台集成测试
│   │   ├── run-tests.sh                # 【工具集】OpenCode 测试执行器
│   │   ├── setup.sh                    # 【工具集】OpenCode 环境配置
│   │   ├── test-bootstrap-caching.mjs  # 【质量保证】引导缓存机制测试
│   │   ├── test-bootstrap-caching.sh   # 【质量保证】引导缓存 Shell 测试
│   │   ├── test-plugin-loading.sh      # 【质量保证】插件加载机制测试
│   │   ├── test-priority.sh            # 【质量保证】技能优先级测试
│   │   └── test-tools.sh               # 【质量保证】工具映射测试
│   ├── skill-triggering/               # 【质量保证】技能自动触发机制测试
│   │   ├── run-all.sh                  # 【工具集】全量触发场景测试
│   │   ├── run-test.sh                 # 【工具集】单项触发测试
│   │   └── prompts/                    # 【质量保证】触发测试提示词
│   ├── subagent-driven-dev/            # 【质量保证】SDD 端到端测试
│   │   ├── run-test.sh                 # 【工具集】SDD 功能测试执行器
│   │   ├── go-fractals/                # 【质量保证】Go 分形项目测试用例
│   │   └── svelte-todo/                # 【质量保证】Svelte Todo 测试用例
│   └── codex-plugin-sync/              # 【质量保证】Codex 插件同步机制测试
│       └── test-sync-to-codex-plugin.sh # 【工具集】同步功能测试
├── docs/                               # 【配置】项目文档与设计决策归档
│   ├── plans/                          # 【配置】历史开发计划(2025-2026)
│   ├── superpowers/                    # 【配置】内部设计文档
│   │   ├── plans/                      # 【配置】功能开发计划(5个已实现功能)
│   │   └── specs/                      # 【配置】详细技术设计规格(5个设计文档)
│   ├── README.opencode.md              # 【配置】OpenCode 平台详细安装文档
│   ├── testing.md                      # 【配置】测试策略与方法指南
│   └── windows/                        # 【配置】Windows 平台适配文档
│       └── polyglot-hooks.md           # 【配置】跨平台 Hook 兼容性说明
├── .claude-plugin/                     # 【核心基建】Claude Code 平台插件清单
│   ├── plugin.json                     # 【配置】插件注册元数据
│   └── marketplace.json                # 【配置】Marketplace 列表信息
├── .codex-plugin/                      # 【核心基建】Codex CLI 平台插件清单
│   └── plugin.json                     # 【配置】插件注册元数据
├── .cursor-plugin/                     # 【核心基建】Cursor 平台插件清单
│   └── plugin.json                     # 【配置】插件注册元数据
├── .opencode/                          # 【核心基建】OpenCode 平台插件实现
│   ├── INSTALL.md                      # 【配置】OpenCode 安装指引
│   └── plugins/                        # 【核心基建】插件运行时代码
│       └── superpowers.js              # 【核心基建】OpenCode 插件主入口(技能加载与注册)
├── .github/                            # 【配置】GitHub 社区与 CI 配置
│   ├── ISSUE_TEMPLATE/                 # 【配置】Issue 提交模板
│   └── PULL_REQUEST_TEMPLATE.md        # 【配置】PR 提交模板(强制完整填写)
├── scripts/                            # 【工具集】维护与发布自动化脚本
│   ├── bump-version.sh                 # 【工具集】语义化版本号更新
│   └── sync-to-codex-plugin.sh         # 【工具集】技能文件同步到 Codex 插件
├── assets/                             # 【UI 视图】项目静态资源(logo等)
├── CLAUDE.md                           # 【配置】Claude Code 项目指引(贡献者行为守则)
├── GEMINI.md                           # 【配置】Gemini CLI 项目指引(文件引用模式)
├── CODE_OF_CONDUCT.md                  # 【配置】社区行为准则
├── RELEASE-NOTES.md                    # 【配置】发布版本说明
├── LICENSE                             # 【配置】MIT 开源许可证
├── README.md                           # 【配置】项目主页文档
├── package.json                        # 【配置】NPM 包配置(name: superpowers, v5.1.0)
├── pnpm-lock.yaml                      # 【配置】pnpm 包管理器依赖锁定
├── gemini-extension.json               # 【配置】Gemini CLI 扩展注册清单
├── .version-bump.json                  # 【配置】版本号管理工具配置
├── .gitignore                          # 【配置】Git 忽略规则
└── .gitattributes                      # 【配置】Git 行尾等属性配置

3. 模块依赖与调用关系

3.1 全局入口与核心路由

  • 逻辑说明:整个系统的入口是 hooks/session-start 脚本。当编码平台的 SessionStart 事件触发时,该脚本读取 skills/using-superpowers/SKILL.md 并将其注入到 Agent 上下文。Agent 获得技能使用能力后,每次收到用户请求都会先检查是否有适用技能(通过 Skill 工具),然后按技能定义的流程执行。对于 Claude Code 平台,入口还包括 CLAUDE.mdGEMINI.md 作为项目级指引。

  • 调用拓扑 (plainText)

text
[平台 SessionStart 事件]
 |
 +--> hooks/session-start (bash 脚本)
        |
        +--> skills/using-superpowers/SKILL.md (注入上下文)
               |
               +-- (Agent 学习后自主调用) ---+
                                               |
        +--------------------------------------+
        |
        +--> [用户消息: "我要做 X"] 
               |
               +--> using-superpowers (检查适用技能)
                      |
                      +-- 如果是"构建/创建"类任务:
                      |     +--> brainstorming/SKILL.md
                      |            +--> writing-plans/SKILL.md
                      |                   +--> subagent-driven-development/SKILL.md
                      |                          |
                      |                          +--> test-driven-development/SKILL.md
                      |                          +--> requesting-code-review/SKILL.md
                      |                          +--> finishing-a-development-branch/SKILL.md
                      |
                      +-- 如果是"修复 bug"类任务:
                      |     +--> systematic-debugging/SKILL.md
                      |            +--> test-driven-development/SKILL.md (修复后)
                      |            +--> verification-before-completion/SKILL.md
                      |
                      +-- 如果是"审查代码"类任务:
                      |     +--> requesting-code-review/SKILL.md
                      |     +--> receiving-code-review/SKILL.md (响应端)
                      |
                      +-- 如需并行开发:
                      |     +--> using-git-worktrees/SKILL.md
                      |     +--> dispatching-parallel-agents/SKILL.md
                      |
                      +-- 元任务:
                            +--> writing-skills/SKILL.md (编写/修改技能时)

3.2 核心业务实体与关联

  • 实体定义

    • Skill:技能,一个 Markdown 文件定义的行为指令集,包含 frontmatter (name, description) 和正文内容
    • Hook:钩子,定义在 JSON 中的事件触发器,在特定生命周期事件 (如 SessionStart) 时执行命令
    • Session:会话,Agent 与用户的一次交互周期,SessionStart 时注入技能引导
    • Plan:计划,writing-plans 技能输出的细粒度任务列表 (2-5 分钟/任务)
    • Spec:规格,brainstorming 技能输出的设计文档
    • Task:任务,计划中的单个执行单元,由子Agent独立完成
    • SubAgent:子Agent,在隔离上下文中执行单一任务的独立 Agent 实例
    • Harness:编码平台适配器,如 Claude Code, Codex, Cursor, OpenCode
  • 实体引用拓扑 (plainText)

text
[Harness] 1 ----> N [Hook]
                        |
[Hook] 1 -----> 1 [Session] (SessionStart 时触发)
                        |
[Session] 1 -----> 1 [using-superpowers Skill] (首次注入)
                        |
[using-superpowers] 1 ----> N [Skill] (教会Agent查找)
                              |
[Skill: brainstorming] 1 ----> 1 [Spec] (输出设计文档)
                                  |
[Spec] 1 ----> 1 [Skill: writing-plans] (输入设计,输出任务列表)
                  |
[Skill: writing-plans] 1 ----> N [Task] (输出细粒度任务)
                                  |
[Task] 1 ----> 1 [SubAgent] (每个任务分派给一个子Agent)
                  |
[SubAgent] 1 ----> 1 [Skill: test-driven-development] (内嵌)
[SubAgent] 1 ----> 1 [Skill: requesting-code-review] (两阶段审查)

[Skill: writing-skills] 1 ----> N [Skill] (元技能,产出新技能)

[Task] N ----> 1 [Skill: finishing-a-development-branch] (所有任务完成后)

4. 核心模块详解

模块一:Hook 引导系统 (Hook Bootstrap System)

  • 模块名称:Hook 引导系统

  • 设计说明:这是整个 Superpowers 系统的"心脏起搏器"。session-start 脚本采用策略模式 (Strategy Pattern) —— 通过检测环境变量 (CURSOR_PLUGIN_ROOT, CLAUDE_PLUGIN_ROOT, COPILOT_CLI) 来判断当前运行的平台,并输出对应格式的 JSON。这种设计避免了为每个平台维护单独的引导脚本,实现了"一次编写,多平台运行"的目标。

  • 内部结构图 (plainText)

text
+-----------------------------+
| hooks/hooks.json            |
| hooks/hooks-cursor.json     |
| - SessionStart 事件定义     |
| - matcher: startup|clear    |
| - command: run-hook.cmd     |
+------------+----------------+
             |
             v
+-----------------------------+
| hooks/session-start (bash)  |
| +-------------------------+ |
| | Platform Detection      | |
| | [CURSOR_PLUGIN_ROOT?]   | |
| | [CLAUDE_PLUGIN_ROOT?]   | |
| | [COPILOT_CLI?]          | |
| +----------+--------------+ |
|            |                |
|   +--------v-----------+   |
|   | JSON Format Router  |   |
|   | - Cursor:           |   |
|   |   additional_context|   |
|   | - Claude Code:      |   |
|   |   hookSpecificOutput|   |
|   | - Others (SDK std): |   |
|   |   additionalContext |   |
|   +--------+------------+   |
|            |                |
|   +--------v------------+  |
|   | Content Injection    |  |
|   | - 读取 SKILL.md      |  |
|   | - JSON 转义          |  |
|   | - 嵌入 <IMPORTANT>   |  |
|   +----------------------+  |
+-----------------------------+

模块二:using-superpowers 引导技能

  • 模块名称:using-superpowers 技能 (系统自举)

  • 设计说明:这是唯一在 SessionStart 时强制注入的技能。它的职责不是执行任何业务逻辑,而是"教会 Agent 如何使用技能系统"。通过流程图 (DOT graph)、Red Flags 表格、技能优先级规则等内容,塑造 Agent 的行为模式。设计上采用"教导而非编程"的范式 —— 不是通过 API 强制调用,而是通过上下文说服 Agent 主动使用技能。

  • 内部结构图 (plainText)

text
+------------------------------------------------------+
| using-superpowers/SKILL.md                            |
|                                                       |
| +--------------------------------------------------+ |
| | <SUBAGENT-STOP> Gate                             | |
| | 子Agent不应加载此技能,防止嵌套注入            | |
| +--------------------------------------------------+ |
|                                                       |
| +--------------------------------------------------+ |
| | 行为强制层 (Behavior Enforcement)                | |
| | - <EXTREMELY-IMPORTANT> 标签                     | |
| | - "Even 1% chance" 规则                         | |
| | - "Not negotiable, not optional" 声明           | |
| +-----------------------+--------------------------+ |
|                         |                             |
| +-----------------------v--------------------------+ |
| | 指令优先级 (Instruction Priority)               | |
| | 1. 用户显式指令 (最高)                          | |
| | 2. Superpowers 技能                             | |
| | 3. 默认系统提示 (最低)                          | |
| +-----------------------+--------------------------+ |
|                         |                             |
| +-----------------------v--------------------------+ |
| | 技能引擎 (Skill Engine - DOT graph)             | |
| | - UserMessage → CheckSkills → InvokeSkill       | |
| | - EnterPlanMode → 检查是否 brainstormed         | |
| | - SkillFound → CreateTodo → FollowSkill         | |
| +-----------------------+--------------------------+ |
|                         |                             |
| +-----------------------v--------------------------+ |
| | Red Flags 表格 (13 种常见借口)                  | |
| | "This is just a simple question" → Questions    | |
| |   are tasks. Check for skills.                  | |
| | ... (共 12 条反制规则)                          | |
| +-----------------------+--------------------------+ |
|                         |                             |
| +-----------------------v--------------------------+ |
| | 跨平台适配                                        | |
| | - Claude Code: Skill 工具                        | |
| | - Copilot CLI: skill 工具                        | |
| | - Gemini CLI: activate_skill 工具                | |
| | - 工具映射参考: references/*.md                  | |
| +--------------------------------------------------+ |
+------------------------------------------------------+

模块三:brainstorming 头脑风暴技能

  • 模块名称:brainstorming - 从模糊需求到明确设计

  • 设计说明:这是 Superpowers 工作流的第一道"质量门"。通过 <HARD-GATE> 标签阻止 Agent 在设计获批前编写任何代码。采用 Socratic 方法 (苏格拉底式提问) —— Agent 每次只问一个问题,逐步澄清需求。包含可视化伴侣 (Visual Companion) 功能,通过 WebSocket 服务器在浏览器中实时渲染设计概念。

  • 内部结构图 (plainText)

text
+------------------------------------------------------+
| brainstorming/SKILL.md                                |
|                                                       |
| +--------------------------------------------------+ |
| | <HARD-GATE>                                      | |
| | 设计未获批 → 禁止任何实现动作                    | |
| | 设计获批 → 只能调用 writing-plans                 | |
| +--------------------------------------------------+ |
|                                                       |
| +--------------------------------------------------+ |
| | 9 步工作流                                       | |
| | 1. 探索项目上下文                                | |
| | 2. 提供可视化伴侣 (如涉及 UI)                    | |
| | 3. 澄清问题 (一次一个)                           | |
| | 4. 提出 2-3 种方案 + 推荐                       | |
| | 5. 分段呈现设计                                  | |
| | 6. 写入设计文档                                  | |
| | 7. 规格自我审查                                  | |
| | 8. 用户审查规格                                  | |
| | 9. 转换到 writing-plans                          | |
| +--------------------------------------------------+ |
|                                                       |
| +--------------------------------------------------+ |
| | 可视化伴侣                                        | |
| | scripts/server.cjs (WebSocket 零依赖服务器)       | |
| | scripts/start-server.sh (启动脚本)               | |
| | scripts/stop-server.sh (停止脚本)                | |
| | scripts/helper.js (浏览器辅助)                   | |
| | scripts/frame-template.html (UI 框架)            | |
| +--------------------------------------------------+ |
+------------------------------------------------------+

模块四:subagent-driven-development 子Agent驱动开发

  • 模块名称:subagent-driven-development - 隔离上下文的任务执行

  • 设计说明:采用"每个任务一个子Agent"的策略模式。每个子Agent获得精确裁剪的上下文(不继承父会话的状态),执行单一任务后经两阶段审查(规格合规 → 代码质量)。三个提示词文件 (implementer-prompt, spec-reviewer-prompt, code-quality-reviewer-prompt) 分别定义了子Agent的角色边界。

  • 内部结构图 (plainText)

text
+------------------------------------------------------+
| subagent-driven-development/SKILL.md                  |
|                                                       |
| +-------------------+  +---------------------------+  |
| | implementer-      |  | spec-reviewer-            |  |
| | prompt.md         |  | prompt.md                 |  |
| | - 接收任务规格    |  | - 审查代码是否匹配规格    |  |
| | - 实现代码        |  | - 检查是否遗漏需求        |  |
| | - 编写测试        |  | - 关注完整性和正确性      |  |
| | - 提交 commit     |  +---------------------------+  |
| +--------+----------+                                |
|          |            +---------------------------+  |
|          |            | code-quality-reviewer-    |  |
|          |            | prompt.md                 |  |
|          |            | - 审查代码质量            |  |
|          |            | - DRY/YAGNI/可读性        |  |
|          |            | - 性能/安全性             |  |
|          +----------->+---------------------------+  |
|                                                       |
| +--------------------------------------------------+ |
| | 每个任务的循环:                                  | |
| | 1. 分派实现者子Agent                             | |
| | 2. 子Agent实现 + 自我审查                       | |
| | 3. 分派规格审查者子Agent                        | |
| | 4. 修复规格差异 → 重回第 3 步                    | |
| | 5. 分派代码质量审查者子Agent                    | |
| | 6. 修复质量问题 → 重回第 5 步                    | |
| | 7. 标记任务完成                                  | |
| +--------------------------------------------------+ |
|                                                       |
| +--------------------------------------------------+ |
| | 持续执行原则:                                    | |
| | - 不在任务间暂停询问用户                          | |
| | - 仅在 BLOCKED/模糊/全部完成时停止               | |
| | - 避免 "Should I continue?" 提示                 | |
| +--------------------------------------------------+ |
+------------------------------------------------------+

模块五:test-driven-development TDD 技能

  • 模块名称:test-driven-development - RED-GREEN-REFACTOR 循环

  • 设计说明:定义严格的 TDD 纪律。包含"铁律" (THE IRON LAW) —— 没有失败测试就没有产品代码。如果 Agent 写了代码再补测试,必须删除代码重来。包含测试反模式参考文档 (testing-anti-patterns.md) 作为补充材料。

  • 内部结构图 (plainText)

text
+------------------------------------------------------+
| test-driven-development/SKILL.md                      |
|                                                       |
| +--------------------------------------------------+ |
| | THE IRON LAW                                     | |
| | NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST  | |
| +--------------------------------------------------+ |
|                                                       |
| +--------------------------------------------------+ |
| | RED-GREEN-REFACTOR 循环:                         | |
| |                                                  | |
| | [RED] 编写失败测试                               | |
| |   → [VERIFY] 确认测试因正确原因失败              | |
| |   → [GREEN] 编写最小代码使测试通过              | |
| |   → [VERIFY] 确认所有测试通过                   | |
| |   → [REFACTOR] 清理代码                         | |
| |   → [COMMIT]                                     | |
| |   → [NEXT] 下一个测试                            | |
| +--------------------------------------------------+ |
|                                                       |
| +--------------------------------------------------+ |
| | 违规惩罚:                                        | |
| | - 先写代码 → 删除 → 从测试开始                   | |
| | - 不要保留作 "参考"                              | |
| | - 不要 "改编"                                    | |
| | - 删除意味着删除                                  | |
| +--------------------------------------------------+ |
|                                                       |
| +--------------------------------------------------+ |
| | testing-anti-patterns.md                          | |
| | - 常见测试错误清单                                | |
| | - Mock 过度使用                                   | |
| | - 测试实现细节而非行为                            | |
| +--------------------------------------------------+ |
+------------------------------------------------------+

5. 关键数据流程

场景一:完整开发工作流 (从需求到合并)

  • 场景说明:用户向 Agent 提出一个新的开发需求 (如 "帮我做一个 React Todo List"),Agent 从 SessionStart 开始,经历完整的 brainstorming → writing-plans → subagent-driven-dev → TDD → code-review → finishing 流程。

  • 流转时序图 (Mermaid)

场景二:Bug 修复调试流程

  • 场景说明:用户报告一个 bug,Agent 触发 systematic-debugging 技能,经过 4 阶段根因分析 → TDD 修复 → 验证的完整流程。

  • 流转时序图 (Mermaid)

6. 接口与契约规范

6.1 核心内部模块契约 (TypeScript)

typescript
/**
 * Skill 元数据 — 定义技能的基本信息
 * 来源:每个 SKILL.md 的 YAML frontmatter
 */
export interface SkillMetadata {
  /** 技能唯一标识(用于 Skill 工具调用) */
  name: string;
  /** 技能描述(用于匹配用户意图) */
  description: string;
}

/**
 * Skill 主体 — 完整的技能定义
 */
export interface Skill {
  /** YAML frontmatter 提取的元数据 */
  metadata: SkillMetadata;
  /** Markdown 正文(行为指令、流程图、检查清单等) */
  body: string;
}

/**
 * Hook 配置 — 定义钩子触发规则
 * 来源:hooks/hooks.json, hooks/hooks-cursor.json
 */
export interface HookConfig {
  hooks: {
    [eventName: string]: HookEvent[];
  };
}

export interface HookEvent {
  /** 匹配触发条件(如 "startup|clear|compact") */
  matcher: string;
  /** 事件触发时执行的操作列表 */
  hooks: HookAction[];
}

export interface HookAction {
  /** 操作类型(当前仅支持 "command") */
  type: 'command';
  /** 要执行的命令(支持环境变量替换如 ${CLAUDE_PLUGIN_ROOT}) */
  command: string;
  /** 是否异步执行 */
  async: boolean;
}

/**
 * SessionStart 输出 — Hook 脚本返回的 JSON
 * 多平台适配:通过环境变量判断使用哪种格式
 */
export type SessionStartOutput =
  | ClaudeCodeSessionStartOutput
  | CursorSessionStartOutput
  | StandardSessionStartOutput;

export interface ClaudeCodeSessionStartOutput {
  hookSpecificOutput: {
    hookEventName: 'SessionStart';
    /** 注入到 Agent 上下文的额外内容 */
    additionalContext: string;
  };
}

export interface CursorSessionStartOutput {
  /** Cursor 使用 snake_case */
  additional_context: string;
}

export interface StandardSessionStartOutput {
  /** Copilot CLI 等平台的 SDK 标准格式 */
  additionalContext: string;
}

/**
 * 计划 — writing-plans 输出的数据结构
 * 来源:writing-plans/SKILL.md 定义的模板
 */
export interface ImplementationPlan {
  /** 计划标题 */
  title: string;
  /** 目标描述 */
  goal: string;
  /** 架构简述 */
  architecture: string;
  /** 技术栈 */
  techStack: string[];
  /** 细粒度任务列表 */
  tasks: PlanTask[];
  /** 关联的设计文档路径 */
  specPath: string;
}

export interface PlanTask {
  /** 任务序号 */
  id: number;
  /** 任务描述 (2-5 分钟可完成) */
  description: string;
  /** 涉及的文件路径 */
  filePaths: string[];
  /** 验证步骤 */
  verification: string[];
  /** 状态 */
  status: 'pending' | 'in_progress' | 'completed';
}

/**
 * 设计规格 — brainstorming 输出的数据结构
 */
export interface DesignSpec {
  /** 文档标题 */
  title: string;
  /** 创建日期 */
  date: string;
  /** 问题陈述 */
  problemStatement: string;
  /** 选定的方案 */
  selectedApproach: string;
  /** 备选方案及其权衡 */
  alternatives: Alternative[];
  /** 设计详情 */
  designDetails: DesignSection[];
}

export interface Alternative {
  name: string;
  pros: string[];
  cons: string[];
  /** 是否被推荐 */
  recommended: boolean;
}

export interface DesignSection {
  title: string;
  content: string;
}

6.2 技能间调用契约

typescript
/**
 * 技能间转换规则
 * 定义了技能之间的合法转换路径
 */
export const SKILL_TRANSITIONS: Record<string, string[]> = {
  'using-superpowers': [
    'brainstorming',
    'systematic-debugging',
    'requesting-code-review',
    'using-git-worktrees',
    'writing-skills'
  ],
  'brainstorming': [
    'writing-plans'  // 唯一合法出口
  ],
  'writing-plans': [
    'subagent-driven-development',
    'executing-plans'
  ],
  'subagent-driven-development': [
    'finishing-a-development-branch'  // 所有任务完成后
  ],
  'executing-plans': [
    'finishing-a-development-branch'
  ],
  'systematic-debugging': [
    'test-driven-development',
    'verification-before-completion'
  ],
  'test-driven-development': [
    'requesting-code-review'
  ]
};

7. 快速开始

7.1 环境要求

  • 支持的编码平台之一:Claude Code, Codex CLI, Codex App, Cursor, Gemini CLI, OpenCode, Factory Droid
  • Git
  • Bash (Unix) 或 Windows (通过 run-hook.cmd)

7.2 安装

Claude Code:

bash
/plugin install superpowers@claude-plugins-official

Codex CLI:

bash
/plugins 搜索 "superpowers" Install Plugin

Cursor:

text
/add-plugin superpowers

Gemini CLI:

bash
gemini extensions install https://github.com/obra/superpowers

7.3 典型工作流

  1. 在编码平台中启动会话 → 技能自动激活
  2. 描述要做的事情 → brainstorming 自动触发
  3. 回答澄清问题 → 批准设计
  4. writing-plans 生成任务清单 → 批准执行
  5. subagent-driven-development 自动执行 → 两阶段审查
  6. 所有任务完成 → finishing 呈现合并选项