Home
avatar

麒麟剑

Claude Code实战教程(6):插件化AI——Skills体系完全指南

《从零开始的 Claude Code 实战系列教程》第 6 篇 · 公众号「麒麟剑的AI自动化Lab」连载

Plugin and extension concept ▲ Skills 就像给 AI 装上专业插件,让它成为各个领域的专家


一、你有没有想过:为什么 Claude 每次都要重新学习?

假设你是某个项目的老员工,另一个同事刚入职,你需要花半天时间给他讲解项目背景、技术栈、编码规范、常用工具…

Claude 面临同样的问题:每次开启新会话,它都要从零开始理解你的项目。

解决方案有两种:

方案 A:写一份项目说明书(CLAUDE.md)

这是我们第 3 篇讲的内容,适合描述性的知识。

方案 B:创建 Skills(本章重点)

Skills 适合程序性的知识——“遇到这种情况,按以下步骤操作”。


二、什么是 Skill?为什么需要它?

Skills 是 Claude Code 的可复用知识模块。一个 Skill 就是一个 SKILL.md 文件,包含 Claude 在特定任务时需要遵循的指令、检查和工具。

核心价值

价值说明
可复用一次编写,无限次调用
上下文节省Skill 内容按需加载,不占默认上下文
一致性每次执行相同的检查标准
团队共享纳入 git,全团队使用同一套标准
自动触发可以配置为在特定场景自动激活

三、Skill 与相关概念的区别

很多初学者容易混淆这些概念,我们来理清:

机制用途触发方式类比
CLAUDE.md项目级的”宪法”,始终可见始终加载公司规章制度
Skill按需加载的可复用专业知识包按需加载专业手册/检查清单
Hook确定性执行的自动化脚本事件触发自动化流水线
MCP Server给 Claude 提供外部工具访问自动可用外接设备

简单理解

  • CLAUDE.md = 告诉 Claude “我是谁、我在哪”
  • Skill = 告诉 Claude “遇到这种问题时,按这个流程处理”
  • Hook = “每次你做这件事时,自动触发那个脚本”
  • MCP = “给你一个工具,让你能访问外部系统”

四、Skill 的目录结构

最小结构

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

完整结构(带辅助文件)

.claude/skills/
├── code-review/
│   ├── SKILL.md              # 主要指令文件
│   ├── checks/               # 检查清单(可选)
│   │   ├── security.md
│   │   └── performance.md
│   └── templates/            # 模板文件(可选)
│       └── review-report.md
├── deploy/
│   └── SKILL.md
└── test/
    ├── SKILL.md
    └── test-templates/
        └── jest-template.ts

五、编写你的第一个 Skill

场景:创建一个”代码审查 Skill”

Step 1:创建目录

mkdir -p .claude/skills/code-review

Step 2:编写 SKILL.md

---
name: code-review
description: 对当前代码变更进行全面审查,包括安全性、性能、代码质量和最佳实践
triggers:
  - "code review"
  - "审查代码"
  - "/code-review"
allowedTools:
  - Read
  - Grep
  - Glob
  - Bash
---

# Code Review Skill

你是一个经验丰富的代码审查专家。请对当前变更进行系统性审查。

## 审查流程

### 第一步:了解变更范围
1. 运行 `git diff HEAD` 查看当前变更
2. 识别修改了哪些文件
3. 理解变更的业务背景

### 第二步:安全性审查
- [ ] 是否有 SQL 注入风险?
- [ ] 是否有 XSS 漏洞?
- [ ] 敏感数据是否被正确保护?

### 第三步:性能审查
- [ ] 是否有 N+1 查询?
- [ ] 是否有不必要的循环?
- [ ] 内存使用是否合理?

### 第四步:输出审查报告
以以下格式输出:
- 🚨 严重问题(必须修复)
- ⚠️ 建议改进
- ✅ 做得好的地方
- 💡 总体建议

Step 3:测试 Skill

在 Claude Code 中:

/code-review

六、Skill Frontmatter 详解

每个 SKILL.md 文件顶部都有一个 frontmatter 区域,用于配置 Skill 的行为:

---
name: skill-name                    # Skill 名称,也是斜杠命令名
description: 一段描述                 # Claude 用来判断是否需要加载此 Skill
paths:                              # 限制 Skill 只在特定文件模式下激活
  - "*.ts"
  - "src/**/*.tsx"
context: fork                       # 在隔离的子代理中运行此 Skill
allowedTools:                       # 限制 Skill 可使用的工具
  - Read
  - Glob
  - Bash
disable-model-invocation: true      # 只有用户能调用,Claude 不会自动触发
---

字段说明

字段作用示例
nameSkill 名称,也是调用命令code-review/code-review
description触发条件描述"帮我审查代码" 会触发
paths文件路径匹配["*.py", "tests/**"]
context运行上下文fork = 子代理,shared = 共享上下文
allowedTools允许使用的工具安全限制
disable-model-invocation禁用自动触发仅手动调用

七、高级 Skill 技巧

技巧 1:动态注入命令输出

使用 !`command` 语法,在执行 Skill 前运行命令并将结果注入:

!`git log --oneline -5`

基于以上最近的提交记录,分析代码变更趋势...

技巧 2:引用本地文件

使用 @ 引用 Skill 目录下的文件:

参考 @checks/security.md 进行安全审查

技巧 3:在子代理中运行

context: fork

适合需要独立上下文的大型任务(如并行研究多个模块)。


八、内置 Bundled Skills

Claude Code 自带多个常用 Skill:

Skill功能触发方式
/debug系统化调试直接调用或自动触发
/code-review代码审查直接调用或自动触发
/simplify简化代码/simplify
/loop循环迭代优化/loop N
/verify验证功能/verify
/doctor环境诊断/doctor
/batch批量处理任务/batch

查看已安装的 Skills:

/skills

九、实战:创建一个部署 Skill

假设你的项目有复杂的部署流程,每次都记不住步骤?创建一个 Skill 吧!

---
name: deploy
description: 执行项目部署流程,包括构建、测试、推送和上线
allowedTools:
  - Bash
  - Read
---

# Deploy Skill

## 部署前检查
1. 确认当前分支是 main 或 release/*
2. 运行所有测试:`npm run test`
3. 检查是否有未提交的修改

## 部署步骤
1. 构建:`npm run build`
2. 推送:`git push origin HEAD:main`
3. 触发 CI/CD:等待构建完成
4. 验证:访问 https://your-app.com 确认正常运行

## 回滚方案
如果部署失败:
1. 回滚到上一个版本:`kubectl rollout undo deployment/xxx`
2. 通知团队
3. 记录问题

十、本章小结

核心概念说明
Skill 是什么可复用的专业知识包,按需加载
存放位置.claude/skills/<name>/SKILL.md
Frontmattername, description, paths, context 等
自动触发通过 description 关键词匹配
手动调用/skill-name
重新加载/reload-skills
共享方式放入 git 仓库,团队共用

下期预告(第 7 篇):MCP协议与第三方集成——让Claude连接数据库、API和浏览器

关注本系列,从入门到专家,系统掌握 Claude Code 的全部技能。

Claude Code Skills 扩展 教程 Anthropic