Claude Code技能系统全解析——什么是Skills、为什么用、怎么装 🔧

📅 更新于:2026年5月15日 | ✍️ 原创文章,转载请注明出处


📌 目录

  1. 什么是Claude Code Skills
  2. Skills vs 自定义命令 vs MCP
  3. 为什么用Skills
  4. 内置技能一览
  5. 目录结构与作用域
  6. 安装技能的5种方式
  7. Frontmatter配置详解
  8. 实战:安装你的第一个Skill
  9. 技能管理与调试
  10. 常见问题FAQ
  11. 总结

1. 什么是Claude Code Skills

Skills(技能) 是Claude Code的提示词扩展系统,让你可以给Claude"注入"新的能力和知识。

每个Skill本质上是一个 SKILL.md文件,包含:

  • YAML frontmatter:描述、触发条件、工具权限等元数据
  • Markdown内容:Claude遵循的具体指令
my-skill/
├── SKILL.md           # 必需的入口文件
├── template.md        # 可选:模板文件
├── scripts/
│   └── validate.sh    # 可选:可执行脚本
└── examples/
    └── sample.md      # 可选:示例文件

核心特点

特点 说明
🧠 按需加载 只在被调用时才注入上下文,不占用常驻token
🤖 自动触发 Claude根据description自动判断何时使用
📂 支持文件目录 可以打包脚本、模板、示例等附属文件
🔄 动态上下文 支持运行shell命令并内联输出结果
🌐 开放标准 遵循Agent Skills开放标准,跨AI工具通用

2. Skills vs 自定义命令 vs MCP

很多同学分不清Skills、自定义命令(Custom Commands)和MCP的区别,这里做个对比:

对比维度 Skills 自定义命令 MCP服务器
本质 提示词 + 支持文件 单个Markdown文件 外部工具服务
触发方式 自动 + 手动 /skill-name 手动 /command-name 工具调用
目录 .claude/skills/name/SKILL.md .claude/commands/name.md 独立进程
附属文件 ✅ 支持scripts/、templates/ ❌ 单文件 ❌ 外部进程
动态上下文 !`command` 注入 ❌ 静态文本 ✅ 实时调用
子代理执行 context: fork
工具预授权 allowed-tools 需配置权限
适用场景 复杂工作流、团队规范 快捷命令、模板 外部数据/API

兼容性说明.claude/commands/ 目录仍然支持,如果同名,Skill优先级更高


3. 为什么用Skills

🎯 解决的痛点

没有Skills之前

  • 每次都要重复描述编码规范
  • 团队代码风格靠口头约定
  • 复杂工作流需要多步手动操作
  • 上下文窗口被规范说明占用

有了Skills之后

  • 一次定义,永久复用
  • 规范自动注入,Claude自觉遵守
  • /deploy/review 一键触发复杂流程
  • 只在需要时加载,节省token

📊 效率提升数据

根据社区反馈(GitHub 889+ 个公开仓库统计):

场景 无Skills 有Skills 提升
代码审查 手动描述规范 ~2分钟 /review 秒级 ⬆️ 90%
新功能开发 反复交代架构 ~5分钟 /feature 自动遵循 ⬆️ 70%
部署流程 多步手动操作 /deploy 一键完成 ⬆️ 80%
Token消耗 规范占常驻上下文 按需加载 ⬇️ 60%

4. 内置技能一览

Claude Code自带了一些开箱即用的技能:

内置命令(固定逻辑)

命令 功能
/help 显示所有命令(包括自定义和MCP命令)
/compact [focus] 压缩上下文,节省token
/clear 清空对话历史
/context 可视化上下文使用情况
/cost 查看token消耗和模型分布
/model [model] 切换模型(sonnet/opus/haiku)
/effort [level] 调整推理深度(low/medium/high/max)

捆绑技能(提示词驱动)

技能 功能 触发方式
/simplify 代码简化审查 手动触发
/batch 自动创建worktree并行处理大改动 手动触发
/debug 调试工作流指导 手动触发
/loop [interval] 会话内定时任务 手动触发
/claude-api Claude API开发辅助 手动触发

自定义命令(用户创建)

# .claude/commands/deploy.md
运行部署流水线:
1. 运行所有测试
2. 构建Docker镜像
3. 推送到镜像仓库
4. 更新 $ARGUMENTS 环境(默认:staging)

使用:/deploy production$ARGUMENTS会被替换为用户输入。


5. 目录结构与作用域

四级作用域

作用域 路径 适用范围 优先级
🏢 企业级 托管设置(Managed Settings) 组织全员 最高
👤 个人级 ~/.claude/skills/<name>/SKILL.md 所有项目
📁 项目级 .claude/skills/<name>/SKILL.md 当前项目
🔌 插件级 <plugin>/skills/<name>/SKILL.md 插件命名空间

