看累了听个音乐吧
5.1 什么是 Skills

从"每次都要解释"到"一个命令搞定"
用 Claude Code 一段时间之后,你会发现两类任务:
第一类:每次都不一样的任务 修 bug、写新功能、探索陌生代码——这类任务每次都有不同的上下文,需要你即兴描述。
第二类:每次都差不多的任务 代码审查、生成 changelog、部署流程、提交前检查——这类任务有固定的流程和规范,你每次都要重复说一遍同样的要求。
Skills 就是为第二类任务设计的。
它让你把重复的指令打包成一个可以复用的命令,直接用 /命令名 调用。
Skills 是什么,本质上
一个 Skill 就是一个 Markdown 文件,里面写着"当这个命令被调用时,Claude Code 应该做什么"。
就这么简单。
比如一个代码审查的 Skill,文件内容可能是这样的:
markdown
---
name: review
description: Review code changes following our team standards
---
Review the current code changes (git diff or specified files).
Check for:
1. Logic errors and potential bugs
2. Security vulnerabilities (SQL injection, XSS, auth issues)
3. Performance issues (N+1 queries, unnecessary loops)
4. Test coverage for new or changed functionality
5. Adherence to our coding standards in CLAUDE.md
Format the review as:
- **Critical**: must fix before merge
- **Suggestion**: nice to have
- **Nitpick**: minor style issues
End with an overall recommendation: Approve / Request Changes / Needs Discussion保存好这个文件,以后每次 review 代码,直接输入:
/review不需要再重复说那一大段要求了。
Skills vs CLAUDE.md:傻傻分不清楚?
这是最常见的困惑,一张表说清楚:
| CLAUDE.md | Skills | |
|---|---|---|
| 加载方式 | 每次会话自动加载 | 只在你调用时加载 |
| 适合放什么 | 永远要遵守的规则 | 特定任务的流程和指令 |
| 调用方式 | 不需要调用,自动生效 | /命令名 显式调用 |
| 消耗上下文 | 每次会话都占用 | 只在调用时占用 |
| 能触发工作流吗 | 不能 | 可以 |
判断标准:
- "Claude 在任何情况下都应该知道这个" → CLAUDE.md
- "只有在做某件特定事情的时候才需要这个" → Skill
举例:
- "我们用 pnpm,不用 npm" → CLAUDE.md(每次都要知道)
- "帮我 review 这个 PR,按照这个清单检查" → Skill(只有 review 时才用)
Skills 的两种类型
参考型 Skills(Reference Skills)
存储背景知识,Claude Code 在工作时自动参考。比如你的 API 风格指南、数据库 schema、团队词汇表。
markdown
---
name: api-style
description: Our API design conventions and examples
---
# API Style Guide
All API endpoints follow REST conventions:
- Use plural nouns: /users not /user
- Version prefix: /api/v1/
- Response format: { data: ..., error: null } or { data: null, error: ... }
[详细的 API 规范...]这类 Skill 通常不需要主动调用,Claude Code 在写 API 相关代码时会自动找到并参考它。
动作型 Skills(Action Skills)
定义一套可触发的工作流,用 /命令名 调用。这是更常用的类型,下一节详细讲怎么创建。
Skill 文件放在哪里
| 位置 | 作用范围 | 适合放什么 |
|---|---|---|
.claude/skills/ | 当前项目 | 项目特定的流程(部署、测试规范) |
~/.claude/skills/ | 你的所有项目 | 个人习惯(你的代码审查标准) |
项目级 Skill 和 CLAUDE.md 一起 check in 到 git,团队所有人都能用。用户级 Skill 只对你自己生效,不进版本控制。
下一节,我们动手创建第一个 Skill。
