1. 从 Skills v1.2 说起:Claude Code 里到底变了什么
Matt Pocock 的 Skills 仓库拿到 204K star,GitHub 全历史排到第 24 名,这个量级本身就说明问题。v1.2 这次更新不是小修小补,它把 Skills 从「散落在仓库里的 markdown 文件」变成了有文档站、有官方插件、有跨平台配置的完整体系。如果你正在用 Claude Code 写代码,或者刚听说 Skills 这个概念想上手,这篇就是给你写的。
Skills 本质上是一组可被 Agent 调用的指令包,每个 skill 对应一个斜杠命令,比如/wait-what、/grill-me、/wizard。它解决的问题很具体:Agent 输出太啰嗦、需求没聊清就动手、配服务器步骤记不住、跟不用 AI 的同事没法协作。v1.2 新增和改动的几个 skill,正好覆盖了这些痛点。
这次更新里我关注三个点。第一是/wait-what,专门治 Agent 说废话,用 ASD-STE100 简化英语标准加 CONTEXT.md 术语表,让 Agent 用你的语言重说一遍。第二是/grill-me从一问一答改成问题图并行推进,16 个问题从 15 轮压到 3 轮。第三是 Codex 兼容性,每个 skill 附带openai.yaml,设置allow implicit invocation: false,让 user-invoked skills 在 Codex 里也能正常工作。
但光有 Skills 不够,你得让 Claude Code 稳定跑起来。这篇会先把 Claude Code 的 settings 改到 TaoToken,给出可复制的配置片段,然后逐项拆解 v1.2 的新能力,最后跑一次完整调用验证 Skills 加载和 Agent 触发是否符合预期。适合谁看:正在用 Claude Code 的开发者、想试 Skills 但卡在配置的人、以及关心 Codex 跨平台一致性的同学。
2. 前置准备:把 Claude Code 的 settings 指向 TaoToken
Claude Code 默认走 Anthropic 官方端点,但很多人在国内网络环境下会遇到连接不稳定、请求超时的问题。TaoToken 提供兼容 Anthropic 协议的接入层,你只需要改 Base URL 和 API Key,Claude Code 的其余行为不变。这一步做完,后面所有 Skills 的调用才有稳定的底座。
先说清楚要准备什么。你需要一个 TaoToken 账号,然后在控制台生成 API Key。这个 Key 是后续所有配置的核心凭证,格式通常是sk-开头的一串字符。拿到 Key 之后,不要直接写进代码里,而是通过环境变量或 settings 文件管理。
Claude Code 的配置分两层。一层是全局 settings,放在~/.claude/settings.json,对所有项目生效。另一层是项目级配置,放在项目根目录的.claude/settings.json,只对当前项目生效。我建议把 Base URL 和 Key 放在全局 settings,把模型选择和权限控制放在项目级,这样切换项目时不用重复配。
具体操作:打开终端,创建或编辑~/.claude/settings.json。如果文件不存在,直接新建。写入以下内容:
{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_API_KEY": "sk-你的TaoToken密钥" } }这里有两个关键点。ANTHROPIC_BASE_URL填https://taotoken.net/api,注意不要带末尾斜杠,也不要加 UTM 参数,Claude Code 对 URL 格式比较敏感。ANTHROPIC_API_KEY填你在 TaoToken 控制台生成的 Key。保存文件后,Claude Code 启动时会自动读取这两个环境变量。
如果你不想改全局配置,也可以用环境变量临时覆盖。在终端里执行:
export ANTHROPIC_BASE_URL="https://taotoken.net/api" export ANTHROPIC_API_KEY="sk-你的TaoToken密钥"这种方式只在当前终端会话有效,关掉终端就失效。适合临时测试,不适合长期使用。
还有一种情况:你用的是 Claude Code 的插件市场安装 Skills,插件本身会读取 Claude Code 的配置。所以只要 settings 改对了,插件里的 Skills 会自动走 TaoToken 的端点,不需要额外配置。
配完之后,你可以用claude --version确认 Claude Code 能正常启动。如果启动时报local proxy failed或401,先检查 Key 是否复制完整、Base URL 是否有多余空格。这两个错误在下一节会详细排查。
3. 可复制配置:settings.json 与 Codex 的 openai.yaml 对照
这一节给你两份可直接复制的配置。第一份是 Claude Code 的完整 settings,包含 Base URL、Key、模型 ID 和权限设置。第二份是 Codex 的openai.yaml,对应 Skills v1.2 新增的跨平台支持。两份配置的路径和字段名都按官方约定写,你照着改 Key 就能用。
先看 Claude Code 的完整 settings。在~/.claude/settings.json里写入:
{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_API_KEY": "sk-你的TaoToken密钥", "ANTHROPIC_MODEL": "claude-sonnet-4-20250514" }, "permissions": { "allow": [ "Bash(git status)", "Bash(git diff)", "Bash(npm run test)", "Read", "Write" ], "deny": [ "Bash(rm -rf *)", "Bash(curl * | sh)" ] } }三个字段解释一下。ANTHROPIC_BASE_URL是 TaoToken 的 API 地址,固定填https://taotoken.net/api。ANTHROPIC_API_KEY是你的密钥。ANTHROPIC_MODEL指定默认模型,这里填的是 Sonnet 系列,你也可以换成 Opus 或 Haiku,取决于你的套餐和任务复杂度。权限部分allow列出允许自动执行的命令,deny列出禁止执行的命令,这是 Claude Code 的安全机制,建议保留。
如果你在项目里想覆盖全局配置,在项目根目录建.claude/settings.json,只写需要覆盖的字段。比如项目需要不同的模型:
{ "env": { "ANTHROPIC_MODEL": "claude-opus-4-20250514" } }项目级配置会合并全局配置,同名字段以项目级为准。
再看 Codex 的openai.yaml。Skills v1.2 给每个 skill 附带了这个文件,放在 skill 目录下。它的作用是告诉 Codex 这个 skill 的调用方式。关键字段是allow_implicit_invocation,设为false表示只有用户主动调用时才进入上下文,不会被动隐藏。配置长这样:
name: wait-what description: 当 Agent 输出难以理解时,用简单语言和 CONTEXT.md 术语重述 allow_implicit_invocation: false model: gpt-4oallow_implicit_invocation: false这一行是 v1.2 的重点。之前 user-invoked skills 在 Claude Code、Pi 这些 harness 里是被动隐藏的,只有你主动调用才进上下文。Codex 不走这套机制,Matt 之前没意识到,加上这个字段后跨平台行为一致了。
三件套对照表:
| 平台 | Base URL | Key 字段 | Model ID 字段 |
|---|---|---|---|
| Claude Code | https://taotoken.net/api | ANTHROPIC_API_KEY | ANTHROPIC_MODEL |
| Codex | https://taotoken.net/api | OPENAI_API_KEY | model(openai.yaml 内) |
| Cline MCP | https://taotoken.net/api | apiKey | modelId |
配完之后,Claude Code 和 Codex 都会走 TaoToken 的端点。Skills 的加载逻辑不变,变的只是底层请求发往哪里。
4. 验证请求:跑一次完整调用确认 Skills 加载与 Agent 触发
配置写完不算完,得跑一次真实请求确认链路通。这一节我用/wait-what和/grill-me两个 skill 做验证,观察 Skills 是否加载、Agent 是否按预期触发。整个过程分三步:启动 Claude Code、调用 skill、检查输出。
第一步,启动 Claude Code。在终端进入你的项目目录,执行:
claude如果配置正确,你会看到 Claude Code 的交互界面,顶部显示当前模型和端点信息。如果报401 Unauthorized,说明 Key 不对;如果报local proxy failed,说明 Base URL 格式有问题。这两个错误下一节详细说。
第二步,验证 Skills 加载。Claude Code 启动后,输入/会弹出可用命令列表。如果你装了 Matt Pocock Skills 插件,列表里应该能看到/wait-what、/grill-me、/wizard、/to-questionnaire这些命令。看不到的话,检查插件是否安装成功,或者手动在.claude/skills/目录下放 skill 文件。
第三步,调用/wait-what做实际验证。先让 Agent 输出一段啰嗦的话,比如问它「解释一下什么是依赖注入」。等它回完,你输入:
/wait-what预期行为是 Agent 用简单英语加 CONTEXT.md 里定义的术语重新说一遍。如果你项目里没有 CONTEXT.md,它会用通用简化语言。实测下来,触发后 Agent 会先识别上一轮输出,然后重述,不会重新回答原问题。
再验证/grill-me。输入:
/grill-me 我要做一个用户登录功能预期行为是 Agent 进入提问模式,第一轮抛出前沿关键问题,比如「邮箱还是手机号登录」「要不要社交登录」,每个问题带推荐选项。你回答后,它解锁第二轮问题,最后第三轮做确认。整个过程从旧版的 15 轮压到 3 轮。
验证成功的标志有三个。一是命令列表里能看到 skill 名称,二是调用后 Agent 行为符合 skill 描述,三是输出里没有报错信息。如果/grill-me调用后 Agent 直接开始写代码而不是提问,说明 skill 没加载成功,检查插件安装路径。
跑完这两个 skill,你可以再试/wizard。输入:
/wizard 帮我配一个 AWS S3 桶预期行为是 Agent 生成一个交互式 bash 脚本,而不是直接操作。脚本会一步步引导你打开页面、粘贴 Key、确认步骤。这个 skill 的特点是 Agent 只写脚本,不调用 AI,敏感信息留在本机。
5. 常见报错排查:401、local proxy failed、reading choices、OAuth
配置和调用过程中最容易踩的坑集中在四类报错。这一节按报错信息逐条给排查步骤,你对着改就行。
401 Unauthorized。这是最常见的错误,原因是 API Key 不对。排查顺序:第一,确认 Key 复制完整,没有多余空格或换行。第二,确认 Key 没有过期,去 TaoToken 控制台看状态。第三,确认ANTHROPIC_API_KEY字段名拼写正确,不是ANTHROPIC_KEY或API_KEY。第四,如果你用的是环境变量,确认export在当前终端生效,可以echo $ANTHROPIC_API_KEY检查。改完 Key 后重启 Claude Code,配置不会热加载。
local proxy failed。这个错误通常和 Base URL 有关。检查ANTHROPIC_BASE_URL是否填成https://taotoken.net/api,注意三点:不要带末尾斜杠,不要带 UTM 参数,不要写成http。Claude Code 对 URL 格式敏感,多一个字符都可能触发这个错误。另外确认你的网络能访问这个地址,可以用curl https://taotoken.net/api测试连通性。
reading choices 报错。这个错误出现在 Agent 返回结果解析阶段,通常是模型返回格式不符合预期。排查:第一,确认ANTHROPIC_MODEL填的是有效模型 ID,比如claude-sonnet-4-20250514,不要填不存在的名字。第二,确认 TaoToken 套餐支持你选的模型。第三,如果用了 Codex,检查openai.yaml里的model字段是否和实际调用一致。第四,清空 Claude Code 缓存,路径在~/.claude/cache,删掉后重启。
OAuth 相关报错。如果你之前用 Anthropic 官方账号登录过 Claude Code,可能会残留 OAuth token,和 API Key 冲突。解决方法是清除旧凭证。在终端执行:
claude logout然后重新用 API Key 方式配置。确认~/.claude/目录下没有残留的credentials.json或auth.json,有的话删掉。重启 Claude Code,它会优先读 settings 里的 API Key。
还有一个容易忽略的点:Skills 加载失败但没报错。表现是你输入/wait-what没反应,或者提示命令不存在。排查:第一,确认插件安装路径正确,Claude Code 官方插件市场搜「Matt Pocock Skills」安装。第二,确认 skill 文件在.claude/skills/目录下,每个 skill 一个子目录,里面有SKILL.md。第三,如果是 Codex,确认openai.yaml和SKILL.md在同一目录。第四,重启 Claude Code,Skills 在启动时加载。
对照表帮你快速定位:
| 报错 | 最可能原因 | 第一步动作 |
|---|---|---|
| 401 | Key 错误或过期 | 重新生成 Key 并替换 |
| local proxy failed | Base URL 格式错 | 检查末尾斜杠和协议 |
| reading choices | 模型 ID 无效 | 换成有效模型名 |
| OAuth 冲突 | 旧凭证残留 | 执行claude logout |
6. 把 Skills 用起来:从配置到日常编码的落地建议
配置跑通之后,Skills 的价值在日常使用里才体现出来。我自己的习惯是把/grill-me放在需求阶段,/wait-what放在阅读阶段,/wizard放在运维阶段。这三个 skill 覆盖了编码流程里最容易卡住的地方。
/grill-me的用法有个技巧:不要等想法完全清晰了才调用。你有个模糊方向就可以触发,让 Agent 帮你把问题拆开。v1.2 的问题图机制会把关键决策放前面,简单确认堆到最后,你回答的时候可以语音一口气答完多个问题,效率比打字高很多。实测下来,一个中等复杂度的功能,3 轮 grilling 能把需求边界聊清楚,比直接让 Agent 写代码再返工省时间。
/wait-what适合在 code review 或者读 Agent 输出时用。当你发现一段话读了三遍没懂,不要硬读,直接/wait-what。它的机制是回归 CONTEXT.md 术语表,所以你在项目里维护好 CONTEXT.md 很重要。把项目特有的词汇、缩写、领域概念写进去,Agent 重述时会用你的语言,而不是它自己的 LLM 短语。
/wizard适合配服务器、迁移环境、设置 CI/CD 这类操作。它的设计哲学是「人做决策,脚本做导航」,Agent 只生成 bash 脚本,不直接操作你的服务器。敏感信息比如 API Key、密码,永远留在本机。你运行脚本时,它一步步引导你打开页面、粘贴凭证、确认步骤,比对着文档手动敲命令可靠。
/to-questionnaire解决的是协作问题。当你需要跟不用 AI 的同事或家人确认需求时,把 grilling 问题导出成 markdown,对方在 Google Docs 里填,你再喂回 Agent。Matt 说这是他希望有一天能删掉的 skill,因为理想状态是所有人都在 AI 原生环境里协作。但现实是很多人不在那个世界,这个 skill 是过渡期的实用工具。
最后说 Codex 兼容性。v1.2 给每个 skill 加了openai.yaml,allow_implicit_invocation: false这一行让 user-invoked skills 在 Codex 里也能正常工作。如果你同时用 Claude Code 和 Codex,同一套 skill 文件两边都能跑,不用维护两份配置。这对跨平台团队来说省事不少。
如果你还没配 TaoToken,先去控制台生成 Key,然后按第 3 节的 settings 片段改配置。配完跑一次/wait-what验证链路,通了再装 Skills 插件。遇到报错对着第 5 节的表排查,大部分问题出在 Key 和 Base URL 这两个字段上。