首页 > 面试资料 博客日记

Claude Code 通关手册(七):给 AI 装上技能包——Skills 完全指南

2026-04-12 12:00:04面试资料围观1

文章Claude Code 通关手册(七):给 AI 装上技能包——Skills 完全指南分享给大家,欢迎收藏极客资料网,专注分享技术知识

这是Claude Code通关手册第七篇,这一篇让我们学习ClaudeCode的新功能Skills,从“每次重新教”到“一次封装,处处复用”,这才是 AI 助手的正确打开方式

先来一个扎心的场景

你已经能够熟练的使用Claude Code:权限设置、CLAUDE.md、自定义命令、子代理、MCP……Claude Code 被你调教得越来越顺手。

但你有没有遇到过这种情况:

让 Claude 帮你 review 一段代码,它给出了一些建议——有些很中肯,有些完全不符合你们团队的习惯。你又得补充:“我们团队 review 代码时,重点关注可维护性和测试覆盖,性能问题先放一放,除非有明显的瓶颈。”

它记住了,这次 review 按你的要求来了。但下次你又让它 review,它又忘了这些约定。

更让人抓狂的是,你明明已经把代码审查规范写在了 CLAUDE.md 里,但它还是经常漏掉重点。问题出在哪?

你缺的不是“规范”,而是 “技能”

CLAUDE.md 是规则(“应该做什么”),Skills 是能力(“应该怎么做”)。 规则是死的,技能是活的——它包含了工作流、脚本、判断逻辑,甚至是可执行的代码。

Skills 是什么?——30 秒讲清楚

Skills 是 Claude Code 里最容易被低估的功能。 很多人把它和 Commands 混为一谈,但它俩完全是两码事。

Skill 本质上是一个结构化的“能力包”,里面可以包含:

  • 专门的任务指令(告诉 Claude 怎么干活)
  • 可执行的脚本(Python、JavaScript 等)
  • 参考文档和数据
  • 模板文件

Skill 最大的特点是按需加载——Claude 启动时只加载 Skill 的名字和描述,直到你提到相关任务,才会把完整指令加载进来。这意味着你可以装几十个 Skill,而上下文窗口几乎不受影响。

一句话:Skill = 给 Claude 的“岗位培训手册 + 工具箱”,用的时候才打开。

为什么需要 Skills?

在上一篇文章里,我们聊了 MCP —— 它是 Claude 的“外设接口”,用来连接外部世界(数据库、GitHub、API 等)。但光有工具不够,你还得教 Claude 怎么用这些工具。

Skills 就是来填补这个空白的。 MCP 负责“能做什么”,Skills 负责“该怎么做”。

举个例子:你给 Claude 装上了 GitHub MCP,它能访问 GitHub 了,但它不知道你团队是怎么管理 PR 的——标题格式是什么、描述里必须包含什么信息、需要 @ 谁。你把这些规则写成一个 pr-manager Skill,Claude 一遇到 PR 相关任务,就会自动按你的流程来办。

再看 Subagents(子代理) —— 它们是“独立工位上的专家”,有自己的上下文窗口。而 Skills 是“主 Agent 脑子里的知识模块”,在主对话中运行,按需激活。两者的定位完全不同

至于 Commands(自定义命令) —— 在 Claude Code 的最新版本中,Commands 已经被 Skills 体系吸收了。你现在创建的每个 Skill,都可以通过 /skill-name 的方式被手动调用。这也是为什么官方现在统一使用 Skills 这个名称来涵盖“可复用能力”这个概念。

从设计哲学上说,Commands、Skills 和 Agents 并非“进阶路径”,而是不同协作粒度的互补机制。Commands 用于即时操作,Skills 封装可复用的专业能力,Agents 承担目标导向的自主任务——三者构成“协作三角”,核心是扩展而非替代人类能力。

Skills 怎么用?

第一步:创建 Skill 目录

Skills 分为两种存储位置:

  • 个人 Skills~/.claude/skills/ —— 你自己的工具箱,所有项目都能用

  • 项目 Skills.claude/skills/ —— 跟着项目走,可以提交 Git,团队共享

每个 Skill 对应一个独立的目录,目录名就是 Skill 的名字。例如:

mkdir -p .claude/skills/code-review

第二步:编写 SKILL.md 文件

每个 Skill 目录下必须有一个 SKILL.md 文件,

