通过交互式对话与优化,从用户知识创建新技能
Scanned 9/4/2026
Install to Claude Code
npx -y skills add shinpr/ai-coding-project-boilerplate --skill commands-zh-CN --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Commands Zh CN?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/shinpr-commands-zh-cn)More formats (shields.io, HTML) on the badges page.
---
description: 通过交互式对话与优化,从用户知识创建新技能
---
**明确的用户指示**:用户明确指示并授权本流程中列出的每一次子智能体调用。当调用的前置条件满足时,执行每一次适用的调用。
**命令上下文**:通过交互式对话引导用户创建结构良好的技能文件,然后生成并评审优化后的内容。
技能主题:$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`)。
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!