☰
一文带你看懂,火爆全网的Skills到底是个啥:从Prompt到Agent的配置骨架
2026/9/29 23:24:39 网站建设 项目流程

1. 先搞清楚:Skills 到底解决了什么麻烦

如果你最近刷 GitHub,会发现一个叫 Skills 的东西突然到处都是。有个收集了 50 多个 Claude 技能的仓库已经 18K star,另一个叫 superpowers 的项目,把各种 Skills 包装成开发工作流,同样 18K。热度几乎不亚于当年 Prompt 模板满天飞的阶段。

但很多人点进去看完还是一头雾水:这不就是写个 Markdown 吗?跟 Prompt 有啥区别?MCP 又是干嘛的?

我用一句话先给你定性:Skills 是给 Agent 用的技能包,它把你的流程性知识变成可复用、按需加载的能力文件夹。Prompt 是你当场口头交代任务,MCP 是给 AI 开门的门禁卡,而 Skills 是你递给它的一本公司 SOP 手册——它自己会翻,翻到哪页用哪页。

这篇文章不聊概念空转。我会把 Skills 在 Claude Code、OpenCode 这类工具里的落地形态拆开,讲清 Prompt、MCP、Agent 三者的协作关系,然后给你两份可直接复制的配置骨架(settings.json 和 config.toml),最后用 TaoToken 统一 Key/API 通道跑一次验证请求,让你能自己判断:我装的这个 Skill,到底生效了没有。

适合谁看:正在用 Claude Code 或类似工具、想让 AI 稳定执行固定流程的人;被 Prompt 越写越长、Token 越烧越多困扰的人;以及想搞明白 Agent 架构里各部件分工的开发者。

2. 把 Prompt、MCP、Agent、Skills 四者关系摆正

2.1 用带新人的比喻一次讲透

把 Agent 想成一个刚入职的实习生。聪明、理解力强、啥都能聊,但你真让他干活,最大的问题不是智商,是不熟你家规矩。

Prompt 就是你站在他旁边当场口头交代:今天写个公众号开头,明天把语气改克制点。它适合一次性的、临场的指令,缺点也明显——对话一关,说过的话就没了。Prompt 是对话里当下给的自然语言指令,临时、反应式、只在这轮生效。

Skills 是你给他一本内部 SOP 手册。而且这手册不是一张长到让人窒息的 Word,它更像一个知识库文件夹,里面放规范、脚本、模板、参考资料。Agent 会在需要时自己去翻。

MCP 则完全不负责教新人干活,它只负责给新人开门禁卡。AI 再强,进不去你们公司的仓库、连不上外部系统,也是白搭。MCP 就是让 AI 应用安全连接外部系统、调用外部能力的那个通道。

2.2 渐进式披露:Skills 省 Token 的关键设计

这里有个核心设计叫 progressive disclosure,渐进式披露。你每天用的菜单栏就是它:点头像进菜单,再点设置,最后进复杂设置界面。目的不是一上来就给你一堆选项让认知负荷爆炸,而是分解成几部分,引导你从易到难处理。

放到 Skills 上就是:先放目录,再放章节,最后放附录。Skill 的元信息先加载一小段,让模型知道"有这么个手册,适用范围是啥"。当它判断这次任务真用得上,再把完整的 SKILL.md 读进上下文;还不够,再按需读文件夹里附带的其他文件。

这样既保证 Agent 准确执行,又在长轮对话里省下大量 Token。对话越长模型越笨几乎是共识,Token 在 Agent 架构设计上寸土寸金。

2.3 一张表看清四者分工

部件角色生效范围典型载体
Prompt当场口头指令单轮对话自然语言文本
Skills可复用能力包按需加载,跨会话文件夹 + SKILL.md
MCP外部系统门禁卡连接层,常驻服务配置
Agent总控中枢编排调度主循环 + 工具调用

看懂这张表,你就明白为什么说"几乎所有能用 workflow 完成的 AI 任务,都可以用 Agent + Skills 实现"。Agent 负责编排,Skills 负责具体能力,MCP 负责打通外部,Prompt 负责临场微调。

3. TaoToken 前置:统一 Key 与 API 通道

3.1 为什么接入前要先统一通道