优先级规则:企业级 > 个人级 > 项目级 > 插件级

插件隔离:插件技能使用命名空间(如 plugin-name:skill-name),不会冲突。

完整目录结构

~/.claude/
├── skills/                    # 个人技能(全局生效)
│   ├── my-review/
│   │   ├── SKILL.md
│   │   └── scripts/
│   │       └── check.sh
│   └── my-deploy/
│       └── SKILL.md
├── commands/                  # 遗留自定义命令(仍然支持)
│   └── deploy.md
└── settings.json              # 全局设置

项目根目录/
├── .claude/
│   ├── skills/                # 项目技能(团队共享,可git提交)
│   │   ├── project-review/
│   │   │   └── SKILL.md
│   │   └── project-test/
│   │       └── SKILL.md
│   ├── commands/              # 项目自定义命令
│   │   └── lint.md
│   ├── settings.json          # 项目设置(git追踪)
│   └── settings.local.json    # 个人项目设置(git忽略)
└── CLAUDE.md                  # 项目上下文文件

6. 安装技能的5种方式

方式1:手动创建(最基础)

# 创建技能目录
mkdir -p ~/.claude/skills/my-skill

# 创建SKILL.md
cat > ~/.claude/skills/my-skill/SKILL.md << 'EOF'
---
name: my-skill
description: "When to use this skill"
---
# My Skill

Instructions for Claude here...
EOF

方式2:项目内安装(团队共享)

# 在项目中创建技能目录
mkdir -p .claude/skills/team-review

# 创建SKILL.md后提交到git
git add .claude/skills/
git commit -m "feat: add team review skill"

方式3:从GitHub仓库安装

# 克隆技能仓库
git clone https://github.com/user/claude-skills.git /tmp/claude-skills

# 复制需要的技能
cp -r /tmp/claude-skills/skills/code-review ~/.claude/skills/

# 或者用符号链接(便于更新)
ln -s /path/to/claude-skills/skills/code-review ~/.claude/skills/code-review

方式4:插件系统安装

# 安装官方插件(包含技能)
/install-plugin code-review

# 插件会自动注册其中的技能

方式5:企业托管部署

企业管理员可以通过Managed Settings统一部署技能到组织所有用户。

🔥 热门一键安装

社区有一些热门的技能合集仓库:

# everything-claude-code (183k⭐) - 全能技能包
git clone https://github.com/affaan-m/everything-claude-code.git
cp -r everything-claude-code/skills/* ~/.claude/skills/

# antigravity-awesome-skills (38k⭐) - 1400+技能库
npx antigravity-skills install <skill-name>

# wshobson/agents (35k⭐) - 多代理编排技能
git clone https://github.com/wshobson/agents.git
cd agents && make install

7. Frontmatter配置详解

Frontmatter是SKILL.md的灵魂,控制技能的行为:

完整字段参考

---
# 基础信息
name: my-skill                    # 技能名(小写、数字、连字符,最长64字符)
description: "代码审查技能"        # 描述(Claude根据此判断何时触发)
when_to_use: "用户要求审查代码时"  # 补充触发上下文
argument-hint: "[file-path]"      # 参数提示

# 调用控制
disable-model-invocation: true    # true = 只能手动 /skill-name 调用
user-invocable: false             # false = 只有Claude能调用(背景知识)

# 参数定义
arguments:
  - name: target
    description: "审查目标"
    required: true

# 工具权限
allowed-tools:
  - Read
  - Bash(npm run lint:*)
  - Edit

# 执行配置
model: opus                       # 覆盖模型
effort: high                      # 覆盖推理深度
context: fork                     # 在子代理中运行
agent: Explore                    # 使用探索型子代理

# 路径过滤
paths:
  - "src/**/*.ts"                 # 只在操作TypeScript文件时激活
  - "tests/**"

# Shell配置
shell: bash                       # bash(默认)或 powershell

# 钩子
hooks:
  PreToolUse:
    - matcher: "Write"
      hooks:
        - type: command
          command: "echo 'About to write file'"
---

常用配置模式

模式1:纯手动触发

---
name: deploy
description: "部署当前项目"
disable-model-invocation: true
---

模式2:自动触发 + 工具预授权

---
name: code-review
description: "当用户要求代码审查时自动触发"
allowed-tools:
  - Read
  - Bash(git diff *)
---

模式3:子代理隔离执行

---
name: security-scan
description: "安全扫描"
context: fork
agent: Explore
---

8. 实战:安装你的第一个Skill

让我们创建一个实用的"代码审查"技能:

步骤1:创建目录

