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。

相关推荐
幺风2 小时前
Claude Code源码分析 - cli初始化及 Ink 渲染系统
ai编程
路飞说AI2 小时前
Claude Code Agent Teams指南
ai编程·claudecode·agentteam
与虾牵手3 小时前
OpenClaw 和 AiPy 怎么选?2026 功能实测对比 + 踩坑全记录
python·ai编程
KevinZhang135793 小时前
第 15 节:实现数据分析可视化
ai编程·vibecoding
Lazy_zheng3 小时前
SDD 实战:用 Claude Code + OpenSpec,把 AI 编程变成“流水线”
前端·react.js·ai编程
何中应3 小时前
Claude Code本地部署
ai·ai编程·claude code
金木讲编程3 小时前
Claude Desktop 和 GitHub Copilot调用MCP Server 示例
github·copilot·ai编程
洛卡卡了4 小时前
Hermes Agent 火了,我也把它从安装到飞书聊天跑了一遍
人工智能·aigc·ai编程
探物 AI4 小时前
虾破苍穹(一):RTX 3060 养一只本地“呆呆”龙虾 [特殊字符]
人工智能·ai编程