拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Superpowers 工程技能包:给 AI 编程代理补上配置与验证这一课

Superpowers 工程技能包:给 AI 编程代理补上配置与验证这一课 1. 为什么你的 AI 代理总在“裸奔”用 Trae 或 Claude Code 写代码最让人血压升高的不是它不会写而是它太敢写。你刚说完“加个用户登录”它噼里啪啦生成三百行数据库连接、密码哈希、JWT 全给你安排上结果你一问“测试呢”它回你一句“已经完成功能正常”。等你真跑起来报错信息糊脸它又开始猜“可能是依赖版本问题建议你升级一下 Node。”这套行为模式背后缺的不是模型能力而是工程约束。Superpowers 这个项目在 GitHub 上拿到 16.8 万 Star核心就干一件事给 AI 编程代理装上一套可组合的工程技能框架让它在动手前先问需求、写代码前先写测试、出 Bug 后按流程排查而不是靠猜。我试过在 Trae 里裸跑一个中等复杂度的需求代理直接开写中间没有任何确认环节最后交付的代码里连错误处理都是空的。接入 Superpowers 之后同样的需求它先抛了五个问题用户量级多少、是否需要第三方登录、密码策略是什么、有没有现成的用户表、部署环境是容器还是裸机。问完才进入计划阶段把任务拆成 2 到 5 分钟能完成的小块每块都带验证标准。这篇文章面向的是已经在用 Trae、Claude Code 或类似 AI 编程代理的开发者尤其是那些被“嘴上说成功、实际跑不通”折磨过的人。我会给出可复制的 settings.json 和 config.toml 骨架配好 TaoToken 的统一 Key 通道最后用一个完整的技能调用动作验证代理是否真的按工程技能执行。全程不涉及任何网络工具只走标准 API 通道。2. 前置准备TaoToken 统一 Key 与技能包获取Superpowers 本身是一堆 Markdown 格式的技能定义文件代理读取后按里面的流程走。但代理要调用模型就得有 API 通道。Trae 和 Claude Code 各自支持自定义模型接入这里用 TaoToken 做统一入口一个 Key 管所有模型调用省得在多个平台之间来回切换配置。TaoToken 的 API 地址是https://taotoken.net/api兼容 OpenAI 风格的接口格式。你需要在控制台创建一个 API Key然后把它填到 Trae 或 Claude Code 的配置里。模型对话、Coding Plan、API Keys 管理这些入口都在官网导航里能找到地址是https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content。技能包这边Superpowers 的仓库地址是https://github.com/obra/superpowers。克隆下来之后核心技能都在.claude/目录下每个技能一个文件夹里面放一个SKILL.md。Trae 原生支持 Skills 功能扫描的是项目根目录下的.trae/skills/国际版或.trae-cn/skills/国内版。Claude Code 则直接读.claude/目录所以如果你用 Claude Code克隆完基本就能用。先把仓库拉下来git clone https://github.com/obra/superpowers.git cd superpowers ls .claude/你会看到brainstorming、test-driven-development、systematic-debugging、writing-plans、subagent-driven-development、requesting-code-review、finishing-a-development-branch这些文件夹。每个文件夹里的SKILL.md定义了该技能的触发条件、执行步骤和输出要求。3. 可复制配置settings.json 与 config.toml 骨架Trae 的配置走settings.jsonClaude Code 走config.toml。下面两份骨架你可以直接复制把YOUR_TAOTOKEN_API_KEY替换成你在 TaoToken 控制台创建的真实 Key。3.1 Trae 的 settings.jsonTrae 的配置文件通常放在用户目录下的.trae/settings.json或者项目根目录的.trae/settings.json。项目级配置优先级更高适合团队统一。{ model: { provider: openai-compatible, baseUrl: https://taotoken.net/api, apiKey: YOUR_TAOTOKEN_API_KEY, modelName: claude-sonnet-4-20250514, maxTokens: 8192, temperature: 0.2 }, skills: { enabled: true, directory: .trae/skills, autoTrigger: true, explicitActivation: true }, agent: { requirePlanBeforeCode: true, requireTestBeforeImplementation: true, maxSubagentParallel: 3 } }几个关键参数说明。baseUrl指向 TaoToken 的 API 入口不要加尾部斜杠。modelName按你实际使用的模型填TaoToken 支持多种模型具体列表在模型对话页面能查到。temperature设 0.2 是为了让代理在工程流程上更稳定减少自由发挥。autoTrigger打开后代理会根据对话内容自动匹配技能比如你提到“排查 Bug”它会自动加载systematic-debugging。3.2 Claude Code 的 config.tomlClaude Code 的配置走 TOML 格式通常放在~/.claude/config.toml或项目根目录的.claude/config.toml。[model] provider openai-compatible base_url https://taotoken.net/api api_key YOUR_TAOTOKEN_API_KEY model_name claude-sonnet-4-20250514 max_tokens 8192 temperature 0.2 [skills] enabled true directory .claude auto_trigger true explicit_activation true [agent] require_plan_before_code true require_test_before_implementation true max_subagent_parallel 3Claude Code 默认就会读.claude/目录下的技能文件所以directory保持默认即可。如果你把 Superpowers 克隆到了别的位置把.claude/整个复制到项目根目录就行。3.3 技能目录结构无论 Trae 还是 Claude Code最终项目里的技能目录结构应该长这样你的项目/ ├── .trae/ # 或 .claude/ 或 .trae-cn/ │ └── skills/ │ ├── brainstorming/ │ │ └── SKILL.md │ ├── test-driven-development/ │ │ └── SKILL.md │ ├── systematic-debugging/ │ │ └── SKILL.md │ ├── writing-plans/ │ │ └── SKILL.md │ ├── subagent-driven-development/ │ │ └── SKILL.md │ ├── requesting-code-review/ │ │ └── SKILL.md │ └── finishing-a-development-branch/ │ └── SKILL.md ├── AGENTS.md # 可选显式声明技能激活规则 └── 你的源代码...复制命令# Trae 国际版 mkdir -p .trae/skills cp -r superpowers/.claude/* .trae/skills/ # Trae CN 国内版 mkdir -p .trae-cn/skills cp -r superpowers/.claude/* .trae-cn/skills/ # Claude Code mkdir -p .claude/skills cp -r superpowers/.claude/* .claude/skills/注意 Trae 扫描的是直接子目录skills/下面不能再套层级否则识别不到。每个技能文件夹里必须有SKILL.md文件名大小写敏感。4. 验证请求一次完整的技能调用动作配置写完之后别急着写业务代码先做一次技能调用验证。这一步的目的是确认代理真的读到了技能文件并且按里面的流程执行而不是嘴上说“已加载”。4.1 验证技能是否被识别在 Trae 或 Claude Code 的聊天窗口输入你有 superpowers 吗列出你当前可用的技能。如果配置正确代理会返回类似这样的内容我当前可用的工程技能包括 1. brainstorming - 动手前先提问明确需求 2. writing-plans - 把大任务拆成 2-5 分钟的小块 3. test-driven-development - 强制 RED-GREEN-REFACTOR 循环 4. systematic-debugging - 按流程排查不靠猜 5. subagent-driven-development - 子代理并行干活 6. requesting-code-review - 任务之间自动代码审查 7. finishing-a-development-branch - 完成后验证测试并清理如果它回复“没有相关技能”或者只列出一两个说明技能目录没被扫描到。检查.trae/skills/或.claude/skills/路径是否正确以及SKILL.md文件是否存在。4.2 触发 brainstorming 技能输入一个模糊需求看它是否主动提问用 brainstorming 技能帮我梳理一下我要给现有项目加一个用户反馈功能。正常情况下的返回应该包含多个澄清问题比如在开始之前我需要确认几个问题 1. 反馈入口放在哪里页面底部、侧边栏还是独立页面 2. 反馈内容需要分类吗比如 Bug 报告、功能建议、其他 3. 是否需要上传截图如果需要存储方案是什么 4. 反馈提交后是否需要通知邮件、站内信还是 Webhook 5. 有没有现成的用户体系可以关联如果它直接开始写代码说明brainstorming技能没有被触发。检查settings.json里的autoTrigger是否为true以及SKILL.md里的触发条件是否被正确解析。4.3 触发 test-driven-development 技能输入一个具体功能需求看它是否先写测试用 test-driven-development 的方式实现一个函数判断字符串是否为合法邮箱。正确的执行顺序应该是第一步写测试用例RED - 测试空字符串返回 false - 测试缺少 符号返回 false - 测试缺少域名返回 false - 测试合法邮箱返回 true 第二步运行测试确认全部失败 第三步写最小实现让测试通过GREEN 第四步重构代码保持测试通过REFACTOR如果它直接给你实现代码没有测试环节说明 TDD 技能没有生效。检查SKILL.md里是否定义了强制测试步骤以及settings.json里的requireTestBeforeImplementation是否为true。4.4 验证 API 通道是否走通在验证技能的同时也确认一下模型调用是否走了 TaoToken 通道。你可以在 TaoToken 控制台的 API Keys 页面查看调用记录或者在模型对话页面直接测试同一个 Key 是否能正常返回。如果代理能正常回复但控制台没有调用记录说明配置里的baseUrl可能被覆盖了。检查settings.json或config.toml里是否有其他模型配置项优先级更高。5. 本篇常见错排查配置过程中最容易踩的坑集中在目录路径、文件格式和触发条件上。下面按现象分类整理。5.1 代理说“没有可用技能”现象聊天窗口问“你有 superpowers 吗”代理回复没有相关技能。排查顺序先确认技能目录是否存在。Trae 国际版是.trae/skills/国内版是.trae-cn/skills/Claude Code 是.claude/skills/。然后确认每个技能文件夹里是否有SKILL.md文件名必须完全一致不能是skill.md或SKILL.MD。最后检查settings.json里的skills.directory是否指向了正确路径。5.2 技能被识别但不触发现象代理能列出技能名称但实际对话中不按技能流程走。原因通常是autoTrigger没打开或者SKILL.md里的触发条件写得太窄。Superpowers 的技能定义里通常会有明确的触发关键词比如brainstorming对应“需求不明确”“先提问”这类场景。如果你输入的内容没有命中关键词代理就不会自动加载。解决办法是在提示词里显式指定技能名比如“用 systematic-debugging 的方法排查这个 Bug”。5.3 API 调用报 401 或 403现象代理无法回复日志显示鉴权失败。检查apiKey是否填了真实 Key有没有多余空格。TaoToken 的 Key 在控制台创建后只显示一次如果忘了就重新创建一个。另外确认baseUrl是https://taotoken.net/api不要写成https://taotoken.net/api/v1或加尾部斜杠路径拼接规则不同会导致 404。5.4 技能目录层级过深现象技能文件明明存在但代理扫描不到。Trae 扫描的是skills/下的直接子目录如果你把技能文件夹又套了一层比如.trae/skills/superpowers/brainstorming/SKILL.md代理就识别不到。正确做法是把brainstorming直接放在skills/下面。复制的时候用cp -r superpowers/.claude/* .trae/skills/注意*展开的是.claude/下的所有文件夹。5.5 模型返回内容被截断现象代理回复到一半停了或者技能流程走到一半中断。检查maxTokens设置。Superpowers 的某些技能比如writing-plans和subagent-driven-development输出内容较长如果maxTokens设得太小比如 2048会在任务拆分阶段被截断。建议设到 8192 或更高。同时确认 TaoToken 控制台里对应模型的配额是否充足。5.6 技能之间互相冲突现象代理同时触发多个技能流程混乱。Superpowers 的技能设计是串行触发的比如先brainstorming再writing-plans再test-driven-development。如果autoTrigger同时匹配到多个技能代理可能会并行执行导致输出混乱。解决办法是在AGENTS.md里显式定义技能优先级或者在提示词里一次只指定一个技能。6. 把工程技能接进日常编码流配置和验证做完之后Superpowers 的价值体现在日常编码的每个环节。你不需要每次手动指定技能代理会根据对话内容自动匹配。比如你贴一段报错日志它会加载systematic-debugging按“复现 → 定位原因 → 修复 → 验证”的流程走而不是直接猜“可能是版本问题”。对于长期编码和 Agent 场景TaoToken 的 Coding Plan 提供了更稳定的通道支持适合把 Superpowers 接入持续集成或自动化流程。模型对话页面可以用来单独测试某个技能的输出质量API Keys 管理页面则方便你按项目分配不同的 Key避免混用。接入文档里有更详细的参数说明和示例配置遇到鉴权或路径问题时可以先查文档。整个流程的核心就一句话让代理在写代码之前先过一遍工程流程而不是拿到需求就开写。Superpowers 提供的是流程约束TaoToken 提供的是稳定的模型通道两者配合起来代理的输出质量会有明显提升。
返回列表