☰
Superpowers Skill 实战:让 Claude Code 和 Codex 按工程流程做开发
2026/9/29 12:20:40 网站建设 项目流程

1. 为什么你的 AI 编码助手总在“乱写代码”

如果你最近在用 Claude Code 或者 Codex 做开发,大概率遇到过这种场景:你只是让它修一个列表不刷新的小 bug,它上来就把整个状态管理重构了一遍;你让它加一个导出按钮,它顺手把 API 层、类型定义、甚至无关的格式化都改了。最后 diff 几百行,review 比你自己写还累。

这不是模型能力不行。Claude Code 和 Codex 在代码生成上的水平已经足够应付大多数日常任务,真正缺的是工程流程约束。软件开发本身有一套纪律:先澄清需求再动手、先写计划再实现、修 bug 要追根因而不是猜补丁、宣布完成前必须实际验证。这些纪律在人类工程师身上靠 code review 和团队规范来保证,但在 AI agent 身上,默认行为是“尽快满足用户请求”,而不是“最小风险地完成任务”。

Superpowers Skill 就是来解决这个问题的。它是一套面向 coding agent 的软件开发方法论,把需求澄清、方案设计、TDD、系统化调试、代码审查、完成前验证这些工程动作,固化成一组可加载、可组合、可复用的 skill 文件。装上它之后,你说“修这个 bug”,agent 会先进入 systematic-debugging 流程列根因假设,而不是直接改代码;你说“实现这个功能”,它会先走 brainstorming 澄清边界,再出 writing-plans 计划,然后才进入 TDD 实现。

这篇文章面向的是已经或准备把 Claude Code、Codex 用进真实项目的开发者。我会给出可复制的 Skill 配置片段、工程流程约束示例,以及用同一个需求分别跑 Claude Code 和 Codex、验证两者输出一致性的具体操作步骤。如果你还在“随手生成、随手粘贴”的阶段,这套流程能帮你把 AI 编码从玩具升级成可交付的工作方式。

2. Superpowers Skill 前置准备:装什么、在哪装、怎么接

在讲具体配置之前,先把 Superpowers Skill 的定位说清楚。它不是提示词模板,也不是某个单点功能插件。从项目结构看,Superpowers 是一组 composable skills,每个 skill 对应一类工程任务,通过初始指令确保 agent 在合适场景下调用。核心 skill 包括 brainstorming(需求澄清)、writing-plans(可执行计划)、test-driven-development(RED-GREEN-REFACTOR 循环)、systematic-debugging(根因假设与验证)、verification-before-completion(完成前实际验证)、requesting-code-review(提交前风险检查)等。

2.1 Claude Code 侧安装

Claude Code 有两种安装路径。第一种是从官方插件市场装:

/plugin install superpowers@claude-plugins-official

第二种是添加 Superpowers 自己的 marketplace 后再装:

/plugin marketplace add obra/superpowers-marketplace /plugin install superpowers@superpowers-marketplace

安装后按提示 reload 插件。如果你在多个 workspace 使用 Claude Code,注意插件安装范围——有些插件适合全局装,有些更适合按项目装。我自己的习惯是:Superpowers 这类流程约束类插件按项目装,避免不同项目的工程规范互相干扰。

2.2 Codex 侧安装

Codex CLI 中打开插件界面:

/plugins

搜索superpowers,选择 Install Plugin。Codex App 则在侧边栏 Plugins 的 Coding 分类里找到 Superpowers,点+按提示安装。

2.3 接入 TaoToken 作为模型入口

无论 Claude Code 还是 Codex,都需要一个稳定的模型调用入口。TaoToken 提供兼容 Anthropic 和 OpenAI 协议的 API,Base URL 是https://taotoken.net/api。在 Claude Code 中,你可以通过环境变量或 settings 文件配置;在 Codex 中则通过auth.json或环境变量配置。具体配置片段在下一节给出。

这里先强调一个原则:Superpowers Skill 负责“怎么做”的流程约束,TaoToken 负责“调哪个模型”的接入层,两者是正交的。你可以先装好 Skill,再配好模型入口,然后开始验证。

2.4 三件套:Base URL + Key + Model ID

不管用哪个宿主,接入任何模型服务都需要三件套:Base URL、API Key、Model ID。TaoToken 的 Base URL 是https://taotoken.net/api,API Key 在控制台的 API Keys 页面创建,Model ID 根据你用的模型填写(比如claude-sonnet-4-20250514或gpt-4o等)。这三件套在 Claude Code 的 settings、Codex 的 auth.json、以及 Cline MCP 配置里都要写全,缺一个就会报 401 或 model not found。