Skills 生效与否,最终要落到"模型能不能被正确调用"上。如果你本地同时装了 Claude Code、OpenCode、Codex 好几个工具,每个工具一套 Key、一套 Base URL,排查问题时你根本分不清是 Skill 没加载,还是 Key 失效,还是通道不通。

我的做法是先用 TaoToken 把 Key 和 API 通道统一起来。它提供一个兼容的 API 入口,你拿一个 Key 就能在多个工具里复用,验证 Skills 时变量就少了一个。

官网入口在这里:https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=

API 基础地址(注意这个不带 UTM):https://taotoken.net/api

3.2 拿 Key 的正确姿势

进入控制台创建 API Key,建议按用途分 Key,比如一个给 Claude Code 用,一个给 OpenCode 用,方便单独吊销。

  • 控制台:https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=
  • API Keys 管理:https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=

注意:Key 只显示一次,创建后立刻复制到本地环境变量或配置文件,别贴在会提交到 Git 的文件里。

3.3 环境变量先铺好

不管你用哪个工具,先把环境变量设好,后面配置文件直接引用,避免明文散落各处。

# macOS / Linux,写入 ~/.zshrc 或 ~/.bashrc export TAOTOKEN_API_KEY="sk-你的key" export TAOTOKEN_BASE_URL="https://taotoken.net/api" # Windows PowerShell,写入用户环境变量 [Environment]::SetEnvironmentVariable("TAOTOKEN_API_KEY","sk-你的key","User") [Environment]::SetEnvironmentVariable("TAOTOKEN_BASE_URL","https://taotoken.net/api","User")

设完重开终端,用echo $TAOTOKEN_API_KEY确认能打印出来。这一步别偷懒,后面配置报错十有八九是环境变量没生效。

4. 可复制配置骨架:settings.json 与 config.toml

4.1 Claude Code 的 settings.json

Claude Code 的配置放在~/.claude/settings.json。Skills 的全局目录是~/.claude/skills,配置里主要管模型通道和环境变量注入。

