Superpowers的核心架构

5 阅读3分钟

Superpowers 的核心架构是一个层次分明、设计精巧的系统,主要由以下几个部分组成:

1. 插件配置系统

插件配置是整个系统的基础,位于 .claude-plugin/ 目录下:

  • plugin.json:定义插件的基本信息,如名称、描述、版本等。这是 Claude Code 识别插件的"身份证"。

    • name:技能的命名空间前缀(如 superpowers:brainstorming
    • description:插件的功能描述
    • version:当前版本号
  • marketplace.json:定义插件在市场中的配置,指向插件根目录。

2. Hook 系统

Hook 系统是 Superpowers 的"注入点",在关键时刻自动注入上下文:

  • hooks.json:定义触发条件和执行的命令

    • 触发器:startup(新会话启动)、clear(清除对话)、compact(压缩对话历史)
    • 执行脚本:run-hook.cmd 会在触发时执行 session-start 脚本
  • session-start 脚本:核心功能是读取并注入 using-superpowers 技能的内容,确保 AI 在任何会话开始时都能了解如何使用 Superpowers。

3. 技能系统

技能是 Superpowers 的核心,所有的工作流程和工程实践都通过技能来定义:

  • 技能文件结构:每个技能都是一个 SKILL.md 文件,包含 YAML frontmatter(定义技能名称和触发条件)和 Markdown 正文(详细的工作流程)。
  • 核心技能

    • using-superpowers:入口技能,告诉 AI 如何发现和使用其他技能
    • brainstorming:设计优先,在实现前先完成设计
    • writing-plans:任务拆解,将需求转化为详细的实施计划
    • subagent-driven-development:子代理执行,每任务派新代理并进行两阶段审查
    • test-driven-development:测试驱动,先写测试再实现
  • 技能发现机制:AI 会根据用户的请求和上下文,自动匹配并加载适用的技能。

4. 子代理系统

子代理系统是实现"高质量、快迭代"的关键技术支撑:

  • 代理定义:位于 agents/ 目录,目前主要是 code-reviewer.md,定义了代码审查代理的职责和能力。
  • 子代理提示模板:位于 skills/subagent-driven-development/ 目录,包括:

    • implementer-prompt.md:实现者模板,指导子代理如何完成任务
    • spec-reviewer-prompt.md:规格合规审查模板,验证实现是否符合要求
    • code-quality-reviewer-prompt.md:代码质量审查模板,验证代码是否高质量
  • 状态处理:子代理会返回 DONE、DONE_WITH_CONCERNS、NEEDS_CONTEXT、BLOCKED 四种状态,控制器根据状态采取不同的处理策略。

5. 架构流程图

整个架构的工作流程如下:

  1. 会话启动:Hook 系统触发,注入 using-superpowers 技能

  2. 技能发现:AI 分析用户请求,匹配并加载适用的技能

  3. 工作流程执行

    • 用 brainstorming 技能完成设计
    • 用 writing-plans 技能生成实施计划
    • 用 subagent-driven-development 技能执行计划
    • 用 test-driven-development 技能确保代码质量
  4. 子代理审查:每任务完成后,进行规格合规和代码质量两阶段审查

  5. 任务完成:所有任务完成后,使用 finishing-a-development-branch 技能完成开发分支

核心设计理念

  • 模块化:每个组件职责清晰,边界明确
  • 可扩展性:通过技能系统,可以轻松添加新的工作流程和实践
  • 质量保证:两阶段审查确保代码质量
  • 上下文隔离:子代理不继承会话历史,避免上下文污染
  • 慢即是快:前期投入设计、计划、测试的时间,后期节省调试和返工成本

这种架构设计使得 Superpowers 能够为 AI 提供一套完整、规范的工程实践流程,确保生成的代码高质量、可维护。