Skills:把AI能力折叠成可复用的工具箱

基础:Skill是什么

Skill是Claude Code的"插件",把一段Prompt封装成可复用的命令,一本手册,一本说明书,AI在需要的时候可以翻出来阅读。

一个Skill的本质

复制代码
一个Skill = 一个指令 + 一段Prompt + 配置

Skill的文件结构

text 复制代码
my-skill/
├── SKILL.md           # 必选,主指令
├── template.md       # 可选,输出模板
├── examples/        # 可选,示例
└── scripts/         # 可选,脚本

SKILL.md核心结构

yaml 复制代码
---
name: skill-name
description: 什么时候用这个skill(AI靠这个判断何时触发)
model: sonnet
allowed-tools: [Read, Edit, Write]
---

# Skill主指令
按以下框架执行任务:
1. 第一步:xxx
2. 第二步:xxx
3. 第三步:xxx

实战:如何写好一个Skill

核心原则:让AI知道什么时候该用

description是最重要的字段,决定了AI什么时候触发这个Skill。

复制代码
✅ 好的description:
"审查代码的安全风险,当用户要求审查代码、分析漏洞时使用"

❌ 差的description:
"审查代码"

Skill分类与写法

1. 分析类Skill(自动触发)
yaml 复制代码
---
name: code-analyzer
description: 分析代码质量和安全风险,用户问"分析代码"、"审查漏洞"时使用
model: sonnet
allowed-tools: [Read, Grep, Edit]
---

分析代码时:

## 1. 安全检查
- SQL注入、XSS、权限问题
- 敏感信息(密码、key、token)

## 2. 性能检查
- N+1查询
- 循环内的数据库操作

## 3. 代码质量
- 函数长度(>50行要拆分)
- 重复代码

## 4. 输出格式
| 问题 | 位置 | 级别 | 建议 |
|------|------|------|------|
2. 执行类Skill(手动触发)
yaml 复制代码
---
name: generate-api
description: 生成RESTful API接口,用户要求"生成API"时使用
disable-model-invocation: true
model: opus
allowed-tools: [Write, Edit, Bash]
---

生成API步骤:

1. 分析需求
   - 确定资源名
   - 确定CRUD操作
   - 确定请求/响应格式

2. 生成代码
   - 路由定义
   - 请求校验
   - 业务逻辑
   - 响应格式

3. 生成测试
   - 单元测试
   - 集成测试
3. 批量处理Skill
yaml 复制代码
---
name: batch-refactor
description: 批量重构代码,用户要求批量修改、重构时使用
model: sonnet
context: fork
allowed-tools: [Read, Grep, Edit, Write]
---

批量重构步骤:

1. 扫描匹配文件
   - 使用Grep找到目标模式
   - 列出需要修改的文件

2. 逐个修改
   - Read文件
   - Edit修改
   - Write保存

3. 验证
   - 跑测试
   - 检查编译

进阶:好Skill的要素

1. 清晰的触发条件

yaml 复制代码
# ❌ 模糊
description: "写测试"

# ✅ 清晰
description: "为代码生成单元测试,当用户要求"写测试"、"添加测试"时使用"

2. 明确的输出格式

yaml 复制代码
# 输出格式示例
## 1. 总结
## 2. 发现的问题
| 文件 | 问题 | 级别 |
|------|------|------|
## 3. 修复建议

3. 合理的工具权限

yaml 复制代码
# 分析类只需要读
allowed-tools: [Read, Grep]

# 执行类需要写
allowed-tools: [Read, Edit, Write, Bash]

4. 适当的模型选择

任务类型 推荐模型
分析/审查 sonnet(够用且快)
复杂生成 opus(最强)
简单执行 haiku(最便宜)

实战:团队专业Skill示例

1. 代码审查Skill

yaml 复制代码
---
name: review-code
description: 审查代码的安全、性能、规范,用户问"审查代码"、"看看有没有问题"时使用
model: sonnet
allowed-tools: [Read, Grep]
---

代码审查框架:

## 安全风险
- [ ] SQL注入
- [ ] XSS
- [ ] 权限问题
- [ ] 敏感信息

## 性能问题
- [ ] N+1查询
- [ ] 全表扫描
- [ ] 循环内IO

## 代码规范
- [ ] 命名规范
- [ ] 注释完整
- [ ] 测试覆盖

## 输出
按表格输出发现的每个问题

2. SQL审查Skill

yaml 复制代码
---
name: review-sql
description: 审查SQL风险,用户要求审查SQL、检查数据库改动时使用
model: sonnet
allowed-tools: [Read, Grep]
---

SQL审查要点:

## 1. 批量更新
- UPDATE/DELETE必须有WHERE
- 避免无WHERE的全表操作

## 2. 索引
- WHERE条件必须有索引
- 避免全表扫描

## 3. 事务
- 明确事务边界
- 注意事务传播

## 输出格式
| 文件 | 风险 | 建议 |
|------|------|------|

3. 生成测试Skill

yaml 复制代码
---
name: write-tests
description: 生成单元测试,用户要求"写测试"、"添加测试用例"时使用
model: sonnet
allowed-tools: [Read, Write, Grep]
---

测试生成步骤:

1. 理解被测代码
   - Read源码
   - 理解输入输出

2. 识别测试场景
   - 正常输入
   - 边界输入
   - 异常输入

3. 生成测试
   - 使用项目测试框架
   - 包含断言
   - 覆盖主要场景

推荐:好用的官方Skills

Skill 命令 用途
Code Review claude plugin install code-review 多Agent审查
Superpowers claude plugin install superpowers 全流程
Simplify claude plugin install code-simplifier 代码简化

常见问题

Q1:Skill不触发?

检查description是否清晰,AI是否能理解触发条件。

Q2:Skill输出不好?

优化输出格式,给AI明确的输出框架。

Q3:权限不够?

在frontmatter中添加allowed-tools。

相关推荐
Ward的AI产品实战11 小时前
多个订阅接多个 Agent 怎么管?我从 CC-Switch 迁移到了开源 AI 网关 Magpie(上篇)
开源·ai编程
qinglongcn12 小时前
为什么 Agent 循环是 for{} 而不是 DAG——架构选择的深层原因
agent·ai编程
ServBay13 小时前
DeepSeek 小更新,许愿式编程成真了?
aigc·ai编程·deepseek
殷紫川14 小时前
Context7 :给 AI 编码代理接上实时文档的 “活水”
aigc·ai编程·mcp
桃西西呀16 小时前
我把网关限流配置成每秒 100 请求,大促一来照样被打挂,还把别人也拖垮了
人工智能·llm·ai编程
程序员天天困16 小时前
DeepSeek-V4.1-Flash-1017 上手实测:3D 直出,效果到底如何
aigc·ai编程·deepseek
OpsEye16 小时前
大模型账单对账难:不同厂商 Token 统计口径差异怎么处理
javascript·ai编程
桃西西呀17 小时前
我把整本接口文档塞进 system prompt,前 3 轮答得准,第 8 轮开始胡说,账单还翻了 4 倍
人工智能·llm·ai编程
小虎AI生活18 小时前
OpenAI 披露 19 起 AI 失控记录,用 AI 提效的第一步为什么不是学提示词
aigc·ai编程