16 May 2026
claude code skill学习
什么是 skill
claude code 中的 skill 是一种可复用、可调用的程序化任务处理器。当用户输入特定命令或满足触发条件时,skill 会被自动加载并执行预定义的任务。skill 就像是给 claude 配备的”专业技能包”,让它能够以一致、可靠的方式处理特定类型的工作,可以理解成是ai工具的sop。主要针对以下痛点:
- 高效的提示词封装,节约token,保证执行的一致性和高效性
- 通过skill,不污染对话上下文,确保ai能准确记住记忆和上下文
- 将领域知识固化,分享给团队
设计一个优秀 skill 的核心原则
1. 明确的触发条件
好的 skill 首先要有清晰的触发机制。触发条件应该既足够精确,避免误触发,又足够宽泛,覆盖目标场景。
# 示例:描述字段定义触发条件
description: |
Use this skill when the user asks for code review, wants feedback on changes,
or mentions reviewing a pull request.
最佳实践:
- 使用具体的动作动词(”review”, “refactor”, “test”)
- 包含同义词和变体
- 避免过于宽泛的描述(如”help with code”)
2. 专注单一职责
每个 skill 应该只解决一个明确的问题。当一个 skill 试图做太多事情时,它会变得复杂、难以维护,且触发准确性下降。
| 好的 skill | 不好的 skill |
|---|---|
/pr-review - 专注于 PR 代码审查 |
/code-helper - 试图处理所有代码相关任务 |
/deps-check - 检查依赖安全性 |
/project-tools - 包含多个不相关的工具集合 |
3. 提供明确的输出格式
用户需要知道 skill 的执行结果是什么样的。定义清晰的输出格式可以让结果更易于消费和后续处理。
## 输出格式
skill 应该按照以下结构返回结果:
### 发现的问题
- [ ] 问题1: 问题描述
- [ ] 问题2: 问题描述
### 建议
1. 建议1
2. 建议2
4. 可测试性
优秀的 skill 应该易于测试。这意味着:
- 输入输出明确
- 不依赖难以模拟的外部状态
- 可以提供测试用例
skill 的结构组成
frontmatter
---
name: my-skill
description: 简短描述 Skill 的用途
type: # 可以是自定义类型
---
描述字段
最重要的部分,决定了 skill 何时被触发:
# description 撰写指南
1. **以动作开头**:使用 "Use this skill when..." 或类似模式
2. **列举关键触发词**:列出会触发此 skill 的常见短语
3. **说明边界**:明确哪些情况不应该触发此 skill
执行逻辑
skill 的核心执行逻辑应该:
- 首先验证是否真正应该被触发
- 按照预定步骤执行任务
- 返回结构化结果
- 处理错误情况
常见的 skill 类型
1. 审查型 skill
用于审查和提供反馈:
- 代码审查(
/pr-review) - 安全审查(
/security-review) - 文档审查
2. 任务型 skill
用于执行特定任务:
- 初始化项目(
/init) - 配置管理(
/update-config) - 依赖分析
3. 分析型 skill
用于代码或项目分析:
- 复杂度分析
- 性能分析
- 测试覆盖率分析
4. 转换型 skill
用于转换或生成内容:
- 代码迁移
- 文档生成
- 格式转换
编写 skill 的最佳实践
1. 使用示例和模板
在 skill 中包含清晰的示例,帮助用户理解如何使用:
## 示例
### 用户输入
"review my recent changes"
### skill 行为
1. 检查 git diff
2. 分析代码质量
3. 提供改进建议
2. 错误处理
预见可能出现的错误并提供友好的处理:
### 错误场景
- 未找到文件:提示用户检查路径
- 权限不足:说明需要的权限级别
- 依赖缺失:提供安装指南
3. 保持简洁
skill 不应该有太多样板代码。只包含必要的逻辑,让主 model 处理自然语言理解。
4. 版本控制
对 skill 进行版本管理:
- 记录变更历史
- 使用语义化版本
- 提供升级指南
skill 的调试技巧
1. 验证触发条件
通过测试不同的用户输入来验证 skill 是否在正确的时候被触发。
2. 检查输出格式
确保输出格式符合预期,特别是当输出会被其他工具或流程消费时。
3. 性能分析
监控 skill 的执行时间,避免长时间运行的 skill 影响用户体验。
4. 日志记录
适当添加日志记录,帮助调试问题。
总结
编写优秀的 skill 需要:
- 清晰的触发机制 - 确保 skill 在正确的时候被调用
- 单一职责 - 每个 skill 专注解决一个问题
- 明确的输出 - 提供结构化、可预期的结果
- 良好的文档 - 包含示例、错误处理和使用说明
claude code 的 skill 机制,实质上是一套基于 prompt 的动态知识注入架构。它将开发者的经验、规范和流程,从一次次手动输入的“消耗品”,变为可复用、可共享、自动触发的“资产”,从根本上解决了 ai 编程助手的遗忘、不一致和难以协作三大核心痛点。
LEo
at 00:00