{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_API_KEY": "sk-你的key" }, "permissions": { "allow": [ "Read", "Write", "Bash(git:*)" ] }, "skills": { "directory": "~/.claude/skills", "hotReload": true } }

几个关键点说明:

env块把通道指向 TaoToken 的 API 地址,Key 用你创建的那把。skills.directory指定全局 Skill 目录,所有项目共享。hotReload设为 true 后,2.1.0 版本以上支持 Skills 热重载,改完 SKILL.md 不用重启。

注意:如果你之前配过别的 Base URL,记得清掉旧的,否则可能被覆盖导致请求打到错误地址。

4.2 OpenCode 的 config.toml

OpenCode 的配置在~/.config/opencode/config.toml,Skill 目录是~/.config/opencode/skill(注意是单数 skill)。

[provider] name = "taotoken" base_url = "https://taotoken.net/api" api_key = "sk-你的key" [model] default = "claude-sonnet-4-5" [skills] directory = "~/.config/opencode/skill" enabled = true

OpenCode 装完 Skill 后需要退出重进一次才能识别,这点和 Claude Code 的热重载不同,别搞混。

4.3 一个最小可用的 SKILL.md 骨架

Skill 文件夹名必须是小写字母加连字符,比如hotspot-collector,不能有空格和大写。SKILL.md 是唯一必需文件,结构固定分两部分。

--- name: hotspot-collector description: 从多个平台采集最新热点并输出结构化列表,当用户需要每日选题或热点汇总时使用。 --- # 热点采集器 ## 指令 (Instructions) 1. 依次访问配置的平台列表,抓取最新条目。 2. 按热度与时效性排序,去重。 3. 输出格式:事件描述 + 来源 + 时间。 ## 示例 (Examples) 输入:开始今日选题生成 输出:TOP10 热点列表,每条含事件描述与核心角度。

description 字段是灵魂,它决定 Agent 何时调用你。务必用第三人称,别把 Prompt 的坏习惯带过来。

  • 优秀:处理 Excel 文件并生成报告
  • 不行:我可以帮助你处理 Excel 文件
  • 不行:你可以使用这个来处理 Excel 文件

因为描述会被注入系统提示,视角不一致会导致识别问题。另外 SKILL.md 正文尽量控制在 500 行以内,效果最好。

5. 验证请求:确认 Skills 真的生效

5.1 先验证通道通不通

配置完别急着测 Skill,先用一条最简请求确认通道没问题。

curl https://taotoken.net/api/v1/messages \ -H "Content-Type: application/json" \ -H "x-api-key: $TAOTOKEN_API_KEY" \ -H "anthropic-version: 2023-06-01" \ -d '{ "model": "claude-sonnet-4-5", "max_tokens": 64, "messages": [{"role": "user", "content": "只回复两个字:通了"}] }'

返回里能看到content字段有正常文本,说明 Key 和通道都 OK。如果这里就报 401,先回去检查 Key;报连接错误,检查 Base URL 有没有写错。

5.2 再验证 Skill 是否被加载

通道通了之后,在 Claude Code 或 OpenCode 里直接问它:

列出你当前可用的 skills,并说明每个的触发条件

如果配置正确,它会把你~/.claude/skills或~/.config/opencode/skill下的 Skill 名称和 description 列出来。这一步能列出,说明目录扫描和元信息加载都正常。

5.3 最后跑一次真实触发

用你 Skill 里定义的触发关键词发一条指令,比如:

开始今日选题生成

观察它的行为:是否按 SKILL.md 里的步骤走,输出格式是否符合你定义的规范。如果它只是普通聊天式回复,没有按流程执行,说明 Skill 没被真正加载,回到第 6 节排查。

想单独验证模型对话能力,可以直接用模型对话入口测:https://taotoken.net/model-chat?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=

6. 本篇常见错排查

6.1 Skill 不生效的四个高频原因

目录名不合规。文件夹名带了大写或空格,比如HotSpot Collector,工具直接忽略。改成hotspot-collector。

放错目录。Claude Code 是~/.claude/skills,OpenCode 是~/.config/opencode/skill,两者不通用。而且初始没有这个文件夹,要手动创建。

没重启。OpenCode 装完必须退出重进;Claude Code 2.1.0 以上支持热重载,但如果你版本低,也得重启。

description 写得太模糊。比如只写"处理数据",Agent 判断不出何时该用,自然不调用。把触发场景和关键词写进去。

6.2 通道类报错对照

报错可能原因处理
401 UnauthorizedKey 错误或未生效重设环境变量,重开终端
404 Not FoundBase URL 路径写错确认为 https://taotoken.net/api
连接超时网络或地址不可达检查地址拼写,确认服务可用
模型不存在model 名写错换成配置里支持的模型名

6.3 长对话变笨、Token 暴涨

这通常不是 Skill 的问题,而是你把太多内容塞进了 SKILL.md 正文。记住渐进式披露:元信息先加载,正文按需读,附录最后读。把大段参考资料拆成独立文件,在 SKILL.md 里用相对路径引用,而不是全塞进主文件。

提示:如果你在排查接入层问题,优先看 API Keys 和接入文档,别一上来就怀疑 Skill 写错了。

  • API Keys:https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=
  • 接入文档:https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=

6.4 长期跑编码和 Agent 任务

如果你打算把 Skills 用在长期的编码流程或自动化 Agent 上,单次调用成本会累积,建议用 Coding Plan 把额度管起来,比零散调用更可控。

  • Coding Plan:https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=

7. 把第一个 Skill 固化下来

Skills 这波热度不是圈内人又发明新词。带新人最爽的状态,从来不是他能说会道,而是你给他一套手册,他自己能翻、能执行、能自检、能迭代。

今天你就可以动手:把官方那个 skill-creator 装上,然后把你最常用的一个动作固化下来。安装很简单,在 Claude Code 或 OpenCode 里直接发一句:

安装这个 skill,项目地址为 https://github.com/anthropics/skills/tree/main/skills/skill-creator

或者把 Skills 文件夹直接拖进你的全局目录。装完用第 5 节的方法验证一遍,确认它真的被加载、真的按流程执行。

做完这一个,当它跑起来的那一瞬间,你就懂了:Skills 的价值在于复用。明天你会想做第二个,后天你会想把所有流程都搬进去。

如果你在 Claude Code 里深度使用,配合 Anthropic 兼容通道会更顺:https://taotoken.net/claude-code-anthropic?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=

先把通道跑通,再把 Skill 写对,最后用真实触发验证。这三步走完,你手里的 Skills 才算真正生效,而不是躺在文件夹里吃灰。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询