3. 可复制配置:Claude Code settings 与 Codex auth.json

这一节给出可直接复制的配置片段。路径和字段名保持与官方一致,你只需要替换 Key 和 Model ID。

3.1 Claude Code settings.json 配置

Claude Code 的配置可以放在项目级.claude/settings.json或用户级~/.claude/settings.json。接入 TaoToken 的关键是设置ANTHROPIC_BASE_URL和ANTHROPIC_API_KEY:

{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_API_KEY": "sk-your-taotoken-key", "ANTHROPIC_MODEL": "claude-sonnet-4-20250514" }, "permissions": { "allow": [ "Read", "Write", "Bash(npm test:*)", "Bash(npx vitest:*)" ] } }

注意ANTHROPIC_BASE_URL不要带 UTM 参数,保持干净的https://taotoken.net/api。ANTHROPIC_MODEL填你在 TaoToken 控制台确认可用的模型 ID。permissions.allow里我加了测试命令的白名单,这样 agent 跑 TDD 流程时不需要每次确认。

3.2 Codex auth.json 配置

Codex 的认证配置在~/.codex/auth.json:

{ "OPENAI_API_KEY": "sk-your-taotoken-key", "OPENAI_BASE_URL": "https://taotoken.net/api", "model": "gpt-4o" }

如果你用的是 Codex CLI 的 profile 机制,也可以在~/.codex/config.toml里写:

[profiles.taotoken] model = "gpt-4o" model_provider = "taotoken" [model_providers.taotoken] name = "TaoToken" base_url = "https://taotoken.net/api" env_key = "TAOTOKEN_API_KEY"

然后在 shell 里 exportTAOTOKEN_API_KEY=sk-your-taotoken-key。这样切换 profile 时不会污染全局配置。

3.3 项目级 AGENTS.md 流程约束

配置好模型入口后,把工程流程约束写进项目级说明文件。Claude Code 读CLAUDE.md,Codex 读AGENTS.md,内容可以共用:

## 工程流程约束 - 复杂功能开发必须先产出计划再实现,计划需包含文件路径和验证方式。 - bug 修复必须先使用 systematic-debugging,列出 3-5 个根因假设并逐项验证。 - 有测试条件时必须优先 TDD,先写失败测试再写实现。 - 完成前必须运行可验证检查(测试、类型检查、接口请求),并报告实际结果。 - 禁止无关重构和大范围格式化,改动范围必须与任务边界一致。

这段约束配合 Superpowers Skill 使用,效果比单独用 Skill 更稳。因为 Skill 是通用流程,AGENTS.md 是项目特定规则,两者叠加能减少 agent 误判任务类型的概率。

4. 验证请求:同一需求跑 Claude Code 与 Codex 的一致性

配置完成后,用同一个需求分别跑 Claude Code 和 Codex,验证两者是否都按工程流程执行。我选的需求是:给一个 TypeScript 项目增加exportInvoiceCsv函数,把账单数组导出为 CSV 字符串。

4.1 在 Claude Code 中发起任务

在项目根目录启动 Claude Code,输入:

使用 Superpowers 的 test-driven-development 流程,实现 exportInvoiceCsv 函数。 输入是 Invoice 数组,输出是 CSV 字符串,包含表头 id,amount,currency。 先写失败测试,确认失败后再写最小实现。

预期行为:Claude Code 加载 TDD skill,先创建测试文件,运行测试确认失败(RED),然后写实现,再运行测试确认通过(GREEN),最后可能重构。整个过程不需要你手动提醒“先写测试”。

4.2 在 Codex 中发起同一任务

在 Codex CLI 中,先确认 Superpowers 插件已加载,然后输入同样的需求:

使用 Superpowers 的 test-driven-development 流程,实现 exportInvoiceCsv 函数。 输入是 Invoice 数组,输出是 CSV 字符串,包含表头 id,amount,currency。 先写失败测试,确认失败后再写最小实现。

预期行为与 Claude Code 一致:先测试后实现。如果 Codex 没有自动加载 skill,可以显式点名:

请使用 Superpowers 的 test-driven-development skill,先不要写实现代码。

4.3 一致性检查清单

跑完后对照以下几点,判断两个宿主的输出是否一致:

检查项Claude Code 预期Codex 预期
是否先写测试是,测试文件先于实现文件是,测试文件先于实现文件
是否确认测试失败是,报告 RED 阶段结果是,报告 RED 阶段结果
实现是否最小是,只满足测试断言是,只满足测试断言
是否运行验证是,报告测试通过是,报告测试通过
是否做无关改动否否

如果某一项不一致,比如 Codex 直接写了实现没写测试,说明 skill 没有正确触发。这时检查插件是否加载、AGENTS.md 是否被读取、以及任务描述里是否明确点名了 skill。

4.4 成功结果示例

一个符合预期的输出应该类似:

[RED] 创建 billing-export.test.ts,运行 vitest,1 test failed。 [GREEN] 实现 exportInvoiceCsv,运行 vitest,1 test passed。 [VERIFY] 运行 tsc --noEmit,无类型错误。 改动文件:billing-export.test.ts(新增)、billing-export.ts(新增)。

看到这种结构化输出,说明 Superpowers Skill 的流程约束生效了。如果输出是“我已经实现了 exportInvoiceCsv,应该可以工作”,那就是流程没触发,需要回到配置检查。

5. 本篇常见错排查:401、local proxy failed、reading choices、OAuth

配置和验证过程中最容易踩的坑集中在认证和插件加载上。这一节对照真实报错给出排查路径。

5.1 401 Unauthorized

报错原文通常是:

API error 401: {"error":{"message":"Invalid API key","type":"authentication_error"}}

原因有三种:Key 没填、Key 填错、Key 对应的 Base URL 不匹配。排查步骤:先确认ANTHROPIC_API_KEY或OPENAI_API_KEY的值是 TaoToken 控制台创建的 Key,没有多余空格;再确认 Base URL 是https://taotoken.net/api,没有拼错或带多余路径;最后在 TaoToken 控制台确认该 Key 状态正常、额度充足。

5.2 local proxy failed

报错原文:

Error: local proxy failed to start: listen tcp 127.0.0.1:xxxx: bind: address already in use

这是本地端口被占用。Claude Code 和 Codex 在某些模式下会启动本地代理转发请求。排查:换一个端口,或者关掉占用该端口的进程。在 macOS/Linux 上用lsof -i :端口号找到进程,在 Windows 上用netstat -ano | findstr 端口号。

5.3 reading choices 报错

报错原文:

Error: reading choices: unexpected end of JSON input

这通常发生在流式响应解析失败时。原因可能是 Base URL 指向的服务不支持流式、或者网络中断、或者 Model ID 填错导致返回了非预期格式。排查:确认 Model ID 在 TaoToken 控制台的可用模型列表里;确认 Base URL 没有多余斜杠;如果用的是自建代理,检查代理是否正确透传 SSE。

5.4 OAuth 相关报错

报错原文:

Error: OAuth token exchange failed: invalid_grant

如果你在 Claude Code 里同时配了 OAuth 登录和 API Key,可能会冲突。排查:明确用 API Key 模式时,清掉 OAuth 相关的 token 缓存;在 settings.json 里只保留ANTHROPIC_API_KEY,不要同时保留 OAuth 配置。Codex 侧同理,auth.json里只保留一种认证方式。

5.5 Skill 没触发

如果配置都正常,但 agent 还是直接写代码不走流程,检查三点:插件是否真的加载了(Claude Code 用/plugin list确认,Codex 用/plugins确认);AGENTS.md 或 CLAUDE.md 是否在项目根目录且被读取;任务描述里是否明确点名了 skill。最稳的做法是在任务开头显式写“使用 Superpowers 的 xxx skill”。

6. 把 AI 编码从随手生成升级为规范流程

装好 Superpowers Skill、配好 TaoToken 入口、写好项目级流程约束之后,你的 AI 编码工作流会变成这样:接到需求先判断任务类型,复杂任务走 brainstorming + writing-plans,bug 走 systematic-debugging,新功能走 TDD,完成前走 verification-before-completion。Claude Code 和 Codex 在这个流程下的输出会趋于一致,因为它们被同一套 skill 约束住了。

如果你还没配好模型入口,先去 TaoToken 控制台创建 API Key,然后按第 3 节的配置片段接入。API 文档在https://taotoken.net/api对应的文档页,里面有各协议的详细说明。想先验证模型是否通,可以用模型对话页面发一条测试请求。长期做编码和 Agent 任务的,建议直接上 Coding Plan,额度和稳定性更适合高频调用。

最后给一个我自己的使用习惯:每次开新会话做复杂任务时,第一句话就点名 skill,比如“使用 systematic-debugging,先列根因假设,不要改代码”。这句话花三秒钟,能省掉后面半小时的返工。Skill 的价值不在于让 AI 变聪明,而在于让它在正确的时机做正确的事。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询