62 lines
2.3 KiB
Plaintext
62 lines
2.3 KiB
Plaintext
---
|
||
title: "Skills 技能系统 - 可复用的 AI 工作流封装"
|
||
description: "详解 Claude Code Skills 系统:如何将常用工作流封装为可复用的技能包,Skills 与 Tools 的区别,以及技能定义和加载机制。"
|
||
keywords: ["Skills", "技能系统", "工作流封装", "可复用技能", "AI 工作流"]
|
||
---
|
||
|
||
{/* 本章目标:解释 Skills 系统的设计思想 */}
|
||
|
||
## Tool vs Skill
|
||
|
||
| | Tool | Skill |
|
||
|---|---|---|
|
||
| 粒度 | 单个原子操作(读文件、执行命令) | 一套完整的工作流(代码审查、创建 PR) |
|
||
| 触发方式 | AI 自主选择 | 用户主动调用(`/skill-name`)或 AI 根据场景推荐 |
|
||
| 本质 | 执行逻辑 | 预制的 Prompt + 工具权限配置 |
|
||
|
||
## Skill 的三个来源
|
||
|
||
<CardGroup cols={3}>
|
||
<Card title="内置 Skill" icon="box">
|
||
编译进 CLI 的技能包。如 `/commit`、`/review`、`/debug`
|
||
</Card>
|
||
<Card title="项目 Skill" icon="folder-open">
|
||
项目 `.claude/skills/` 目录中的 Markdown 文件。团队共享
|
||
</Card>
|
||
<Card title="MCP Skill" icon="plug">
|
||
通过 MCP Server 提供的技能。动态发现
|
||
</Card>
|
||
</CardGroup>
|
||
|
||
## 一个 Skill 包含什么
|
||
|
||
每个 Skill 本质上是一个"AI 行为的预设":
|
||
|
||
| 组成部分 | 作用 |
|
||
|----------|------|
|
||
| **名称和描述** | 告诉 AI 和用户这个技能做什么 |
|
||
| **whenToUse** | 什么场景下应该使用这个技能(AI 据此自动推荐) |
|
||
| **Prompt 模板** | 注入给 AI 的详细指令——相当于"操作手册" |
|
||
| **allowedTools** | 这个技能允许使用哪些工具(能力边界) |
|
||
| **model** | 可选指定使用的模型 |
|
||
|
||
## 设计精妙之处
|
||
|
||
Skill 的核心洞见是:**很多复杂任务的关键不在于代码逻辑,而在于 Prompt 的质量**。
|
||
|
||
一个好的代码审查,不是写了什么代码来审查,而是:
|
||
- 告诉 AI 审查的标准是什么
|
||
- 告诉 AI 按什么顺序审查
|
||
- 告诉 AI 输出什么格式的报告
|
||
- 限制 AI 只能用读取类工具(不要边审查边改代码)
|
||
|
||
Skill 把这些"经验"封装起来,任何人都能一键调用。
|
||
|
||
## 技能发现
|
||
|
||
当可用技能很多时,AI 可以通过 **SkillTool** 搜索匹配的技能:
|
||
|
||
- 用户说"帮我做代码审查"
|
||
- AI 搜索已注册的技能,发现 `code-review` 匹配
|
||
- AI 调用该技能,按预设的流程执行
|