帮助用户将现有 Skill 优化得更精准、更高效、token 消耗更少。
用户通常会:
如果用户没有提供 Skill 内容,先请他提供,或读取他指定的路径。
拿到 Skill 后,先做一轮快速诊断,从以下 5 个维度评分(1-5 分)并简要说明问题:
| 维度 | 检查要点 |
|---|---|
| ------ | --------- |
| 结构合理性 | 目录结构是否符合规范?是否需要 references/ scripts/ assets/? |
| SKILL.md 长度 | 是否超过 500 行?有无可以下沉到 references/ 的内容? |
| description 质量 | 是否清晰说明「何时触发」和「做什么」?是否存在欠触发风险? |
| 指令冗余度 | 有无重复、矛盾、过度约束(MUST/NEVER)的指令? |
| 设计模式匹配 | 当前 Skill 适合哪种设计模式?是否可以更好地套用? |
给出一个总结性的「优化建议清单」,让用户确认方向后再动手。
skill-name/
├── SKILL.md # 必须,核心指令(目标 < 500 行)
├── references/ # 可选,延迟加载的参考文档
│ └── checklist.md # 只在需要时读入,节省 token
├── scripts/ # 可选,可复用的脚本
└── assets/ # 可选,模板、图标等
read_file 读取 references/,不需要时不占 token优化动作:把以下内容从 SKILL.md 移出到 references/:
在 SKILL.md 中只保留指向它们的简短指引:
需要详细检查清单时,读取 `references/checklist.md`。
根据 Skill 的用途,选择最合适的模式(可组合):
适合:需要在处理任务时动态加载技术规范/最佳实践的 Skill
特征:按需从 references/ 加载特定知识,减少无关上下文
改造方式:将内嵌的规范文档移至 references/,在 SKILL.md 写明「何时读取哪个文件」
适合:需要产出标准化格式文档/代码的 Skill
特征:依赖 assets/ 中的模板,严格按模板填充
改造方式:把输出格式模板移至 assets/,SKILL.md 只描述「何时用哪个模板」及「如何填充变量」
适合:需要对输入内容进行评审/检查/打分的 Skill
特征:检查标准与执行逻辑分离,按严重等级(error/warning/info)输出
改造方式:把检查项列表移至 references/checklist.md,SKILL.md 只保留分级输出逻辑
适合:需要主动向用户收集信息才能完成任务的 Skill
特征:Agent 主导问答,设置明确的阶段门控,收集完整后再执行
改造方式:定义清晰的问题序列和阶段门控,未获取关键信息前禁止跳步
适合:多步骤、有明确先后顺序的工作流 Skill
特征:每步有明确输出,有用户确认节点,防止跳步
改造方式:将步骤编号化,在关键节点加「展示给用户确认后再继续」的检查点
模式组合示例:
优先解释「为什么」,而非强制命令
❌ 低效写法:
ALWAYS output JSON. NEVER skip validation. MUST include headers.
✅ 高效写法:
输出 JSON 格式,方便下游程序解析。
验证步骤不可跳过,因为跳过会导致静默错误难以排查。
识别并删除冗余指令:
检查指令矛盾:扫描全文,找出逻辑上互相冲突的条目,保留更合理的一条。
description 是触发 Skill 的关键,需要同时做到:
优化后的 description 模板:
[简短描述能力] 。当用户 [场景1] / [场景2] 时使用。
支持:[功能列表] 。
触发关键词:[关键词1]、[关键词2]、[关键词3]。
优化完成后,按如下格式输出:
## 优化报告
### 改动概览
- 移动到 references/:[文件名及原因]
- 删除的冗余指令:[条数及概述]
- 应用的设计模式:[模式名]
- description 变更:[前 → 后]
### 优化后的 SKILL.md
[完整的优化后内容]
### 如需创建的辅助文件
[references/ 或 assets/ 中需要新建的文件及内容]
如果改动较大,先提供改动概览让用户确认,再输出完整的优化后内容。
references/spec-summary.md(按需读取)共 1 个版本