
1. 为什么要在 Claude Code 里折腾 SkillsClaude Code 用久了会发现一个尴尬它默认什么都能聊但一到具体项目就“不懂规矩”。比如你希望它每次改完代码自动跑一遍 lint、或者按团队约定生成 commit message、又或者处理数据时固定走某套清洗流程——这些重复性偏好靠每次对话里反复叮嘱效率太低。Skills 就是解决这个问题的。你可以把它理解成给 Claude Code 装的“技能包”一个 SKILL.md 文件描述清楚“什么场景下触发、触发后按什么步骤做”Claude Code 在会话里识别到匹配的请求就会自动加载并执行这套流程。它和插件plugin的关系是插件是分发容器Skills 是容器里的具体能力。一个插件可以带多个 Skill也可以只带一个。这篇面向两类人一是想直接用现成能力、不想写代码的走“安装插件”这条路二是团队有私有流程、需要自己定义触发词和步骤的走“手写 SKILL.md 自定义插件”这条路。两条路最后都会落到同一个关键点——Claude Code 要能稳定调用模型而模型通道我建议统一走 TaoToken 的 Key/API这样插件配置、环境变量、密钥管理都在一处换机器或换项目不用重新折腾一遍。下面按“先跑通再优化”的顺序来先讲前置的 Key 和通道准备再给两种添加 Skills 的完整可复制配置然后是验证和排错。2. 前置用 TaoToken 统一 Key 与 API 通道Claude Code 本身是个客户端它需要后端模型服务。如果你在多个项目、多台机器上分别配 Key很快就会乱。TaoToken 的做法是提供一个统一的 API 入口Claude Code 通过环境变量指向它Key 也只维护一份。先拿到 Key访问控制台 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 在 API Keys 页面创建一个新 Key。建议按用途命名比如claude-code-dev方便后面区分。创建后复制 Key然后配置环境变量。macOS/Linux 写进~/.zshrc或~/.bashrcexport ANTHROPIC_BASE_URLhttps://taotoken.net/api export ANTHROPIC_API_KEYsk-你的TaoTokenKeyWindows PowerShell 用$env:ANTHROPIC_BASE_URLhttps://taotoken.net/api $env:ANTHROPIC_API_KEYsk-你的TaoTokenKey改完记得source ~/.zshrc或重开终端。这里有个细节ANTHROPIC_BASE_URL末尾不要带斜杠Claude Code 内部拼接路径时多一个斜杠可能 404。API 地址就是https://taotoken.net/api不带任何查询参数。注意Key 不要硬编码进 plugin.json 或 SKILL.md那些文件可能被提交到仓库。密钥只放环境变量或本地未跟踪的配置文件里。如果你还没决定用哪种模型可以先去模型对话页 https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite 试几条请求确认通道通了再往下配 Skills。接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 里面有各语言的调用示例排错时对照着看。3. 方法一安装现成插件最快拿到 Skills这是零代码路径。很多官方插件自带 Skills装完重启就能用。在 Claude Code 会话里直接运行/plugin install code-simplifierclaude-plugins-official这条命令会从官方插件市场拉取code-simplifier插件它内部包含代码简化相关的 Skill。装完后重启 Claude Code 会话输入/就能在列表里看到新增的 Skill。如果你不确定有哪些插件用菜单浏览更直观/plugin然后选Discover会列出可安装的插件。找到需要的按提示安装即可。常见的自带 Skill 插件包括update-config、simplify、loop等各自对应配置更新、代码简化、循环任务等场景。安装类操作的关键点有三个一是插件来源要可信插件可能访问文件系统或执行命令别乱装来路不明的二是装完必须重启会话Skill 注册发生在启动阶段三是如果安装报网络错误先确认第 2 步的环境变量在当前终端生效echo $ANTHROPIC_BASE_URL能打印出地址才算配好。4. 方法二手写 SKILL.md 自定义插件现成插件覆盖不到你的私有流程时就得自己写。整体结构是一个插件目录里面放元数据和 skills 子目录。4.1 创建目录结构mkdir -p my-plugin/.claude-plugin mkdir -p my-plugin/skills/my-skill最终结构my-plugin/ ├── .claude-plugin/ │ └── plugin.json └── skills/ └── my-skill/ └── SKILL.md每个 Skill 一个子目录目录名建议和 Skill 的name保持一致减少混淆。4.2 编写 plugin.jsonmy-plugin/.claude-plugin/plugin.json{ name: my-plugin, description: 我的自定义插件包含数据处理相关 Skill, author: { name: 你的名字, email: youremail.com } }name是插件标识安装和引用时用得到description写清楚用途方便团队其他人识别。4.3 编写 SKILL.md 骨架这是核心文件。my-plugin/skills/my-skill/SKILL.md--- name: my-skill description: This skill should be used when the user asks to 处理数据, 分析报表, 清洗CSV, or discusses 数据分析. Use for tabular data cleaning and report generation. version: 1.0.0 --- # My Skill 处理表格数据并生成分析报表的标准流程。 ## 使用场景 - 用户提供 CSV/Excel 文件需要清洗 - 用户要求生成汇总报表 - 用户提到数据去重、缺失值处理 ## 操作步骤 1. 读取用户指定的数据文件确认列名和行数 2. 检查缺失值按列类型决定填充或删除策略 3. 输出去重后的行数和处理摘要 4. 生成 Markdown 格式的汇总报表 ## 注意事项 - 处理前先备份原始文件 - 数值列和文本列分开处理frontmatter 里name和description是必填。description的写法直接决定 Skill 能不能被触发——它要包含用户可能说的关键词或短语中英文都列上命中率更高。Claude Code 是靠这段描述做语义匹配的写得越贴近真实提问触发越准。4.4 安装自定义插件两种方式。临时调试用命令行指定目录claude --plugin-dir /path/to/my-plugin长期使用则在settings.json里配置插件目录让 Claude Code 启动时自动加载。配置后重启会话Skill 就注册进去了。5. 验证 Skill 是否生效装完插件、重启会话后在 Claude Code 里输入/查看可用 Skills 列表确认你的 Skill 出现在里面。然后做一次触发测试。用一句贴近description的话提问比如“帮我清洗这个 CSV 并生成报表”。如果 Skill 被正确匹配Claude Code 会按 SKILL.md 里定义的步骤执行而不是自由发挥。再验证一下模型通道是否正常。如果 Skill 触发了但请求报错多半是第 2 步的 Key 或地址有问题。可以单独发一条普通对话确认通道或者去模型对话页 https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite 用同一个 Key 发请求能通说明通道没问题问题在插件配置。6. 本篇常见错排查Skill 不触发九成是description写得太窄。用户说“整理下这个表”你的描述里只有“数据分析”语义对不上就不触发。把同义说法、中英文关键词都补进去。装完没反应忘了重启会话。Skill 注册在启动阶段完成热装不生效。plugin.json 解析失败JSON 不允许尾逗号author字段的引号要配对。用python -m json.tool plugin.json校验一下最稳。请求 401/403Key 无效或环境变量没生效。echo $ANTHROPIC_API_KEY确认能打印注意别把 Key 写进会被提交的文件。请求 404ANTHROPIC_BASE_URL末尾多了斜杠或者写成了带路径的完整 URL。正确值就是https://taotoken.net/api。插件目录不识别--plugin-dir要指向插件根目录含.claude-plugin的那层不是指向skills子目录。Skill 执行越权自定义 Skill 里如果写了执行命令的步骤确认这些命令是安全的。插件能访问文件系统来源不可信的插件不要装。排错时优先看 Claude Code 的启动日志和会话报错再对照接入文档 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 检查请求格式。如果长期要做编码类 Skill 和 Agent 工作流可以考虑 Coding Plan https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 把额度管理和多项目切换一起解决省得每个项目单独配 Key。