Cheatsheet
写完 SKILL.md 之后,对着这一页过一遍。三分钟,能避开大部分坑。
01
它是整个 Skill 里最重要的 100 个字,也是唯一始终在上下文中的东西。
[做什么,输出什么] + [什么时候用:场景 / 输入特征] + [触发词:用户可能会怎么讲]
| 场景 | ✕ 反例 | ✓ 正例 |
|---|---|---|
| 会议纪要 | 处理会议相关的文本内容 | 将会议录音或逐字稿整理为结构化纪要,输出决议、待办(含责任人与截止时间)与风险项。触发词:会议纪要、整理录音、会议记录 |
| 代码简化 | 提升代码质量 | 重构与简化已有代码,在保持外部行为不变的前提下降低复杂度。当用户要求「简化 / 重构这段代码」或提交 code review 意见后使用 |
| 图片转视频 | 处理图片和视频 | 将一组图片按文件名顺序合成为带交叉淡入淡出转场的 MP4 幻灯片。触发词:图片转视频、照片幻灯片 |
| 知识检索 | 搜索资料 | 在个人知识库中做语义检索,返回带来源链接的摘录。当用户询问「我之前记过…」「知识库里有没有…」时使用 |
02
03
五段式。缺任何一段,都对应一个具体的失败模式。
--- name: my-skill description: 做什么 + 什么时候用 + 触发词 agent_created: true --- # 任务名 ## 目标 一句话说清交付物是什么。 ## 流程 1. 第一步(有明确输入输出) 2. 第二步 3. 若遇到 X,读 references/y.md 后继续 ## 边界与禁忌 - 不要做什么 - 遇到什么情况先停下来问 ## 交付前自查 - [ ] 检查项一 - [ ] 检查项二
@待确认」这类一句话,
能让输出永远完整,不出现半成品。
05
每维度 0–2 分,总分 20。低于 14 分建议重写,不要打补丁。
| 维度 | 0 分 | 1 分 | 2 分 |
|---|---|---|---|
| description | 无触发信息 | 有功能说明 | 功能 + 场景 + 触发词俱全 |
| 正文长度 | > 800 行 | 500–800 行 | < 500 行且无冗余 |
| 流程结构 | 散文 | 有分节没编号 | 编号步骤 + 明确输入输出 |
| 资源分层 | 全塞正文 | 拆了但没指路 | 分层清晰 + 条件句指路 |
| 确定性 | 要求模型现写脚本 | 有脚本不完备 | 确定性操作全部脚本化 |
| 边界约束 | 无 | 只有正面指令 | 正负约束都有,含兜底 |
| 自查机制 | 无 | 有一两句 | 可勾选清单 + 元规则 |
| 可移植性 | 路径写死 | 部分硬编码 | 全相对路径 / 参数化 |
| 命名 | 通用词 | 能看懂但模糊 | 动作-对象,唯一无歧义 |
| 触发精度 | 未测试 | 只测了正向 | 正反向都测过 |
Quick check · 3 分钟版
有一个答「否」,就先修那一处再上线。
06
Q1. Agent 是不是根本连不上需要的外部系统?
├─ 是 → 接 MCP(或先加一个 Tool)
└─ 否 ↓
Q2. Agent 缺的到底是「能力」还是「方法」?
├─ 缺能力(没有这个动作)→ 加 Tool / MCP
└─ 缺方法(有手但不会用)→ 写 Skill
Q3. 任务是否需要独立上下文,与主对话隔离?
├─ 是(长任务 / 会污染上下文 / 可并行)→ SubAgent
└─ 否 ↓
Q4. 这个任务的「标准做法」是否稳定且需要复用?
├─ 是 → 写 Skill
└─ 否(一次性)→ 直接写 Prompt 就行