ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Superpowers Skill 实战:让 Claude Code 和 Codex 按工程流程做开发

Superpowers Skill 实战:让 Claude Code 和 Codex 按工程流程做开发 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-developmentRED-GREEN-REFACTOR 循环、systematic-debugging根因假设与验证、verification-before-completion完成前实际验证、requesting-code-review提交前风险检查等。2.1 Claude Code 侧安装Claude Code 有两种安装路径。第一种是从官方插件市场装/plugin install superpowersclaude-plugins-official第二种是添加 Superpowers 自己的 marketplace 后再装/plugin marketplace add obra/superpowers-marketplace /plugin install superpowerssuperpowers-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 协议的 APIBase 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/apiAPI 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_KEYsk-your-taotoken-key。这样切换 profile 时不会污染全局配置。3.3 项目级 AGENTS.md 流程约束配置好模型入口后把工程流程约束写进项目级说明文件。Claude Code 读CLAUDE.mdCodex 读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运行 vitest1 test failed。 [GREEN] 实现 exportInvoiceCsv运行 vitest1 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-plansbug 走 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 变聪明而在于让它在正确的时机做正确的事。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进