name: 技能创建器 description: 创建有效技能和命令的指南。当用户想要创建新技能或命令、更新现有技能或命令,或询问“如何制作技能”或“为X创建命令”时使用。
创建技能和命令
这个技能提供在Claude Code项目中创建有效技能和命令的指导。
技能与命令的区别
| 方面 | 技能(.claude/skills/) |
命令(.claude/commands/) |
|---|---|---|
| 触发方式 | 根据上下文自动触发 | 显式调用 /command |
| 目的 | 背景知识、领域专长 | 交互式工作流、多步骤任务 |
| 示例 | Obsidian Markdown 语法参考 | /daily-review 工作流 |
| 格式 | 在命名文件夹中的 SKILL.md |
单个 command-name.md 文件 |
核心原则
简洁是关键
上下文窗口是公共资源。技能与系统提示、对话历史和用户实际请求共享它。
默认假设:Claude 已经非常智能。 只添加 Claude 尚未拥有的上下文。质疑每个部分:“Claude 真的需要这个吗?”
优先选择简洁的示例,而非冗长的解释。
设置适当的自由度
根据任务的脆弱性匹配特异性:
高自由度(文本指令):多种方法有效,依赖于上下文
中等自由度(伪代码/模板):存在首选模式,允许一些变化
低自由度(特定脚本):操作脆弱,一致性关键
技能结构
技能名称/
├── SKILL.md(必需)
│ ├── YAML 前置元数据(名称、描述 - 必需)
│ └── Markdown 指令
└── 可选资源
├── references/ # 按需加载的文档
├── scripts/ # 可执行代码
└── assets/ # 模板、图像等
SKILL.md 前置元数据
---
name: 技能名称
description:
这个技能做什么以及何时使用它。这是主要触发因素 -
Claude 读取这个来决定何时加载技能。包括应该激活它的具体场景和关键词。
---
重要:描述始终加载到上下文中。正文仅在技能触发后加载。将“何时使用”放在描述中,而不是正文中。
命令结构
命令更简单 - 单个 Markdown 文件:
.claude/commands/
├── daily-review.md
├── release.md
└── new-command.md
命令前置元数据
---
name: 命令名称
description: '在 /help 中显示的简要描述'
argument-hint: '[可选] [参数]'
allowed-tools: [Read, Glob, Bash(git:*)] # 可选:限制工具
---
渐进式披露
使用分层加载来高效管理上下文:
- 元数据(名称 + 描述) - 始终在上下文中(约100字)
- SKILL.md 正文 - 当技能触发时(理想情况下少于500行)
- 参考资料 - 根据 Claude 需要(无限制)
模式:参考文件
保持 SKILL.md 简洁,链接到详细参考资料:
# 技能名称
## 快速参考
基本用法在这里。
## 详细指南
- **复杂主题 A**:参见 `references/topic-a.md`
- **复杂主题 B**:参见 `references/topic-b.md`
Claude 仅在需要时读取参考文件。
创建新技能
步骤 1:理解使用案例
问:
- “这个技能应该支持什么功能?”
- “什么会触发某人需要这个?”
- “Claude 还不知道什么,这个技能应该教什么?”
步骤 2:计划内容
分析具体示例:
- 每次重写什么代码/脚本?
- 什么文档会有帮助?
- 需要什么资产(模板、示例)?
步骤 3:创建技能
mkdir -p .claude/skills/my-skill
编写 SKILL.md:
---
name: my-skill
description:
它做什么。何时使用它。触发关键词。
---
# 我的技能
## 概述
简要解释。
## 快速参考
必要信息在这里。
## 高级主题
如果复杂,链接到参考资料。
步骤 4:测试和迭代
- 开始一个新的 Claude 会话
- 询问应该触发技能的问题
- 验证 Claude 是否适当使用技能
- 根据差距进行改进
创建新命令
步骤 1:定义工作流
命令用于显式的多步骤工作流:
- 这个工作流包括哪些步骤?
- 需要什么工具?
- 用户应该看到什么输出?
步骤 2:创建命令
touch .claude/commands/my-command.md
编写命令:
---
name: my-command
description: '在 /help 中的简要描述'
argument-hint: '[--flag] [参数]'
---
# 我的命令
## 指令
1. 第一步
2. 第二步
3. 验证结果
## 处理边缘情况
当 X 发生时该怎么做。
步骤 3:测试
运行 /my-command 并验证工作流是否正确执行。
常见模式
带验证的工作流
## 工作流
1. 收集上下文
2. 执行操作
3. **在声称成功之前验证结果**
4. 报告结果
## 验证
在声称完成之前,始终运行 `<command>` 并检查输出。
参考中心
# API 参考中心
| API | 目的 | 参考 |
|-----|------|------|
| API A | 功能 X | `references/api-a.md` |
| API B | 功能 Y | `references/api-b.md` |
## 何时使用每个
关于查阅哪个参考的简要指导。
决策矩阵
## 方法选择
| 条件 | 方法 |
|------|------|
| 简单案例 | 做 X |
| 复杂案例 | 做 Y |
| 边缘案例 | 询问用户 |
不应包括的内容
- README.md、CHANGELOG.md(只是杂乱)
- Claude 已经知道的明显信息
- 过于详细的解释(改用示例)
- 面向用户的文档(技能是为 Claude 准备的)
技能与命令决策
使用技能当:
- 提供背景知识
- 教授领域专长
- 适用于跨任务的参考资料
使用命令当:
- 与用户的交互式工作流
- 需要显式调用的多步骤过程
- 有明确定义开始/结束的具体任务