---
name: skill-laws
description: 定义所有 Skill 必须遵循的设计法则（Skill Laws），包括 AI 优先、人类中心、即调即用等核心法则。何时使用：当用户创建新 Skill、优化现有 Skill、询问 Skill 设计规范、或需要评估 Skill 质量时。
metadata:
  author: "牙叔教程"
  updated: "2026-02-24 21:30:00"
  version: "1.0.2"
---

# Skill Laws（设计法则）

**最高法则**：所有 Skill 是 AI 的指令集，人类只说自然语言，AI 解析意图、调用 Skill、完成操作。

---

## 🎯 触发映射：用户说 → AI 做

| 用户输入触发词                                                               | AI 执行动作        |
| ---------------------------------------------------------------------------- | ------------------ |
| "创建 skill" / "新建 skill" / "添加 skill" / "初始化 skill"                  | 按【创建模式】执行 |
| "优化 skill" / "skill 有问题" / "检查 skill" / "review skill" / "诊断 skill" | 按【优化模式】执行 |
| "这个 skill 怎么样" / "评估 skill" / "skill 设计得好吗"                      | 按【评估模式】执行 |

---

## 创建模式

**触发**：用户要创建新 Skill

### 执行步骤

| 步骤 | 执行动作          | 具体命令/操作                                                    |
| ---- | ----------------- | ---------------------------------------------------------------- |
| 1    | 确定 skill 目录名 | 使用格式 `skill-{功能名}`，全小写，连字符分隔                    |
| 2    | 创建目录结构      | 运行 `mkdir -p .skills/{skill-name}/{references,scripts}`        |
| 3    | 创建 SKILL.md     | 运行 `Write` 工具创建文件，路径：`.skills/{skill-name}/SKILL.md` |
| 4    | 写入 frontmatter  | 复制下方模板，替换变量：`{skill-name}` `{功能描述}` `{触发条件}` |
| 5    | 添加触发映射表    | 在 frontmatter 后添加"触发映射"区块                              |
| 6    | 添加执行步骤      | 用表格列出步骤、动作、具体命令                                   |
| 7    | 检查核心法则      | 对照【核心法则检查表】逐项验证，全部通过才算完成                 |
| 8    | 创建 references   | 如内容 > 500 行，将详细内容移到 `references/` 目录               |

### Frontmatter 模板

```yaml
---
name: {skill-name}
description: {功能描述}。何时使用：当用户{说/需要/遇到}{触发条件}时。
metadata:
  author: "{作者名}"
  updated: "{YYYY-MM-DD HH:MM:SS}"
  version: "1.0.0"
---
```

### 核心法则检查表（创建时必须全部通过）

| 法则            | 检查标准                                                | 通过？ | 如果不通过                                 |
| --------------- | ------------------------------------------------------- | ------ | ------------------------------------------ |
| ⭐⭐⭐ 人类中心 | 用户只需说自然语言，不需要手动操作文件或运行命令        | ⬜     | 添加 AI 执行步骤，删除用户手动操作         |
| ⭐⭐⭐ AI 优先  | 使用祈使句指令（运行/检查/调用/执行），表格展示决策逻辑 | ⬜     | 将"你可以..."改为"运行..."，长段落改为表格 |
| ⭐⭐⭐ 即调即用 | 顶部有"触发映射"区块，用户输入 → AI 动作一一对应        | ⬜     | 添加触发映射表                             |
| 渐进披露        | 核心内容 < 500 行，详细内容放 `references/`             | ⬜     | 将超过 500 行的内容移到 references         |
| 错误处理        | 包含常见错误场景和处理方式表格                          | ⬜     | 添加错误处理表格                           |

### 错误处理

| 错误场景        | 错误表现                            | 处理方式                                                         |
| --------------- | ----------------------------------- | ---------------------------------------------------------------- |
| 目录已存在      | `mkdir` 报错目录已存在              | 运行 `LS` 检查目录内容，如为空则继续，如有内容则询问用户是否覆盖 |
| 文件写入失败    | `Write` 返回错误                    | 检查路径是否正确，如路径含空格需用引号包裹，重试写入             |
| 变量未替换      | SKILL.md 含 `{skill-name}` 等占位符 | 运行 `SearchReplace` 替换所有占位符为实际值                      |
| 内容超过 500 行 | SKILL.md 行数 > 500                 | 将详细内容移到 `references/` 目录，核心内容保留精简版            |

---

## 优化模式

**触发**：用户要优化现有 Skill 或指出 Skill 有问题

### 执行步骤

| 步骤 | 执行动作       | 具体命令                                                   |
| ---- | -------------- | ---------------------------------------------------------- |
| 1    | 读取目标 Skill | 运行 `Read` 工具读取 `{skill-path}/SKILL.md`               |
| 2    | 逐项检查       | 对照【核心法则检查表】和【文档规范检查表】逐项标记 ✅/❌   |
| 3    | 统计问题       | 统计 ❌ 项数量，按优先级排序（核心法则优先）               |
| 4    | 执行修复       | 运行 `SearchReplace` 或 `Write` 修复问题，参考【正反对照】 |
| 5    | 输出报告       | 按【优化报告模板】输出结果                                 |

### 文档规范检查表

