Skills: Skills 简介与核心概念
最后更新:2026-08-31
还在每次对话都重复写长提示词?Skills 让你把最佳实践打包成一个按钮——下次一键调用。
1. 什么是 Skills
Skills 是 AI 编码助手的可复用能力扩展单元,由提示词(Prompt)、工具绑定(Tool Bindings)和触发器(Triggers)组合而成。无论是 Claude Code 的 .claude/skills/、OpenCode 的 skills/ 目录,还是 Cursor Rules,本质上都是同一个理念:
| 对比维度 | 裸对话(无 Skills) | 使用 Skills |
|---|---|---|
| 提示词 | 每次手动输入 | 预设模板,一键加载 |
| 工具调用 | 需要明确指定 | 自动绑定,按需激活 |
| 一致性 | 因人而异,质量波动 | 标准化输出,质量稳定 |
| 可复用性 | 复制粘贴 | 版本管理,团队共享 |
| 触发方式 | 手动 | 自动检测 + 手动调用 |
(1) Skills 的定位
Skills 填补了"纯提示词工程"和"全自动 Agent"之间的空白:
- 不是简单的提示词模板——它绑定工具、定义触发条件、管理上下文
- 不是完整的 Agent 框架——它是 Agent 的"插件",增强而非替代
- 不是一次性脚本——版本化、可组合、可共享
(2) 核心能力
TEXT
📖 仅展示
Skills 核心架构
├── 提示词模板(系统提示 + 任务模板 + 示例)
├── 工具绑定(文件读写 / Shell / 搜索 / MCP 工具)
├── 触发器(关键词 / 文件类型 / 上下文条件)
├── 变量系统(用户输入 / 环境变量 / 上下文注入)
├── 组合编排(技能链 / 并行技能 / 条件分支)
└── 版本与共享(Git 管理 / 技能市场 / 团队同步)
关于代码示例的输出
本课程的代码示例采用确定性/非确定性分离模式,这是 AI Agent 工具教程的行业最佳实践:
| 标记 | 含义 | 你的输出 |
|---|---|---|
| 输出: | 确定性结果(安装、配置、计数等) | 应与示例基本一致 |
| 交互流程: | Agent 行为流程(LLM 调用、工具选择等) | 实际文本会不同,但流程相似 |
| 验证方法: | 练习题的检查方式 | 按描述步骤验证 |
💡 为什么不一样? 传统编程
1 + 1 = 2(永远相同),Agent 工具 agent.chat("分析代码") = ???(每次不同)。这是 AI Agent 工具的本质特性,不是 Bug。
2. 核心概念
(1) Prompt(提示词)
提示词是 Skill 的灵魂,定义了 AI 在该技能下的行为规范:
YAML
name: code-review
system_prompt: |
你是高级代码审查专家。审查时遵循以下原则:
1. 先理解意图,再检查实现
2. 优先关注安全问题和性能瓶颈
3. 给出具体修改建议,而非泛泛而谈
4. 严重程度分级:🔴 必须修复 / 🟡 建议修改 / 🟢 仅供参考
(2) Tool Bindings(工具绑定)
工具绑定定义了 Skill 执行时可以使用的工具集:
| 工具类型 | 说明 | 示例 |
|---|---|---|
| 文件工具 | 读写项目文件 | Read、Write、Edit |
| Shell 工具 | 执行命令 | Bash、Terminal |
| 搜索工具 | 代码和内容搜索 | Grep、Glob |
| MCP 工具 | 外部服务连接 | 数据库、API、浏览器 |
| 自定义工具 | 用户开发 | 任意可调用函数 |
(3) Trigger(触发器)
触发器决定了 Skill 何时被激活:
YAML
triggers:
- keyword: "审查代码|review"
- file_pattern: "**/*.py"
- context: "git_diff_available"
(4) Context(上下文)
上下文管理 Skill 执行时的信息注入,包括项目结构、代码风格、团队规范等。
3. 从手动到自动化
Alice 是团队技术负责人,她想让代码审查标准化。起初她每次都手动写长提示词:
场景:代码审查标准化
传统方式——Alice 每次审查都重复写提示词:
TEXT
📖 仅展示
Alice: "请审查这个 PR,关注安全问题、性能、可读性,
按严重程度分级,给出修改建议......"
(每次都要写 200+ 字的提示词)
Skills 方式——Alice 创建 code-review 技能,以后一键调用:
YAML
# .claude/skills/code-review.md
当我说"review"时,自动执行代码审查......
Bob 评价道:"Skills 的价值不只是省时间——它让团队的最佳实践变成标准操作,任何人调用都能得到一致的高质量输出。"
4. 主流平台对比
| 平台 | Skills 位置 | 格式 | 特点 |
|---|---|---|---|
| Claude Code | .claude/skills/*.md |
Markdown + YAML | 原生支持,触发器丰富 |
| OpenCode | skills/ 目录 |
Markdown | 简洁直观,社区活跃 |
| Cursor | .cursor/rules/ |
Markdown | 项目级规则,自动激活 |
| Windsurf | .windsurfrules |
文本 | 单文件配置 |
| Copilot | .github/copilot-instructions.md |
Markdown | GitHub 生态集成 |
❓ 常见问题
Q Skills 和普通提示词有什么区别?
A 提示词是一次性的文本输入,Skills 是提示词+工具+触发器的组合包,支持版本管理、自动激活和团队共享。
Q 哪个平台的 Skills 系统最好?
A 各有优势。Claude Code 的触发器系统最完善,OpenCode 的社区生态最好,Cursor 的项目级规则最方便。本课内容跨平台通用。
Q 需要编程基础才能用 Skills 吗?
A 创建基础 Skill 只需要写 Markdown,不需要编程。高级 Skill 涉及工具绑定和自定义工具开发,需要一定编程基础。
📖 小节
- Skills 是提示词+工具+触发器的可复用组合包
- 四大核心概念:Prompt(提示词)、Tool Bindings(工具绑定)、Trigger(触发器)、Context(上下文)
- 跨平台通用:Claude Code、OpenCode、Cursor 等都支持类似机制
- 从"每次手动写提示词"到"一键标准化调用"的范式转变
📝 作业
- 基础题(难度⭐):用自己的话解释 Skill 和普通提示词的三个核心区别。
- 进阶题(难度⭐⭐):列举你日常工作中的 3 个场景,分析哪些适合封装成 Skill,说明理由。
- 挑战题(难度⭐⭐⭐):设计一个"部署检查"Skill 的方案:需要什么提示词?绑定哪些工具?触发条件是什么?