什么是 Skill?
High Contrast
Dark Mode
Light Mode
Sepia
Forest
5 min read938 words

什么是 Skill?

每次你打开 Claude Code,你都是在和一个空白状态的模型对话。它不记得上次你怎么要求它做代码审查,不知道你们团队的 PR 描述格式,不了解你们的部署检查流程。你必须每次重新解释。

Skill 解决的就是这个问题。


Skill 的本质定义

Skill 是 Claude Code CLI 的自定义斜杠命令系统。它是一个特殊格式的 Markdown 文件,存放在 .claude/skills/ 目录中。当你输入 /skill-name 时,Claude Code 读取这个文件,理解其中的指令,并按照预定义的方式执行任务。

用户输入:/review-pr
Claude Code 查找:.claude/skills/review-pr.md
↓
读取文件中的提示词和配置
↓
按指令执行(读文件、分析、生成报告)
↓
输出标准格式的代码审查结果

从用户角度看:Skills 就是你的专属命令行,一个命令触发一套完整的工作流。

从技术角度看:Skills 是把提示词工程(prompt engineering)和工具调用规划封装在一个可复用、可版本管理的单元里。


Skill 的三个关键特征

1. 持久性(Persistent)

普通提示词只存在于当前对话上下文中。Skill 以文件形式存储在磁盘上,永久可用,不受会话限制。

2. 可参数化(Parameterized)

Skills 可以接受用户在调用时传入的参数:

/review-pr --branch feature/payment --focus security

--branch--focus 的值会动态注入到 Skill 的提示词中,让同一个 Skill 适应不同的调用场景。

3. 可共享(Shareable)

Skills 文件可以通过 Git 管理和分发。团队成员只需要拉取包含 .claude/skills/ 目录的仓库,就能立刻使用团队定义的所有工作流。


Skills 能做什么

类别 示例 Skill 触发方式
代码质量 PR 审查、安全扫描、代码规范检查 /review-pr, /security-check
文档生成 PR 描述、CHANGELOG、API 文档 /gen-pr-desc, /changelog
运维操作 部署前检查、数据库迁移验证、回滚确认 /pre-deploy, /check-migration
数据分析 日志摘要、错误追踪、性能报告 /analyze-logs, /perf-report
项目管理 任务分解、会议纪要整理、进度追踪 /breakdown-task, /standup

Skill 和直接输入提示词的区别

很多人第一次听到 Skills 会问:这和我直接输入提示词有什么区别?

对比维度 直接输入提示词 Skills
可复用性 每次手动重新输入 一次定义,随时 /调用
一致性 取决于你的记忆和心情 每次执行相同的标准流程
团队共享 只能靠文档传播,执行偏差大 Git 分发,所有人用同一个 Skill
版本管理 无法追踪变更 和代码一起 commit / diff / review
参数化 手动修改提示词 结构化参数传入,可脚本化
可维护性 分散在聊天历史里,找不到 .claude/skills/ 里,可搜索、可编辑

结论:如果一个提示词你只用一次,直接输入就好。如果你打算用超过三次,考虑封装成 Skill。


Skill 的适用场景边界

Skills 不是万能的。了解它的边界,有助于你在正确的场景用正确的工具:

✅ Skills 适合的场景:
- 固定的工作流程(每次 PR 都要过同样的审查标准)
- 需要团队一致性(所有人用相同的部署检查步骤)
- 频繁重复的操作(每天跑日志分析)
- 需要参数化调用(不同分支、不同环境、不同文件)
❌ Skills 不适合的场景:
- 一次性的探索性问题("帮我分析这段代码的逻辑")
- 高度动态的上下文(需要大量背景说明的临时任务)
- 需要多 Agent 协调的复杂编排(考虑 Agent SDK)
- 纯粹的 MCP 工具配置和协议层操作(考虑 mcp-guide)

本节小结


下一节Skills vs 提示词 vs MCP 工具的定位三角——三者之间有什么本质区别?什么时候该用哪个?