| 检查项      | 符合标准                              | 当前状态 | 修复命令                        |
| ----------- | ------------------------------------- | -------- | ------------------------------- |
| description | 包含"何时使用：当用户说/需要/遇到..." | ⬜       | `SearchReplace` 添加触发条件    |
| 指令语气    | 使用祈使句（运行/检查/调用/执行）     | ⬜       | `SearchReplace` "你可以"→"运行" |
| 决策逻辑    | 复杂任务使用表格展示条件分支          | ⬜       | 将长段落改为条件表格            |
| 输出格式    | 明确说明执行后输出什么、如何展示      | ⬜       | 添加输出示例代码块              |
| 错误处理    | 包含错误场景和处理方式表格            | ⬜       | 添加错误处理表格                |
| 文件引用    | 使用 Markdown 链接格式 `[名](路径)`   | ⬜       | `SearchReplace` 改为可点击链接  |
| 渐进披露    | 核心指令 < 500 行                     | ⬜       | 将详细内容移到 `references/`    |
| 触发映射    | 顶部有"用户说 → AI 做"映射表          | ⬜       | 添加触发映射区块                |

### 正反对照（快速修复参考）

| ❌ 错误示例          | ✅ 正确示例                   | 修复操作                     |
| -------------------- | ----------------------------- | ---------------------------- |
| "你可以运行..."      | "运行..."                     | `SearchReplace` 删除"你可以" |
| "建议检查..."        | "检查..."                     | `SearchReplace` 删除"建议"   |
| "如果需要可以..."    | "如果 X 则执行 Y"             | 改为条件表格                 |
| "请参考文档了解详情" | "参考 [文件名](路径) 执行..." | `SearchReplace` 添加链接     |
| 长段落描述           | 表格/列表 + 具体命令          | 重构为表格格式               |
| "确保 xxx"           | "运行 `命令` 检查 xxx"        | 添加具体检查命令             |

### 错误处理

| 错误场景         | 错误表现               | 处理方式                                                            |
| ---------------- | ---------------------- | ------------------------------------------------------------------- |
| 文件不存在       | `Read` 报错文件不存在  | 检查路径是否正确，如 skill-name 拼写错误，询问用户正确名称          |
| 无问题可优化     | 所有检查项都是 ✅      | 输出"该 Skill 已符合所有法则，无需优化"，按【评估模式】输出评估报告 |
| 修复后引入新问题 | 修复 A 问题导致 B 问题 | 回滚更改，分步修复，每步修复后重新检查                              |
| 用户不认可修复   | 用户说"不要改这个"     | 记录用户反馈，跳过该项，继续优化其他项                              |

### 优化报告模板

```
## 优化报告：{skill-name}

**评分**：{通过数}/13 项符合（核心法则 5 项 + 文档规范 8 项）

### 主要问题

1. {问题描述}
   - 修复操作：{具体操作}
   - 使用工具：{Read/SearchReplace/Write}

2. {问题描述}
   - 修复操作：{具体操作}
   - 使用工具：{Read/SearchReplace/Write}

### 已修复

- {修复内容}
- {修复内容}

### 后续建议

- {建议内容}
```

---

## 评估模式

**触发**：用户问 skill 设计得怎么样或要求评估 Skill 质量

### 执行步骤

| 步骤 | 执行动作       | 具体命令                                     |
| ---- | -------------- | -------------------------------------------- |
| 1    | 读取目标 Skill | 运行 `Read` 工具读取 `{skill-path}/SKILL.md` |
| 2    | 核心法则评估   | 检查是否符合【核心法则检查表】5 条法则       |
| 3    | 文档规范评估   | 检查是否符合【文档规范检查表】8 项规范       |
| 4    | 计算评分       | 统计符合项数，确定等级                       |
| 5    | 输出评估       | 按【评估报告模板】输出结果                   |

### 评估标准

| 等级      | 分数     | 说明                            |
| --------- | -------- | ------------------------------- |
| 🏆 完美   | 13/13    | 完全符合 Skill Laws，可直接使用 |
| ✅ 优秀   | 11-12/13 | 基本符合，少量细节可优化        |
| ⚠️ 良好   | 8-10/13  | 有明显改进空间                  |
| ❌ 需优化 | < 8/13   | 需要大幅重构                    |

### 错误处理

| 错误场景      | 错误表现                           | 处理方式                                                  |
| ------------- | ---------------------------------- | --------------------------------------------------------- |
| 文件不存在    | `Read` 报错文件不存在              | 询问用户正确的 skill 名称或路径                           |
| 非 Skill 文件 | 文件不含 SKILL.md 结构             | 输出"该文件不是 Skill，无法评估"，说明 Skill 文件结构要求 |
| 评分边界      | 得分恰好在边界（如 10 分或 12 分） | 向下取整，按较低等级评定，鼓励继续优化                    |

### 评估报告模板

```
## Skill 质量评估：{skill-name}

### 总体评分

**符合度**：{X}/13 项 ✅

**等级**：{🏆/✅/⚠️/❌}

### 核心问题（如等级不为 🏆）

- {问题描述} → {改进建议}
- {问题描述} → {改进建议}

### 建议操作

- 如等级为 ❌ 需优化：按【优化模式】执行全面优化
- 如等级为 ⚠️ 良好：针对核心问题逐一修复
- 如等级为 ✅ 优秀：微调细节即可达到 🏆 完美
```