---
name: code-review
description: 按照团队规范进行代码审查。适用于用户请求 review 代码、检查 PR 或评估代码质量时。
---

# 代码审查技能

你是团队的代码审查专家。当被要求审查代码时,请遵循以下流程:

## 审查维度(按优先级排序)
1. **可维护性**:代码是否易于理解?是否有重复逻辑?
2. **测试覆盖**:关键路径是否有单元测试?
3. **安全性**:是否有明显的安全漏洞(SQL 注入、XSS 等)?
4. **性能**:仅当有明显瓶颈时才提出,否则忽略。

## 输出格式
- 严重问题(必须修复):用 ❌ 标记
- 建议改进:用 💡 标记
- 优秀实践:用 ✅ 标记

## 禁止事项
- 不要纠结命名风格(已在 CLAUDE.md 中定义)
- 不要建议“增加注释”除非逻辑确实难以理解

注意 YAML 头部的 description 字段至关重要 —— Claude 靠它来决定什么时候自动激活这个 Skill。如果你的描述里包含了“review”“审查”“检查代码”等关键词,当你对 Claude 说“帮我 review 这段代码”时,它会自动激活这个 Skill。

你也可以手动调用 Skill:输入 /code-review,或者用更自然的方式:“用 code-review 技能检查这段代码”。

第三步:进阶——Skill + 脚本

Skills 真正的威力在于可以执行脚本。比如你不想每次都让 Claude 从头分析代码,可以写一个 Python 脚本来做静态分析,Skill 负责调用它。

一个示例目录结构:

.claude/skills/security-scan/
├── SKILL.md
└── scan.py

SKILL.md 内容:

---
name: security-scan
description: 对 Java/Spring Boot 代码进行安全漏洞扫描。使用内置脚本进行静态分析。
---

当用户请求安全扫描时,执行以下步骤:

1. 运行 `.claude/skills/security-scan/scan.py` 分析当前目录下的 Java 文件
2. 解析脚本输出的 JSON 结果
3. 按严重程度(严重/高危/中危/低危)整理报告
4. 对每个问题提供具体的修复建议

这样,Claude 就成了一个“知道怎么用工具的专家”,而不是每次都要重新学习一套流程。

实战案例

案例一:Java 后端项目代码审查 Skill

---
name: java-code-review
description: 按照阿里巴巴 Java 开发手册标准审查 Java 代码。适用于 Spring Boot 项目的代码审查。
---

你是一名资深 Java 工程师。审查代码时,严格执行以下标准:

## 必须检查
- 命名规范:类名用大驼峰,方法/变量用小驼峰,常量全大写
- 异常处理:禁止吞异常,禁止 `e.printStackTrace()`
- 并发:SimpleDateFormat 是否为局部变量?集合在遍历时是否被修改?
- 数据库:SQL 是否在循环中执行?批量操作用 BatchUtils

## 忽略项
- 单行长度不超过 120 字符(IDE 会自动处理)
- 导入顺序(Maven 插件会处理)

输出时,每个问题标注“第X行”,附上修改示例。

案例二:生成数据库文档 Skill

---
name: db-doc-gen
description: 为 MySQL/PostgreSQL 数据库生成表结构文档。适用于需要整理数据字典或准备技术文档时。
---

## 工作流程

1. 使用 MCP 连接数据库,查询 `information_schema` 获取表结构和注释
2. 按表分组,整理字段名、类型、是否为空、默认值、注释
3. 生成 Markdown 表格,按业务模块分类
4. 可选:如果存在外键关系,在文档末尾补充 ER 关系说明

## 输出示例

### 用户表 (users)
| 字段 | 类型 | 允许空 | 默认值 | 说明 |
|---|---|---|---|---|
| id | bigint | NO | | 主键 |
| username | varchar(50) | NO | | 用户名 |

案例三:技术面试官 Skill

你没看错,Claude Code 不仅能写代码,还能帮你做副业。社区里有一个叫 content-pipeline 的 Skill,能让 Claude Code 变身内容生产线,一键完成从选题到推送的全流程。有开发者用它来做公众号排版——上传一个 Markdown 文件,Skill 自动调用封面生成、信息图制作,甚至同步推送到多个平台。

类似地,你可以创建一个“技术面试官”Skill:

---
name: tech-interview
description: 模拟技术面试,针对 Java 后端岗位提问并评估回答质量。
---

