Superpowers 项目设计分析
1. 项目概述
Superpowers 是一个为编码代理(coding agents)设计的完整软件开发工作流程,基于一组可组合的"技能"(skills)和初始指令,使代理能够按照最佳实践进行软件开发。
- 版本:5.0.7
- 设计理念:零依赖插件,专注于提供高质量的开发工作流程
- 支持平台:Claude Code、Cursor、Codex、OpenCode、GitHub Copilot CLI、Gemini CLI

2. 业务模型
2.1 核心业务
Superpowers 提供一套标准化的软件开发工作流程,通过技能(skills)的形式为编码代理提供指导,确保开发过程遵循最佳实践。
2.2 价值主张
- 提高开发质量:强制遵循 TDD、YAGNI、DRY 等最佳实践
- 减少开发错误:通过系统性的流程和审查机制
- 提高开发效率:标准化工作流程,减少决策时间
- 降低开发成本:通过自动化和标准化减少重复工作
2.3 商业模式
- 开源项目:MIT 许可证
- 插件市场分发:通过各平台的插件市场分发
- 社区支持:通过 Discord 社区提供支持
- 赞助模式:接受开源赞助

3. 需求清单
3.1 功能需求
- 设计流程:从需求到设计的系统性流程
- 计划制定:详细的实现计划生成
- 开发执行:子代理驱动的开发执行
- 测试驱动:强制 TDD 开发模式
- 代码审查:自动化代码审查流程
- 版本控制:Git worktrees 集成
- 项目管理:分支管理和合并流程
- 调试支持:系统性调试方法
3.2 非功能需求
- 零依赖:不依赖外部库
- 跨平台:支持多个编码代理平台
- 可扩展性:易于添加新技能
- 可测试性:内置测试框架
- 性能:高效的子代理管理
4. 系统设计
4.1 架构设计
Superpowers 采用基于技能(skills)的模块化架构,每个技能负责特定的开发阶段或任务类型。
┌─────────────────────────────────────────────────┐
│ 平台层 │
│ Claude/Cursor/Codex/OpenCode/Copilot/Gemini │
└─────────────────────┬───────────────────────────┘
│
┌─────────────────────▼───────────────────────────┐
│ 核心层 │
│ Hooks, Commands, Agents │
└─────────────────────┬───────────────────────────┘
│
┌─────────────────────▼───────────────────────────┐
│ 技能层 │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ 设计技能 │ │ 开发技能 │ │ 测试技能 │ │
│ ├─────────────┤ ├─────────────┤ ├─────────────┤ │
│ │ brainstorming│ │ subagent-driven│ │ test-driven│ │
│ │ writing-plans│ │ development │ │ development│ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────┘
4.2 核心组件
- 技能库:包含各种开发阶段的专用技能
- 钩子系统:平台集成的钩子
- 命令系统:提供执行命令
- 子代理系统:任务执行和审查
- 文档系统:设计和计划文档管理
4.3 工作流程
- 需求分析:brainstorming 技能
- 计划制定:writing-plans 技能
- 环境准备:using-git-worktrees 技能
- 开发执行:subagent-driven-development 技能
- 测试验证:test-driven-development 技能
- 代码审查:requesting-code-review 技能
- 项目完成:finishing-a-development-branch 技能
5. 功能清单

5.1 核心技能
| 技能名称 | 功能描述 | 应用场景 |
|---|---|---|
| brainstorming | 需求分析和设计,通过对话细化需求,生成设计文档 | 项目启动、功能添加 |
| writing-plans | 生成详细的实现计划,包含具体任务和代码 | 设计完成后 |
| subagent-driven-development | 子代理执行任务,两阶段审查 | 计划执行 |
| test-driven-development | 强制 TDD 开发模式,红-绿-重构循环 | 代码实现 |
| systematic-debugging | 系统性调试方法,四阶段根因分析 | 问题排查 |
| requesting-code-review | 代码审查前检查清单 | 任务完成后 |
| using-git-worktrees | Git worktrees 管理,隔离开发环境 | 开发前准备 |
| finishing-a-development-branch | 分支完成流程,测试验证和合并选项 | 开发完成后 |
5.2 辅助技能
| 技能名称 | 功能描述 |
|---|---|
| executing-plans | 批处理执行计划,带检查点 |
| dispatching-parallel-agents | 并行子代理工作流 |
| receiving-code-review | 处理代码审查反馈 |
| verification-before-completion | 确保问题真正解决 |
| writing-skills | 按照最佳实践创建新技能 |
| using-superpowers | 技能系统介绍 |
5.3 工具和功能
- 视觉辅助:浏览器-based 视觉辅助工具,用于展示模型、图表
- 文档管理:自动生成和管理设计文档、计划文档
- 版本控制:Git 集成,自动提交和分支管理
- 测试框架:内置测试方法和反模式参考
- 调试工具:根因追踪、防御性编程技术
6. 代码规模

