一、什么是 Skill?

Skill 是扩展 AI Agent 能力的模块化知识包(一种可复用的能力模块)。

把它想象成一本”专项操作手册”——当 AI 需要完成某个特定领域的任务时,Skill 就会被加载进来,提供专属的工作流程、工具脚本和领域知识。

Skill = 专业知识 + 操作流程 + 工具调用

核心价值: 把那些”通用 AI 不具备,但领域专家天天用”的知识固化下来,让 AI 具备领域专家的能力。

和 MCP 及 Prompt 的区别

维度 System Prompt MCP Skill
本质 一次性角色设定 工具/能力扩展协议 可复用行为约束
解决什么问题 临时调整 AI 风格 AI 连不到外部系统 AI 不按规范工作
需要写代码 非必须

二、Skill 的结构

1
2
3
4
5
6
skill-name/
├── SKILL.md ← 必须有,核心文件
└── (可选资源)
├── scripts/ ← 可执行脚本
├── references/ ← 参考文档
└── assets/ ← 静态资源

SKILL.md 的格式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
---
name: skill-unique-name
description: |
Use when doing X.
Use BEFORE doing Y.
---

# 技能正文

## 核心原则
- 原则一
- 原则二

## 执行流程
1. 第一步
2. 第二步

## 禁止行为
- 禁止做 A
- 禁止跳过 B

Skill 的五要素

要素 说明
1. Metadata name + description
2. Context 适用上下文
3. Process 执行流程
4. Constraints 约束规则
5. Output Format 输出规范

三、三级加载机制

Skill 采用”按需加载”的设计:

级别 内容 何时加载
第一级 name + description 始终在上下文中
第二级 SKILL.md 正文 Skill 被触发后
第三级 scripts/ references/ AI 判断需要时

四、三类可选资源

scripts/ 确定性脚本

把反复编写的代码固化成可直接执行的脚本。

references/ 参考文档

存储 AI 需要参考但不必一直占用上下文的知识。

assets/ 静态资源

存储输出中会用到的文件:模板、checklist、图片等。

五、创建 Skill 流程

  1. 明确使用场景 - 用户会说什么话来触发?
  2. 规划可复用资源 - 每次都需要重写什么?
  3. 初始化 Skill - 创建目录结构
  4. 编写内容 - description 要写得清晰全面
  5. 打包发布 - 生成 .skill 文件
  6. 迭代优化 - 在真实任务中观察改进

六、核心设计原则

原则 1:精简优先

上下文窗口是公共资源。每加一段文字都问自己:

“这是 AI 不知道的信息吗?删掉会有什么后果?”

原则 2:自由度要匹配任务

任务特性 自由度 写法
步骤固定、易出错 具体脚本 + 严格参数
有首选方案、允许变化 伪代码 + 可配置参数
多种方案均可 文字指导 + 启发式原则

原则 3:渐进式披露

SKILL.md 只放核心工作流,细节通过引用指向 references/ 文件。

七、实战案例

案例 1:TDD 技能(强制测试驱动开发)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
---
name: test-driven-development
description: |
Use this skill when the user asks to implement any feature, function, or module.
Enforces Test-Driven Development (TDD) workflow: write tests FIRST, then implementation.
---

## 核心原则

**红-绿-重构(Red-Green-Refactor)循环:**

1. **红(Red)**:先写一个失败的测试
2. **绿(Green)**:写最少的代码让测试通过
3. **重构(Refactor)**:优化代码,保持测试通过

## 强制工作流程

### 第一步:编写测试(必须先完成)

在写任何实现代码之前,必须:
1. 创建测试文件
2. 编写至少一个测试用例
3. 向用户展示测试代码

### 第二步:确认测试

向用户确认是否继续编写实现代码。

## 禁止行为

- 禁止先写实现代码再补测试
- 禁止跳过测试直接给实现
- 禁止写没有断言的测试

案例 2:规范化 Git 提交技能

1
2
3
4
5
6
7
## Commit 格式

<type>(<scope>): <subject>

[type] 必填:feat, fix, docs, style, refactor, perf, test, chore
[scope] 必填:影响模块,如 user, auth, payment
[subject] 简洁描述,不超过 50 字符

正确示例 ✅

1
2
3
feat(user): 添加用户注册功能
fix(auth): 修复登录超时问题
docs(readme): 更新安装说明

错误示例 ❌

1
2
feat: 添加功能 # ❌ 缺少 scope
fix(Auth): 修复问题 # ❌ scope 应该小写

案例 3:代码审查技能

维度 关注点
🔧 代码质量 命名规范、代码结构、设计模式
🔒 安全性 SQL注入、XSS、敏感信息泄露
⚡ 性能 时间复杂度、N+1查询、缓存使用
📖 可读性 注释完整性、函数长度

问题严重级别:

  • 🔴 Critical - 必须修复
  • 🟠 Major - 建议修复
  • 🟡 Minor - 可选修复
  • 🟢 Info - 仅供参考

八、Superpowers:企业级 Skill 套件

Superpowers 是一套开源的、为 AI 编程助手设计的结构化工作流技能系统。

核心技能列表

Skill 触发场景 核心作用
test-driven-development 实现功能前 强制 TDD 循环
systematic-debugging 遇到 Bug 时 先诊断后治疗
brainstorming 创建功能前 探索需求和设计
writing-plans 拿到需求后 生成详细计划
code-reviewer 重要步骤完成后 多维度审查

安装方式

1
2
3
# Claude Code
/plugin marketplace add obra/superpowers-marketplace
/plugin install superpowers@superpowers-marketplace

九、常见误区

误区 正确做法
在正文写”何时使用” 应写在 description 字段
创建 README.md、CHANGELOG.md 只保留任务必需的文件
把所有细节塞进 SKILL.md 细节放 references/
跳过脚本测试 脚本必须实际运行验证

十、好用的 Skill 仓库

总结

Skill 本质上是人类智慧的结晶化——把专家的工作方法、判断标准、执行流程,转化为 AI 可理解和遵守的结构化约束。

核心公式:

1
2
3
Skill = description(决定何时触发) 
+ SKILL.md(告诉 AI 怎么做)
+ 可选资源(帮 AI 做得更好)

掌握 Skill 的本质是:

  1. 抽象 - 从具体任务中提炼通用模式
  2. 封装 - 将知识流程化、结构化
  3. 复用 - 一次构建,持续使用