你是一名资深技术面试官。面试流程如下:

1. 根据用户指定的技术方向(Java 基础/Spring/数据库/并发)出 3 道题
2. 用户给出答案后,从“正确性”“深度”“表达清晰度”三个维度评分
3. 指出回答中的不足,并给出参考答案

## 面试风格
- 难度:中级(阿里 P6 水平)
- 语言:中文
- 每题追问 1-2 次

在 Claude Code 中启动这个 Skill,它就变成了一个 24 小时在线的面试陪练。用 Claude Code 来做面试?听起来有点跨界,但这就是 Skills 的魅力——它能做的事情,远不止写代码。

Skills vs Subagents:别再搞混了

这是社区里讨论最多、最容易混淆的两个概念。让我一次性说清楚:

维度 Skills Subagents
定位 主 AI 的“知识模块” 独立工位上的“专家助手”
运行位置 在主对话上下文中运行 独立的上下文窗口
是否隔离 不隔离,直接与主对话交互 隔离运行,只汇报结果
触发方式 自动匹配或手动 /skill 由 Claude 委派或显式调用
适合场景 需要主 AI 直接完成的任务 需要隔离、并行、权限受限的任务
类比 你脑子里的专业知识 你派出去跑腿的下属

一句话区分: Subagents 是“派出去独立干活的专家”,Skills 是“装在大脑里的技能模块”

打个比方:你需要分析一个复杂的 bug——调用 Subagent,让它独立去排查,回来给你一份报告。你需要 review 代码——激活一个 Skill,你自己(主 AI)按照 Skill 的流程来审查。

两者不是替代关系,而是不同粒度的协作工具,应该根据任务复杂度灵活选用或组合

Skills 与 CLAUDE.md 的区别

这是另一个常见困惑。CLAUDE.md 是“项目手册”——每一轮对话都会加载进去,放的是“硬性规则”,比如技术栈、编码规范。Skills 是“按需加载的技能包”——只在需要时才加载,放的是“工作流程”和“专业能力”。

举个例子:你在 CLAUDE.md 里写“批量查询必须用 BatchUtils”——这是规则。你在 Skill 里写“当用户请求优化数据库查询时,先分析索引,再推荐批量方案,最后生成代码”——这是能力。

两者相辅相成:规则定义边界,能力定义方法。

怎么装?三个方法搞定

方法一:官方Skills库(最推荐)

# 添加官方插件市场
/plugin marketplace add anthropics/skills

# 安装文档处理包
/plugin install document-skills@anthropic-agent-skills

# 安装示例技能包
/plugin install example-skills@anthropic-agent-skills

装完重启Claude Code,输入“什么skill能用?”就能看到已安装的Skills[]。

方法二:使用社区CLI工具

社区工具 vercel-labs/skills 支持从GitHub仓库一键安装Skill,兼容超过40种AI Agent。

# 安装一个Skill
npx skills add <owner/repo>

# 例如安装微软官方的Playwright测试Skill
npx skills add microsoft/playwright-cli

方法三:手动安装

从GitHub下载Skill仓库,复制到 .claude/skills/ 目录即可。社区里已经有包含很多现成Skills的合集,可以直接“抄作业”

写在最后

Skill的真正魅力在于复用——别人踩过的坑、总结的经验、沉淀的工作流,都能直接变成你的“AI外挂”。你不需要从零开始造轮子,找到合适的Skill,装上去,然后用起来。

去 GitHub 上搜一下 claude-code-skills,你会发现一个巨大的宝藏库。

不用一次性写几十个。从你最疼的地方开始:

  • Claude 每次 review 代码都不符合团队习惯?写一个 code-review Skill
  • 你总是在查数据库表结构?写一个 db-doc-gen Skill
  • 你要做技术面试准备?写一个 tech-interview Skill

每多一个 Skill,你就少做一次重复劳动。而这一次投入,可以复用无数次。

下一篇预告:我们来聊聊 Hooks——当 Claude 做某个操作之前或之后,自动触发你的自定义逻辑。比如:每次 Claude 修改文件前自动备份,或者每次运行测试后自动分析结果。

你已经写过哪些好用的 Skill?欢迎在评论区分享你的“技能包”,一起抄作业!


文章来源:https://www.cnblogs.com/gloamfox/p/19854772
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐

标签云