Skill 是什么

Skill 是 Anthropic 在2025年10月份推出的一个 Claude Code 的扩展机制,你可以把它理解为 Claude Code 的技能包,本质上就是一个 Markdown 文件,里面写了一套针对特定任务的提示词和工作流程。

第一,它是可复用的,写好一次,以后每次对话都能用;第二,它是可分享的,别人写好的Skill,你装上就能用;第三,它是自动触发的,你不需要手动指定用哪个Skill,Claude Code会根据你的需求自动匹配合适的Skill,当然你也可以用斜杠命令手动触发。

所以Skill本质上就是一种把专家经验打包成可复用模块的方式

Skill和插件的区别

  • Plugin vs Skill 的区别
类型 定义位置 包含内容 示例
Plugin .claude/plugins/ 可以包含 skills、commands、agents、hooks、MCP servers、LSP servers skill-creator, code-review
Skill Plugin 内的 skills/ 目录 或项目内 .claude/skills/ 一个 .md 文件定义的功能 skill-creator 内嵌的 skill
  • 关系图

    Plugin (插件) ─┬─ skills/ → 包含 Skills
    ├─ commands/ → 包含斜杠命令
    ├─ agents/ → 包含 Agents
    ├─ hooks/ → 包含 Hooks
    ├─ mcp-servers/ → MCP 服务器
    └─ lsp-servers/ → LSP 服务器
    Skill (技能) ─── 一个 SKILL.md 文件,定义具体功能

  • 总结

Plugin 是容器,Skill 是内容。一个 Plugin 可以:

  1. 只提供 command(如 code-review)
  2. 只提供 skill(如 skill-creator)
  3. 同时提供多种内容(skill + agent + hook 等)

怎样安装Skill

安装别人的Skill

首先我们要知道Skill文件应该放在哪,Claude Code有两个目录可以放Skill。

级别 目录 生效范围 使用场景
项目级目录 .claude/skills/ 只在当前项目里生效 适合跟项目强相关的技能,比如这个项目专用的代码规范、部署流程之类的
用户级目录 ~/.claude/skills/ 在所有项目里都能用 适合那些通用的技能,比如做PPT、写文档、排版公众号这些跟具体项目无关的

方式一:手动复制

比如你在GitHub上看到一个Skill,把它的文件夹下载下来,丢到 ~/.claude/skills/ 下面就装好了,下次打开Claude Code,它就会自动识别到

方式二:用第三方工具一键安装

通过命令行安装。例如:

1
npx skills add https://github.com/xxx/xxx --skill skill-name

这个命令本质上就是帮你自动下载Skill文件,然后放到正确的目录里,省得你自己去clone仓库、手动复制

方式三:安装插件

如果你要装的不是单个Skill,而是一个完整的插件,那就在Claude Code的对话框里用斜杠命令来安装

比如插件在官方市场里,直接执行 /plugin install 插件名@claude-plugins-official,比如 /plugin install superpowers@claude-plugins-official

创建自己的Skill

第一部分是文件开头的元信息,用两行 --- 包起来,里面写这个Skill的基本信息。最常用的有这几个字段:name 就是技能的名字,也是斜杠命令的名字;description 就是描述,告诉Claude这个技能是干嘛的、什么时候该用它。这个描述非常重要,因为Claude就是根据这个描述来判断要不要自动触发这个Skill的。

第二部分就是正文,写的就是你希望Claude怎么做的具体指令,比如分几步走、用什么格式、注意什么事项,跟你平时写提示词是一样的,只不过写在了文件里。

举个最简单的例子,比如你想创建一个帮你写Git提交信息的Skill,它的 SKILL.md 大概长这样:

1
2
3
4
5
6
7
8
9
10
---
name: commit-msg
description: 生成规范的Git提交信息。当用户要求写commit message时使用。
---

请根据当前的代码变更 生成一条规范的Git提交信息
格式要求:
1. 第一行用类型前缀 比如feat fix docs等
2. 简要描述改了什么
3. 如果改动比较大 在下面补充详细说明

把这个文件夹放到 ~/.claude/skills/commit-msg/SKILL.md 就装好了,下次你让Claude帮你写提交信息,它就会自动用这个Skill。

当然,如果你觉得自己手写太麻烦,还有两个更轻松的方式。

第一种,直接在对话里告诉Claude Code,比如说”帮我创建一个写commit message的Skill”,它会自动帮你生成文件,放到正确的位置。

第二种,/skill-creator 这个内置技能,它会引导你一步一步完成Skill的创建,还能帮你测试和优化,特别适合刚开始接触Skill的新手。

怎么触发和使用

自动触发

大多数时候你根本不需要操心用哪个Skill,Claude会自己判断。

它是怎么判断的呢?还记得我们刚才写 SKILL.md 时,里面有一个 description 描述字段吗?Claude会读取所有已安装Skill的描述,当你说的话跟某个Skill的描述匹配上了,它就自动用上了。

比如你装了一个描述写着”生成规范的Git提交信息”的Skill,那你只要说”帮我写个commit message”,Claude就会自动触发这个Skill,不需要你指定。

所以,description 写得好不好,直接决定了自动触发准不准,这也是为什么我前面说这个字段非常重要。

手动触发

如果你明确知道要用哪个Skill,也可以直接用斜杠命令来触发,在对话框里输入 /技能名 就行了。比如 /commit-msg,就会直接触发那个写提交信息的Skill

或者可以命令Claude Code使用某个Skill,例如直接和Claude说 “用 pptx skill 创建一个关于 Claude Skills 的演示文稿”

控制触发行为

有些Skill你可能不想让Claude自动触发,比如部署、发消息这种有副作用的操作,让Claude自己判断要不要部署,那也太吓人了。

这时候你可以在元信息里加一行 disable-model-invocation: true,加了之后,Claude就不会自动触发这个Skill了,只有你手动输入斜杠命令才会执行。

反过来,有些Skill你只想让Claude在背后自己用,不需要出现在斜杠菜单里,那就设置 user-invocable: false,这样用户看不到这个Skill,但Claude觉得有需要的时候还是会自动用它

查看和管理Skill

  • 查看已安装 Skills 或 Plugins
    • /skills 会专门列出所有已安装的Skill
    • /plugins 会打开插件管理界面,在里面你可以看到所有已安装的插件
  • 删除或停用已安装 Skills 或 Plugins
    • 手动装的Skill,想停用的话,可以去改 SKILL.md 里的元信息,比如加上 disable-model-invocation: true 禁止自动触发;想彻底删除,直接把那个Skill文件夹删掉就行
    • 通过插件装的Skill,用插件的管理命令,输入 /plugin 打开插件管理界面,在里面可以看到所有已安装的插件,想停用哪个,直接在界面里操作就行

常用插件推荐

superpowers