Claude Code Skills 进阶:用 SKILL.md 与 Subagents 把重复流程交给 TaoToken 统一调度

发布时间:2026/9/29 6:55:39
Claude Code Skills 进阶:用 SKILL.md 与 Subagents 把重复流程交给 TaoToken 统一调度 1. 为什么你的 Claude Code 越用越乱如果你已经在用 Claude Code 写代码大概率经历过这个阶段一开始觉得它很聪明什么都能聊用了一周之后发现每次都要重复输入同样的审查清单、同样的提交规范、同样的部署步骤。团队里三个人三套提示词输出风格完全不一样。这不是 Claude Code 的问题是你还没把「重复流程」沉淀下来。Skills 就是干这个的把高频操作、团队规范、专项任务固化成可调用的技能用/技能名手动触发或者让对话自动匹配。一次配置后面反复用。但光有 Skills 还不够。当你把代码审查、PR 总结、部署前检查都做成 Skill 之后会发现另一个问题这些技能跑起来会往主会话里塞大量上下文读文件、跑命令、输出中间结果聊到后面模型已经「忘了」你最开始要干什么。这时候就需要 Subagents 出场——让每个技能在独立的子代理里跑干完活只把结论带回来。这篇要解决的就是 Skills 和 Subagents 怎么配合以及怎么通过 TaoToken 把 Key 和 API 通道统一起来让个人技能和团队技能走同一个入口。适合已经把 Claude Code 用起来、但流程还很散的开发者。下面从 SKILL.md 骨架开始一路写到 settings.json 配置和完整验证清单。2. TaoToken 前置统一 Key 与 API 通道在写 Skill 之前先把「通道」这件事定下来。Claude Code 默认走官方通道但如果你同时用多个模型、多个项目、多个团队成员Key 管理会变成灾难。TaoToken 在这里的角色是统一入口一个 Key 覆盖模型对话、Coding Plan、API 调用Claude Code 的 settings.json 里指向同一个 base URL 就行。先拿到 Key。打开控制台在 API Keys 页面创建一个新 Key复制出来。这个 Key 后面会写进 settings.json也会被 Skill 里的脚本引用。TaoToken 的 API 地址是https://taotoken.net/api注意这个地址不带任何查询参数直接作为 base URL 使用。官网入口在https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content需要看文档或者开 Coding Plan 的时候从那里进。注意Key 只创建一次复制后存到环境变量或本地配置文件不要硬编码在 SKILL.md 里。Skill 文件可能会被 Git 提交Key 泄露了就得重新生成。如果你还没决定用哪种接入方式可以按场景分只是验证模型能不能跑通用模型对话页面直接试要长期在 Claude Code 里写代码、跑 Agent开 Coding Plan 更划算需要自己写脚本调 API 的用 API Keys 页面生成的 Key 配合接入文档。3. 可复制配置SKILL.md 骨架与 Subagents 分工3.1 SKILL.md 最小骨架Skills 的存放位置决定适用范围。个人全局技能放~/.claude/skills/name/SKILL.md当前项目所有成员共享的放.claude/skills/name/SKILL.md。先建目录mkdir -p ~/.claude/skills/code-review cd ~/.claude/skills/code-review然后写 SKILL.md。骨架分两部分YAML 前置元数据 Markdown 执行指令。元数据里name和description最关键description决定自动触发时机写得太宽会误触发写得太窄又匹配不上。--- name: code-review description: 按团队规范审查指定文件用户要求审查代码检查规范时触发 argument-hint: [file-path] allowed-tools: Read,Grep --- # 代码审查工作流 1. 读取 $ARGUMENTS 指定的文件 2. 检查命名规范变量和函数用 camelCase常量用 UPPER_SNAKE_CASE 3. 排查空指针、未处理异常、未定义变量 4. 检查是否有冗余逻辑和重复代码 5. 输出格式文件路径:行号 | 问题类型 | 具体问题 | 修复建议这里$ARGUMENTS是参数占位符调用时/code-review src/auth/login.ts会把路径替换进去。allowed-tools限定这个技能只能用 Read 和 Grep不能执行 Bash避免误操作。3.2 Subagents 分工配置当技能变多之后每个技能都往主会话塞上下文聊到后面模型会「失忆」。解决办法是在 SKILL.md 的元数据里加context: fork让技能在独立子代理里跑。--- name: deep-research description: 深度调研指定模块输出带文件引用的总结 context: fork agent: Explore allowed-tools: Read,Grep,Glob argument-hint: [module-path] --- # 深度调研流程 彻底调研 $ARGUMENTS 模块 1. 用 Glob 匹配该模块下所有相关文件 2. 分析每个文件的核心逻辑、函数关系、数据流向 3. 关联项目其他模块说明依赖关系 4. 输出带文件路径和行号的总结 5. 提出优化建议context: fork是关键它让这个技能在隔离子代理中运行读了多少文件、跑了多少命令都不会占用主会话的上下文。调研完成后只把总结结果带回来。agent: Explore指定子代理类型适合调研类任务如果是调试类任务可以换成 Debug 类型。Subagents 的分工原则很简单读多写少的调研类任务用 fork需要修改文件的任务留在主会话。因为子代理的修改结果不会自动同步回主会话容易造成状态不一致。3.3 settings.json 接入 TaoTokenClaude Code 的配置文件在~/.claude/settings.json。把 API 通道指向 TaoToken这样所有 Skill 和 Subagent 都走同一个入口不用每个技能单独配 Key。{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: 你的TaoToken Key }, permissions: { allow: [ Skill(code-review), Skill(deep-research) ], deny: [ Skill(deploy-prod:*) ] } }ANTHROPIC_BASE_URL指向 TaoToken 的 API 地址ANTHROPIC_API_KEY填你在控制台创建的 Key。permissions里可以精细控制哪些技能允许调用、哪些禁止。高危操作比如生产部署用deny直接禁掉自动触发只允许手动调用。提示settings.json 修改后需要重启 Claude Code 会话才生效。如果改了没反应先检查 JSON 格式有没有多逗号或者少括号。4. 验证请求从触发到成功结果配置写完了得验证一遍。下面是一次完整的动作清单从触发技能到确认结果。第一步确认技能被加载。在 Claude Code 里输入/看技能列表里有没有code-review和deep-research。如果没有检查目录结构ls ~/.claude/skills/code-review/SKILL.md ls ~/.claude/skills/deep-research/SKILL.md两个文件都存在说明路径没问题。如果列表里还是没有重启会话。第二步手动触发一个技能。准备一个测试文件比如src/utils/format.js然后调用/code-review src/utils/format.js预期结果是模型按 SKILL.md 里的规则输出审查结果格式是「文件路径:行号 | 问题类型 | 具体问题 | 修复建议」。如果输出格式不对说明 SKILL.md 里的指令不够明确回去改。第三步验证 Subagent 隔离。调用deep-research技能/deep-research src/auth/这个技能配了context: fork跑的时候主会话不会出现大量文件读取的中间过程只有最后的总结。你可以观察一下如果主会话里刷了一大堆 Read 和 Grep 的调用记录说明 fork 没生效检查元数据里context: fork有没有写对。第四步验证 API 通道。在 Claude Code 里随便问一个需要调模型的问题比如「解释一下这段代码」看能不能正常返回。如果报 401 或 403说明 Key 有问题如果报连接超时检查ANTHROPIC_BASE_URL是不是写成了https://taotoken.net/api注意结尾没有斜杠。第五步验证权限控制。试着调用一个被 deny 的技能比如/deploy-prod main应该被拒绝。如果还能跑说明permissions.deny的写法有问题检查技能名有没有拼错。5. 本篇常见错排查5.1 技能不触发自动和手动都不行最常见的原因是目录结构不对。Skills 要求skill-name/SKILL.md这种结构不能直接把 SKILL.md 放在 skills 目录下。检查# 正确结构 ~/.claude/skills/code-review/SKILL.md # 错误结构 ~/.claude/skills/code-review.md另一个原因是description里没有包含触发关键词。自动触发靠的是对话内容和 description 的匹配如果你写的是「审查代码」但用户说的是「检查一下这个文件」可能匹配不上。把常见说法都塞进 description。5.2 参数不生效$ARGUMENTS 没被替换检查 SKILL.md 里有没有写$ARGUMENTS拼写是否正确。调用时参数要紧跟技能名中间不能有多余空格# 正确 /code-review src/utils/format.js # 错误参数前有空格 /code-review src/utils/format.js如果传多个参数用空格分隔$ARGUMENTS会拿到全部参数。需要单独取某个参数的话得在指令里说明怎么拆分。5.3 技能加载不全指令被截断SKILL.md 有字符上限超过之后模型只能加载前面一部分。如果你的技能指令很长把详细示例和参考文档移到同目录下的reference.md或examples.mdSKILL.md 里只留核心流程。需要的时候在指令里写「参考 reference.md 中的示例」。5.4 API 报错Key 或地址问题401 一般是 Key 无效去控制台确认 Key 有没有被删除或过期。403 可能是权限问题检查 Key 对应的套餐是否包含你要用的模型。连接超时检查ANTHROPIC_BASE_URL是否写成了https://taotoken.net/api不要加多余的路径或参数。5.5 Subagent 没隔离上下文还是被污染检查元数据里context: fork有没有写对注意是fork不是Fork也不是forked。另外agent字段指定的子代理类型要存在写一个不存在的类型可能导致 fork 失效。6. 把重复流程交给统一调度Skills 和 Subagents 配合起来用核心思路是高频操作固化成 Skill读多写少的调研类任务用 fork 隔离需要改文件的任务留在主会话。TaoToken 在这里的作用是统一 Key 和 API 通道个人技能和团队技能走同一个入口不用每个技能单独配。如果你还在验证阶段先去模型对话页面试一下模型能不能正常返回准备长期在 Claude Code 里跑 Agent 和 Coding Plan 的去 Coding Plan 页面看套餐需要自己写脚本调 API 的从 API Keys 页面生成 Key配合接入文档把 settings.json 配好。最后留一个实操建议从你每天重复最多的那个操作开始先做成最简单的 Skill跑通之后再考虑加参数、加 fork、加权限控制。不要一上来就写一个包含十个步骤的复杂技能调试成本太高。先跑通一个再复制扩展。