---
name: Create Skill
slug: create-skill-7
category: AI Engineering
description: Create Skill guides an interactive process for collecting knowledge, scope, and examples, then produces a structured skill file. Use it when turning project-specific know-how into a reusable Claude Code skill.
github: "https://github.com/shinpr/ai-coding-project-boilerplate/tree/main/.claude/commands-zh-CN/create-skill.md"
language: JavaScript
stars: 227
forks: 25
install: "npx degit https://github.com/shinpr/ai-coding-project-boilerplate/tree/main/.claude/commands-zh-CN ~/.claude/skills/commands-zh-CN"
installs_to: ~/.claude/skills/commands-zh-CN
source_path: .claude/commands-zh-CN/create-skill.md
collection_size: 25
category_size: 2793
collection_url: "https://dirskills.com/collections/shinpr/ai-coding-project-boilerplate"
added: 2026-09-03T06:04:54.309Z
last_synced: 2026-09-03T06:04:54.309Z
canonical_url: "https://dirskills.com/skills/create-skill-7"
---

# Create Skill

Create Skill guides an interactive process for collecting knowledge, scope, and examples, then produces a structured skill file. Use it when turning project-specific know-how into a reusable Claude Code skill.

**Install:**

```bash
npx degit https://github.com/shinpr/ai-coding-project-boilerplate/tree/main/.claude/commands-zh-CN ~/.claude/skills/commands-zh-CN
```

## README

**明确的用户指示**：用户明确指示并授权本流程中列出的每一次子智能体调用。当调用的前置条件满足时，执行每一次适用的调用。

**命令上下文**：通过交互式对话引导用户创建结构良好的技能文件，然后生成并评审优化后的内容。

技能主题：$ARGUMENTS

## 执行流程

按顺序完成步骤 1-6。仅当当前步骤所述的输出、评审结果或批准条件被满足时才推进。在每一条适用的完成标准均被满足后完成。

### 步骤 1：预检

1. Glob 现有技能：`.claude/skills/*/SKILL.md`、`~/.claude/skills/*/SKILL.md`
2. 如果 `$ARGUMENTS` 与现有技能名称匹配：改为建议 `/refine-skill` 并停止
3. 列出现有技能名称，以便用户知悉

### 步骤 2：收集技能知识

使用 AskUserQuestion 分 4 轮收集信息。

**第 1 轮：技能本质**
- 这个技能编码了哪些领域知识？（1-2 句）
- 应用这个技能时的主要目标是什么？（例如“确保类型安全”、“统一测试模式”）

**第 2 轮：项目特定价值**

验证拟创建的技能是否在 LLM 的基线知识之外增加了价值。

- 这个技能编码了哪些 LLM 无法从通用训练中获知的项目特定规则、模式、类名或工作流？
- 提供具体示例（例如特定的错误类、团队约定、本代码库中的文件模式）

| 用户回答 | 行动 |
|---------------|--------|
| 提供了项目特定的细节 | 纳入技能内容。进入第 3 轮。 |
| 只描述了通用知识 | 警告：“仅包含通用知识的技能在运行时不太可能被触发。”提供选项：（A）找出可补充的项目特定方面，（B）在理解该技能可能无法可靠触发的前提下继续 |

**第 3 轮：范围、触发条件与用户措辞**
- 这个技能应在何时被激活？列出 3-5 个具体场景（例如“编写单元测试时”、“为安全性评审 PR 时”）
- 这个技能明确不涵盖什么？（范围边界）
- 你的团队在请求这类工作时实际使用哪些措辞？（例如“给 X 加上错误处理”、“评审一下 catch 块”、“修一下重试逻辑”）

将收集到的措辞归为两类：

| 类别 | 定义 | 示例 |
|----------|-----------|---------|
| **skill-dependent** | 没有该技能的知识就无法正确完成 | “实现重试逻辑”、“评审错误处理” |
| **pattern-copyable** | 通过阅读并复制现有代码模式即可完成 | “加一个 fetchXxx 函数” |

如果所有措辞都是 pattern-copyable：“这些任务通过复制现有代码即可完成。你能提供一个需要该技能所编码的隐性规则的场景吗？”在继续之前，确保至少存在 1 条 skill-dependent 措辞。