mkdir -p ~/.claude/skills/my-review/scripts

步骤2:编写SKILL.md

# ~/.claude/skills/my-review/SKILL.md
---
name: my-review
description: "当用户要求代码审查时使用"
allowed-tools:
  - Read
  - Bash(git diff *)
  - Bash(git log *)
---
# 代码审查技能

你是一个严格的代码审查员。按以下步骤审查代码:

## 审查清单

1. **安全性**
   - 检查SQL注入、XSS、命令注入
   - 硬编码密码/密钥
   - 不安全的反序列化

2. **代码质量**
   - 函数长度不超过50行
   - 嵌套层级不超过3层
   - 命名清晰有意义

3. **测试覆盖**
   - 新增功能是否有测试
   - 边界条件是否覆盖

4. **性能**
   - N+1查询问题
   - 不必要的循环
   - 内存泄漏风险

## 输出格式

```markdown
## 审查结果

### 🔴 严重问题
- [问题描述] (文件:行号)

### 🟡 建议改进
- [建议内容] (文件:行号)

### 🟢 亮点
- [值得肯定的地方]

### 📊 统计
- 审查文件数:N
- 严重问题:N
- 建议改进:N

上下文注入

当前变更:
!git diff HEAD --stat

### 步骤3:测试使用

```bash
# 在Claude Code中测试
claude
> /my-review
# 或者让Claude自动触发
> 帮我审查一下最近的改动

步骤4:提交到项目(可选)

# 如果要团队共享
cp -r ~/.claude/skills/my-review /path/to/project/.claude/skills/
cd /path/to/project
git add .claude/skills/my-review
git commit -m "feat: add code review skill"

9. 技能管理与调试

查看已安装技能

# 在Claude Code交互模式中
/help    # 会列出所有可用命令(包括技能)

调试技能触发

如果技能没有按预期触发:

  1. 检查description:是否准确描述了触发场景?
  2. 检查paths:文件路径过滤是否过于严格?
  3. 检查优先级:是否有更高优先级的同名技能?
  4. 查看上下文/context 确认技能是否被加载

动态上下文调试

技能中的 !`command` 会在加载时执行:

# 调试:查看执行结果
当前分支:!`git branch --show-current`
最近提交:!`git log --oneline -1`

热更新

修改SKILL.md后无需重启Claude Code,下次调用时自动加载最新版本。


10. 常见问题FAQ

Q1:Skills和CLAUDE.md有什么区别?

维度 Skills CLAUDE.md
加载时机 按需加载 始终加载
Token消耗 只在调用时占用 常驻占用
适用场景 特定工作流 项目全局规范
支持文件 ✅ scripts/、templates/ ❌ 单文件

建议:通用规范放CLAUDE.md,特定工作流用Skills。

Q2:同名技能谁优先?

优先级:企业级 > 个人级 > 项目级 > 插件级

如果.claude/commands/deploy.md.claude/skills/deploy/SKILL.md同名,Skill优先

Q3:技能可以调用其他技能吗?

不能直接调用,但可以在SKILL.md中提示Claude使用其他技能:

审查完成后,如果发现安全问题,使用 /security-scan 进行深入分析。

Q4:如何限制技能只在特定项目使用?

  1. 放在项目目录 .claude/skills/(推荐)
  2. 使用paths frontmatter限制文件路径
  3. 使用disable-model-invocation: true只允许手动触发

Q5:企业如何统一管理技能?

通过Managed Settings部署到组织级,所有员工自动获得,无需手动安装。


11. 总结

核心要点

要点 说明
🎯 本质 Skills = 提示词扩展 + 支持文件包
📂 结构 每个Skill是一个目录,SKILL.md是入口
🔧 安装 手动创建、项目目录、GitHub克隆、插件系统
触发 自动(description匹配)+ 手动(/skill-name)
🎚️ 控制 frontmatter配置触发条件、工具权限、执行方式
🔄 热更新 修改后即时生效,无需重启

下一步


📚 参考资料

  1. Claude Code官方文档 - Skills:https://code.claude.com/docs/en/skills
  2. Agent Skills开放标准:https://github.com/anthropics/claude-code
  3. everything-claude-code(183k⭐):https://github.com/affaan-m/everything-claude-code
  4. antigravity-awesome-skills(38k⭐):https://github.com/sickn33/antigravity-awesome-skills
  5. wshobson/agents(35k⭐):https://github.com/wshobson/agents

💬 你平时用Claude Code的哪些技能?有没有自己写的实用Skill?欢迎在评论区分享!

📌 下一篇将带来 2026年最热门的20个Claude Code技能推荐,涵盖代码质量、测试、部署、安全等领域,敬请期待!

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