AI面包君AI面包君关注
回到博客
Claude Code

Skills:教 Claude 学会一招的标准格式

Skill 是 Claude Code 里「一段标准化的工作流」。比 slash 命令更结构化,能自动加载,还能跨项目复用。一篇讲清 skill 怎么写、和 hooks/subagents 的差别。

2026-04-225 分钟

你跟 Claude Code 说"review 一下这个 PR",它没问你具体怎么 review,直接开始干活——按一套清晰的流程:先看 diff、按类型分类问题、给优先级、最后输出报告。

它怎么知道要这么做?因为有人写过一个 review skill——一段固化的"我接到 review 任务就这么干"的标准流程。

1. Skill = "起了名字的工作流"

回想 slash 命令:你敲 /changelog,Claude 按你写好的 prompt 干活。

Skill 是它的进阶版,多了三件事:

维度Slash 命令Skill
触发显式(你敲 /xxx显式 + 隐式(关键词自动加载)
内容一段 markdown promptprompt + 工具偏好 + 触发规则 + 多文件
复用项目内 / 用户级还可发布成插件,跨项目装

2. 一个 skill 长什么样

.claude/skills/code-review/SKILL.md

---
name: code-review
description: 当用户要求 review 代码、看 PR、检查改动时使用
allowed-tools: [Read, Grep, Glob, Bash(git diff:*)]
---

接到 review 任务时按这个流程:

1. 跑 `git diff main...HEAD` 看所有改动
2. 按文件分组
3. 对每个文件检查:
   - 逻辑问题(边界条件、错误处理)
   - 性能(明显的 N+1、不必要的循环)
   - 风格(是否符合项目 CLAUDE.md 的约定)
4. 输出报告,格式:

   ## 总结
   - 高风险:N
   - 中风险:N
   
   ## 详情
   <按风险级排序>

不要直接改代码,只报告问题。

注意 description 里写了触发条件——这一句是给主代理看的:"什么样的用户消息该激活我"。

3. 隐式触发:用户没敲 /code-review 也能用

用户说"帮我看一下这个改动"——主代理读到这句,判断 description 匹配,自动加载 code-review skill 的内容到当前上下文,然后按里面的流程干活。

用户感知不到 skill 的存在——它就是"Claude 突然变得很会 review"。

4. 跟 hooks / subagent 的区别

容易混淆,给一张对比表:

机制何时介入主要价值
Skill用户消息进来时按描述匹配标准化某类任务的做法
Subagent主代理自己决定派隔离上下文,跑大任务
Hook工具调用前 / 后 / 提交前等节点在执行流里加一层自定义代码

实战常常同时用。比如 review 这件事:

  • skill 定义"review 怎么做"
  • skill 里说派一个 subagent 去跑测试(避免污染主上下文)
  • 用户接受改动时,hook 自动 git commit

5. 怎么发现新 skill 该写

观察自己的工作流。重复做的事都是 skill 候选:

  • 每次 PR 后写 changelog → /changelogchangelog skill
  • 每次新功能要写 5 个测试用例 → add-tests skill
  • 每周三整理周报 → weekly-summary skill(你周三说"帮我整一下本周"它自动加载)

写一个 skill 通常 10 分钟。但下次它每次执行都按你的标准流程——长期看是几十倍回报。

6. 共享 skill:插件市场

你写好的 skill 可以打包成插件发布——别的团队装上后,他们的 Claude Code 也会该这一招。

主流来源:

  • 官方 marketplace
  • 公司内部分发
  • 个人在 GitHub 上分享

这一点和 MCP 配合很妙:MCP 给 AI 装"新工具",skill 给 AI 装"新做法"。两个都装上,AI 能干的事指数级增加。

7. 一句话总结

Skill = "把一个工作流写下来,让 Claude 自动按这个流程做事"。

理解这点你就理解了为什么不同人手里的 Claude Code 表现差很多——不是模型不一样,是他们装的 skill 不一样


想直观看 skill 是怎么自动加载的?去 Claude 课 触发 review skill 场景。