**第 4 轮：判断标准与依据**
- 具体的规则或标准是什么？（要编码的核心知识）
- 有好的/坏的模式示例吗？
- 这个技能基于哪些外部参考或标准？
- 实际产物：“你有没有现成的文件、过往失败案例、PR 或对话记录能体现这些模式？”（这些让技能扎根于真实使用场景）

### 步骤 3：确定名称与结构

1. 按照现有约定，以动名词/名词形式推导技能名称：
   - `coding-standards`、`typescript-rules`、`implementation-approach`（名词/动名词复合形式）
2. 根据收集到的内容量估算规模
3. 通过 AskUserQuestion 向用户呈现名称与结构以供确认

### 步骤 4：生成技能内容

通过 Agent 工具调用 skill-creator 智能体，并传入收集到的信息：
- Mode: creation
- 技能名称：来自步骤 3
- 原始知识：来自第 4 轮
- 触发场景：来自第 3 轮
- 用户措辞：来自第 3 轮（skill-dependent 和 pattern-copyable 两类）
- 范围：来自第 3 轮
- 判断标准：来自第 4 轮
- 项目特定价值：来自第 2 轮
- 实际产物：来自第 4 轮（若已提供）
- 已生成的现有内容：初次生成时为 `None`；修复时为当前的 SKILL.md 及其引用文件
- 当前评审：初次生成时为 `None`；修复时为紧邻的上一次 skill-reviewer 输出

### 步骤 5：评审生成的内容

通过 Agent 工具调用 skill-reviewer 智能体：
- 传入 skill-creator 生成的内容
- 传入每一个生成的引用文件，包含文件名、行数和内容
- 评审模式：`creation`
- 重新评审时，在每一项 `user_decision` 都已解决之后，传入上一次评审结果以及 skill-creator 的 `reviewResolutions`

**决策逻辑**：
- 等级 A 或 B：进入步骤 6；将剩余的等级 B 发现项作为可选说明呈现
- 等级 C：要求 skill-creator 按 `findingId` 将每一项发现项解决为 `apply`、`decline` 或 `user_decision`
- `apply`：修订当前生成的内容并重新评审
- `decline`：附带依据重新评审
- `user_decision`：询问用户，将答复作为约束性成果或范围决策回传给 skill-creator，并要求该发现项在重新评审前解决为 `apply` 或有依据支撑的 `decline`
- 评审方只有在具备新的正确性或可验证性证据时，才可维持一项被 decline 的发现项；重复表达偏好不构成阻塞
- 经过 2 轮修复/重新评审迭代后，将当前内容和剩余发现项呈现给用户

### 步骤 6：用户评审与写入

1. 将生成的 SKILL.md 内容呈现给用户以获得最终批准
2. 确认与用户意图一致：“这个技能是否捕捉到了你所描述的知识与标准？”
3. 如果要求修订：应用变更并重新运行 skill-reviewer
4. 获得批准后，写入 `.claude/skills/{name}/SKILL.md`
5. 建议运行 `/sync-skills` 以更新元数据

## 完成标准

- [ ] 与现有技能无命名冲突
- [ ] 项目特定价值已在第 2 轮中验证
- [ ] 用户措辞已收集并分类（至少 1 条 skill-dependent）
- [ ] 技能名称已由用户确认
- [ ] skill-creator 智能体返回了有效的 JSON 输出
- [ ] skill-reviewer 智能体返回了等级 A 或 B
- [ ] 用户已批准最终内容
- [ ] 文件已写入 `.claude/skills/{name}/SKILL.md`
- [ ] 已向用户建议 `/sync-skills`

## 错误处理

| 错误 | 行动 |
|-------|--------|
| 技能名称已存在 | 改为建议 `/refine-skill {name}` |
| 4 轮之后知识仍不足 | 提出有针对性的追问（最多 2 个额外问题） |
| skill-creator 返回无效的 JSON | 以简化后的输入重试一次 |
| 经过 2 轮修复/重新评审迭代后仍为等级 C | 呈现当前内容及剩余发现项，交由用户决定 |
| 用户拒绝生成的内容 | 收集具体反馈，带着调整重新运行 skill-creator |

## 范围边界

**本命令负责**：交互式知识收集、creator 与 reviewer 智能体的编排、文件写入。
**本命令不负责**：技能内容优化逻辑（委托给 skill-creator）、质量评估逻辑（委托给 skill-reviewer）、元数据同步（委托给 `/sync-skills`）。
