AI知识篇
什么是Skills
给AI定义"专业技能"
Skills(技能) 是一种为 AI 预定义可复用的专业能力的机制。通过 Skills,你可以把常用的操作流程、专业知识、行为规范封装成一个"技能包",让 AI 在特定场景下自动激活和使用。
💡 类比:Skills 就像游戏角色的"技能树"。一个基础角色(AI)可以通过装备不同的技能来获得不同的专业能力——装上"代码审查"技能就能审查代码,装上"Three.js"技能就懂 3D 开发。
加载图表中...
为什么需要 Skills?
| 问题 | 没有 Skills | 有 Skills |
|---|---|---|
| 重复描述 | 每次对话都要解释"怎么提交代码" | 一次定义,随时调用 /commit |
| 知识遗忘 | AI 每次对话都从零开始 | 技能永久保存 |
| 质量不一 | 每次回答可能不同 | 标准化的流程和输出 |
| 团队协作 | 每个人自己和 AI 沟通 | 团队共享统一的技能集 |
Skills 的工作方式
加载图表中...
Skill 的结构
一个 Skill 通常包含以下部分:
加载图表中...
Skill 定义示例
---
name: commit
description: 帮助用户创建标准化的 Git 提交
trigger: 当用户输入 /commit 时
---
## 执行步骤
1. 运行 `git status` 查看变更文件
2. 运行 `git diff` 查看具体改动
3. 分析变更内容,生成符合 Conventional Commits 规范的提交信息
4. 格式:`类型(范围): 描述`
- feat: 新功能
- fix: 修复Bug
- docs: 文档
- refactor: 重构
5. 执行 `git add` 和 `git commit`
常见的 Skills 类型
加载图表中...
| 类型 | 示例 | 作用 |
|---|---|---|
| 开发技能 | /commit、/test | 标准化日常开发操作 |
| 审查技能 | /review-pr | 代码审查、安全检查 |
| 领域技能 | Three.js、数据库 | 特定技术领域的专业知识 |
| 流程技能 | /deploy、/release | 标准化团队工作流程 |
Skills 在实际工具中的应用
Claude Code 中的 Skills
Claude Code 支持自定义 Skills,通过 Markdown 文件定义:
.claude/
skills/
commit.md — 提交代码技能
review-pr.md — 代码审查技能
threejs-basics.md — Three.js 开发技能
用户输入 /commit 时,Claude Code 会加载对应的技能定义,按照规定的流程执行。
自动触发 vs 手动触发
加载图表中...
Skills vs 其他概念
| 对比 | Skills | System Prompt | RAG |
|---|---|---|---|
| 定位 | 可复用的专业能力 | 模型的全局行为 | 知识库检索 |
| 粒度 | 单个任务/场景 | 整体人设 | 文档级别 |
| 触发 | 按需加载 | 始终生效 | 根据问题检索 |
| 复用 | 可跨会话使用 | 单次会话 | 被动检索 |
加载图表中...
设计好的 Skills 的原则
| 原则 | 说明 |
|---|---|
| 单一职责 | 每个 Skill 只做一件事 |
| 明确步骤 | 清晰定义执行流程 |
| 包含示例 | 给出输入输出的示例 |
| 错误处理 | 说明异常情况怎么处理 |
| 可组合 | 多个 Skill 可以配合使用 |
🎯 AI编程小贴士:如果你发现自己经常让 AI 做同样的事情(比如每次都要解释代码提交规范),就应该把它封装成一个 Skill。告诉 AI"帮我写一个代码审查的 Skill 定义,要检查安全性、性能和代码风格",它会帮你创建一个可复用的技能定义。
小结
- Skills 是为 AI 预定义的可复用专业能力
- 解决了重复描述、知识遗忘、质量不一致的问题
- 通过
/技能名或自动检测来触发 - 包含名称、触发条件、执行指令和可用工具
- Skills、System Prompt、RAG 分别定义 AI 能做什么、是谁、知道什么
- 设计 Skill 遵循单一职责、明确步骤、包含示例的原则