Trigger Description Standards
本文件只检查 frontmatter 中的 name 和 description,不检查发布字段。发布字段见 frontmatter-metadata-policy.md 和 publishing-standards.md。
name
| 检查项 | 状态 | 说明 |
|---|---|---|
| 字段存在 | ✅/❌ | 通用必需字段 |
| 使用小写 kebab-case | ✅/❌ | 如 skill-lint |
| 与目录名一致 | ✅/⚠️ | 迁移期需说明 |
| 不使用展示名 | ✅/⚠️ | 展示名可写正文,name 保持稳定标识 |
description
description 是触发指纹,只写三件事:
| 内容 | 应回答的问题 | 示例 |
|---|---|---|
| 功能 | 这个 Skill 做什么 | “Skill 创建预检、可靠性验收与格式审查工具” |
| 触发 | 何时使用 | “本技能应在用户需要审查 Claude Code Skill 时使用” |
| 不触发 | 何时不用 | “不要用于:代替领域验证器、代码审查” |
检查项
| 检查项 | 状态 | 说明 |
|---|---|---|
| 字段存在 | ✅/❌ | 通用必需字段 |
| 包含触发场景 | ✅/❌ | 说明用户什么需求下使用 |
| 包含负向触发条件 | ✅/⚠️ | 降低误触发 |
| 使用第三人称 | ✅/⚠️ | “本技能应在...”更稳定 |
| 长度不超过 1024 字符 | ✅/❌ | 过长会稀释触发信号 |
| 最好不超过 250 字符 | ✅/ℹ️ | 作为信息密度建议 |
| 无关键词堆砌 | ✅/⚠️ | 避免重复堆叠同义词 |
不应写入 description 的内容
| 内容 | 原因 |
|---|---|
| 输出目录、归档策略 | 属于执行细节 |
| 默认开关、内部状态 | 属于配置说明 |
| 具体步骤清单 | 属于 SKILL.md 正文 |
| 产物结构和副作用 | 属于输出规范 |
| 个人作者、主页、许可证 | 属于发布字段 |
出现这些内容时,一般标为警告;如果导致触发边界完全不清,标为严重问题。
设计理念(为什么这样要求)
description 不是简介,是模型决定"要不要加载这个 Skill"的唯一依据。触发类建议在报告里要带一句话理念,可直接引用以下表述。
描述即触发器:面对上百个候选 Skill,模型主要靠 description 判断选不选你。它必须同时回答"做什么 + 何时用",并嵌入用户真实会说出的措辞和涉及的文件类型,否则该触发的任务触不到。对应"包含触发场景""功能/触发/不触发三件事"。
- 报告话术:「description 只写了泛化功能词,缺少用户真实触发短语和文件类型,导致相关任务可能不触发。补齐"做什么 + 何时用 + 用户会怎么说"。」
负向边界防误触发:过宽的触发面会让 Skill 在无关任务上被错误加载,白白吞掉上下文、稀释对当前任务的聚焦。显式写"不要用于 X(改用 Y)"是在主动收窄触发面。对应"包含负向触发条件"。
- 报告话术:「description 没有负向边界,与相邻 Skill 触发面重叠。补一句"不要用于 ……(改用 ……)",本质是保护每条会话稀缺的注意力预算。」