6.1 文件结构
superpowers/
├── skills/ # 技能库(核心功能)
│ ├── brainstorming/ # 需求分析和设计
│ ├── writing-plans/ # 计划制定
│ ├── subagent-driven-development/ # 子代理开发
│ ├── test-driven-development/ # TDD 开发
│ ├── systematic-debugging/ # 系统性调试
│ └── ... (其他技能)
├── tests/ # 测试文件
│ ├── brainstorm-server/ # 头脑风暴服务器测试
│ ├── claude-code/ # Claude 代码测试
│ ├── explicit-skill-requests/ # 显式技能请求测试
│ └── ... (其他测试)
├── docs/ # 文档
│ ├── plans/ # 计划文档
│ ├── superpowers/ # Superpowers 文档
│ └── windows/ # Windows 相关文档
├── hooks/ # 平台集成钩子
├── commands/ # 命令
└── agents/ # 代理
6.2 代码统计
- 技能文件:约 20+ 个技能,每个技能包含多个文件
- 测试文件:约 30+ 个测试文件
- 文档文件:约 20+ 个文档文件
- 核心代码:主要是 Markdown 格式的技能定义文件
- 脚本文件:少量 JavaScript 和 Shell 脚本
6.3 技术栈
- 主要格式:Markdown(技能定义)
- 脚本语言:JavaScript, Shell
- 测试工具:自定义测试脚本
- 文档工具:Markdown
- 版本控制:Git
7. 技术亮点
- 零依赖设计:不依赖外部库,保持轻量
- 模块化架构:基于技能的模块化设计,易于扩展
- 子代理系统:通过子代理实现任务隔离和专业化
- 两阶段审查:规格合规性和代码质量的双重审查
- 强制最佳实践:TDD、YAGNI、DRY 等最佳实践的强制执行
- 跨平台支持:支持多个编码代理平台
- 系统性流程:从需求到部署的完整工作流程
- 视觉辅助工具:浏览器-based 视觉辅助功能
8. 项目优势
- 提高开发质量:强制遵循最佳实践,减少错误
- 标准化流程:统一的开发流程,减少决策时间
- 自动化执行:子代理自动执行任务,提高效率
- 可扩展性:易于添加新技能和扩展功能
- 跨平台兼容:支持多个主流编码代理平台
- 开源免费:MIT 许可证,完全开源
9. 未来发展建议
- 技能扩展:添加更多领域特定的技能
- 平台集成:扩展到更多编码代理平台
- 可视化工具:增强视觉辅助工具的功能
- 性能优化:优化子代理执行效率
- 社区建设:鼓励社区贡献和技能共享
- 文档完善:提供更详细的使用文档和示例
- 测试覆盖:增加更多测试用例和场景
10. 总结
Superpowers 是一个创新的软件开发工作流程系统,通过技能驱动的方式,为编码代理提供了一套标准化、高质量的开发流程。它的零依赖设计、模块化架构和子代理系统使其成为一个灵活且强大的工具,能够显著提高开发效率和代码质量。
通过强制遵循 TDD、YAGNI、DRY 等最佳实践,Superpowers 确保了开发过程的规范性和代码的可靠性。同时,它的跨平台支持和可扩展性使其能够适应不同的开发环境和需求。
作为一个开源项目,Superpowers 展示了如何通过系统化的流程和工具,提高软件开发的效率和质量,为未来的 AI 辅助开发提供了有价值的参考。