about blog github

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 的核心执行逻辑应该:

  1. 首先验证是否真正应该被触发
  2. 按照预定步骤执行任务
  3. 返回结构化结果
  4. 处理错误情况

常见的 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 需要:

  1. 清晰的触发机制 - 确保 skill 在正确的时候被调用
  2. 单一职责 - 每个 skill 专注解决一个问题
  3. 明确的输出 - 提供结构化、可预期的结果
  4. 良好的文档 - 包含示例、错误处理和使用说明

claude code 的 skill 机制,实质上是一套基于 prompt 的动态知识注入架构。它将开发者的经验、规范和流程,从一次次手动输入的“消耗品”,变为可复用、可共享、自动触发的“资产”,从根本上解决了 ai 编程助手的遗忘、不一致和难以协作三大核心痛点。



LEo at 00:00

about blog github