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 模板
---
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 项 ✅
**等级**:{🏆/✅/⚠️/❌}
### 核心问题(如等级不为 🏆)
- {问题描述} → {改进建议}
- {问题描述} → {改进建议}
### 建议操作
- 如等级为 ❌ 需优化:按【优化模式】执行全面优化
- 如等级为 ⚠️ 良好:针对核心问题逐一修复
- 如等级为 ✅ 优秀:微调细节即可达到 🏆 完美