指南
什么是 Claude 技能?
什么是 Claude 技能?Claude 技能是一个装着 SKILL.md 文件的文件夹——一组 AI Agent 按需加载、每次都按同样方式完成一件具体工作的指令。不用每轮对话重新解释工作流,装一次技能,匹配任务出现时 Agent 自动应用:生成幻灯片、评审 PR、格式化发版说明。技能在 Claude Code、claude.ai、Codex 以及越来越多认 SKILL.md 格式的运行时里都能用。本指南讲技能里有什么、怎么不占满上下文就完成加载、与 MCP server 和 subagent 的区别、怎么装怎么写——然后到我们的 Claude 技能目录里找评测过的技能。
技能里面有什么
打开任何技能,骨架都一样。最小只有一个文件 SKILL.md,放在以技能命名的文件夹里。更大的技能会围着它长出子文件夹:
- SKILL.md——唯一必需的文件。顶部 YAML frontmatter,下面是 markdown 指令。
- scripts/——可执行辅助脚本(Python、Bash、Node),Agent 直接运行而不是现写一次性的代码。
- references/——需要时才加载的长文档:API 参考、风格指南、检查清单。
- assets/——技能产出依赖的模板、字体或文件。
frontmatter 里两个字段要紧。name 是技能的 slug——小写、连字符、与文件夹同名。description 是整个技能里最重要的一行:它是 Agent 判断这个技能是否适用于你请求的依据。写成何时触发,而不是它是什么——「从 markdown 大纲生成幻灯片」能触发,「一个演示工具」不能。
最小可用技能就这么点:
---
name: changelog-writer
description: Write a release changelog from merged PR titles and commit messages when the user asks for release notes.
---
# Changelog Writer
When asked for a changelog:
1. Run `git log --oneline` between the last tag and HEAD.
2. Group commits into Added / Fixed / Changed / Removed.
3. Write one line per change, user-facing language only.
4. Skip internal refactors unless they change behavior.渐进式披露
渐进式披露是装五十个技能不毁上下文窗口的原因。技能分三层加载,一层比一层贵:
- 元数据(始终加载)。每个已装技能的 name 和 description——各几十个 token——常驻上下文,让 Agent 知道有什么可用。
- 指令(触发时加载)。请求命中某个 description 时,Agent 才读 SKILL.md 正文——真正的操作步骤。
- 附带文件(按需加载)。脚本、references、assets 只在指令点名时拉进来,内容可以分段读取而不必整体灌入。
设计推论:SKILL.md 正文要短,细节推到 references/。正文写成五千字长文的技能每次触发都吃掉这些上下文;同样的内容挪到 references/ 只在 Agent 真需要时才花 token。
技能 vs MCP server vs subagent vs 系统提示词
四种机制重叠到让人混淆,但它们回答的是不同问题:
- 技能教会 Agent「怎么做」——打包好的专业知识与工作流,按需加载。
- MCP server给 Agent「访问」——通过协议暴露的实时工具和数据(数据库、API、你的日历)。
- Subagent改变「谁来干」——有独立上下文和工具的单独 Agent,承接委派的任务。
- 系统提示词 / CLAUDE.md定「永远生效的规则」——对每条消息都适用的约定,不只是匹配的任务。
实践中它们是组合的:技能可以告诉 Agent 何时调 MCP 工具;项目 CLAUDE.md 定家规,技能处理重复工作。知识是有条件的(「只做幻灯片时」)就写进技能;是无条件的(「永不提交密钥」)就写进系统提示词。CLI 侧的对照实操见 Claude Code 技能。
如何安装 Claude 技能
三条路径,按方便程度排:
- skills CLI。
npx skills add owner/repo把技能从 GitHub 拷进正确目录——Claude Code、Codex 和大多数 SKILL.md 运行时通用。npx skills 页面有语法和版本固定说明。 - 手动拷贝。把仓库(或只拷技能文件夹)clone 到
~/.claude/skills/做全项目可用的用户级安装,或拷进项目内.claude/skills/做项目级。 - 插件市场。Claude Code 和 Codex 都有插件流程(如
/plugin marketplace add owner/repo然后/plugin install name@repo),能让技能保持自动更新。
装完常见的两种翻车:技能没被发现——技能在会话启动时注册,重启 Agent 即可——以及目录结构错了,比如多套一层 ~/.claude/skills/repo-name/repo-name/。SKILL.md 必须位于 skills 目录下第一层。
如何写自己的技能
从你反复做的事入手,别从漂亮文案入手。一个好的入门技能:「写我们的发版 changelog」。循环是:
- 先手动做一遍,记下你会交给一个靠谱同事的步骤。
- 写 SKILL.md——name、写成触发条件的 description、编号步骤。
- 用自然请求触发,看 description 是否命中、步骤是否产出想要的结果。
- 先迭代 description。误触发和不触发几乎都是 description 问题,不是指令问题。
第一节的例子就是一个完整可用技能——拷过去、改名、调步骤。技能写好要分享前,跑一遍 SkillOpt 做可度量的收紧,再看最佳 Claude 技能榜单上的规范写法长什么样。
让技能永远不触发的五个错误
- description 写成定义。「一个 markdown linter」没告诉 Agent 何时加载。写触发条件:「用户要求修复或检查格式时 lint markdown 文件」。
- 缺触发词。用户说的是「slides」「deck」「presentation」——description 只写「PPT」就漏掉三分之二的请求。
- 和 CLAUDE.md 冲突。项目规则写「永不跑脚本」而技能依赖脚本时,系统提示词每次都赢。
- 引用了不存在的路径。指向
./scripts/setup.sh的指令,在技能没带 scripts/ 文件夹安装时静默失败。 - 正文写成书。过长的 SKILL.md 正文会被截断或挤掉任务本身——参考材料挪进 references/。
技能从哪来的
Anthropic 用官方 Claude 技能仓库推出了这个格式——文档技能(docx、xlsx、pptx、pdf)加 skill-creator 和 mcp-builder——随后迅速成为事实标准:OpenAI 的 Codex 读同一批 SKILL.md,Google 的 Antigravity IDE 采用了它,Vercel 为整个生态出了安装器 CLI。awesome Claude skills这类社区目录则收录生态发布的内容。
标准化的实际意义:技能不再绑死在某家厂商的 Agent 上。写一次 SKILL.md,跟着你跨 Claude Code、claude.ai、Codex 以及下一个采用该格式的运行时——这就是为什么技能成了 Agent 能力的默认打包单位,就像扩展之于编辑器功能。
用户级 vs 项目级安装
每次安装都逃不掉一个决定:作用域。~/.claude/skills/ 下的是用户级——每个项目、每个会话可用。仓库 .claude/skills/ 下的是项目级——只在这个代码库内激活。口诀:个人效率技能(演示稿、截图、笔记流)放用户级;编码团队工作方式的(changelog 格式、评审清单、发版流程)放项目级,可以随仓库提交共享。
提交进仓库的项目技能是被低估的模式——它把口口相传的知识变成有版本、可评审的配置。新队友的 Agent 第一天就继承团队约定,因为技能随 clone 到位。而且项目技能只是仓库里的文件夹,走和其他改动一样的 PR 评审——没人能不经 diff 评审就改动共享 Agent 的行为。
常见问题
- Claude 技能和 Claude Code 技能是一回事吗?
- 基本是。「Claude 技能」是格式——装着 SKILL.md 的文件夹;「Claude Code skills」通常特指装给 Claude Code CLI 的技能。同一文件在 claude.ai、Codex 等运行时里通用,只是有些技能用了 CLI 独有特性比如 hooks。
- 怎么安装 Claude 技能?
- 两种常见方式:把技能文件夹拷进 ~/.claude/skills/(用户级)或项目内 .claude/skills/(项目级);或运行 npx skills add owner/repo 让 CLI 代劳。重启 Agent 会话——技能在会话启动时发现,不在对话中途。
- Claude 技能收费吗?
- 技能本身免费——生态是开源仓库。唯一的成本是上下文:已装技能的 description 占一点上下文窗口(几十个 token),正文只在触发时加载。
- 一个技能能在 claude.ai 和 Claude Code 通用吗?
- 大多数情况可以——两边读同一种 SKILL.md。只含指令的技能在哪边都一样;假定有 shell、文件系统访问或 Claude Code hooks 的技能,只有在 CLI 里才完整工作。
- 技能是什么文件格式?
- 一个目录,不是单个文件。最少包含 SKILL.md——带 YAML frontmatter(name 和 description)和 markdown 正文的文件。更大的技能加 scripts/、references/、assets/ 子文件夹供 Agent 按需取用。
- 应该装多少个技能?
- 比你想的少。每个技能的 description 都花一点上下文、抢一点 Agent 注意力。10–20 个你真用的精选技能,好过 100 个不用的——两个技能 description 重叠还会互相抢触发。
- 两个技能的 description 撞了会怎样?
- Agent 挑描述最匹配的那个——或者随机挑错。发现两个技能打架时,收紧其中一个的触发从句,或卸掉较弱的。这是「技能明明在却从不触发」最常见的原因。
- Claude 技能装着安全吗?
- 技能是 Agent 会照做的指令文本,值得和要跑的代码同等的审视。读一遍 SKILL.md(本来就短),看它假定的文件和网络访问,社区来源的先过一遍 SkillSpector 这类技能扫描器再装。
- 去哪找可装的 Claude 技能?
- 三个起点:anthropics/skills 官方仓库看参考实现;awesome Claude skills 这类社区目录看广度;本站索引看评测过的技能——带验证过的安装命令和维护状态。
准备好装了?浏览 Claude 技能、看最佳 Claude 技能榜单,或读运行时加载方式的 Claude Code 技能。