writing-great-skills
编写和编辑高质量 skills 的参考指南 — 使 skill 行为可预测的词汇和原则。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
编写和编辑高质量 skills 的参考指南 — 使 skill 行为可预测的词汇和原则。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
询问哪种技能或流程适合你的情况。本仓库技能的导航器。
沿两个轴线审查自某个固定点(commit、分支、tag 或合并基准)以来的变更 — 标准(代码是否遵循此仓库已记录的编码规范?)和规范(代码是否匹配原始 issue/PRD 要求的内容?)。以并行子 agent 运行两项审查,并将结果并排呈现。当用户想要审查分支、PR、进行中的变更,或要求"从 X 开始审查"时使用。
设计深层模块的共享词汇。当用户想要设计或改进模块接口、寻找深化机会、决定缝合点放在哪里、使代码更可测试或更适合 AI 导航,或当其他技能需要深层模块词汇时使用。
针对疑难 bug 和性能回归的诊断循环。当用户说"诊断"/"调试这个",或报告有东西损坏/抛出异常/失败/变慢时使用。
构建和精炼项目的领域模型。当用户想要确定领域术语或通用语言、记录架构决策,或当其他技能需要维护领域模型时使用。
一场无情的面试,用于打磨方案或设计。
| name | writing-great-skills |
| description | 编写和编辑高质量 skills 的参考指南 — 使 skill 行为可预测的词汇和原则。 |
| disable-model-invocation | true |
一个 skill 的存在是为了从随机系统中提取确定性。可预测性 —— 即 agent 每次运行时采取相同的流程,而非产生相同的输出 —— 是根本美德;以下每个杠杆都为此服务。
加粗术语在 GLOSSARY.md 中有定义;可查阅获取完整含义。
两种选择,付出不同的代价:
disable-model-invocation,并编写一个面向模型的 description,包含丰富的触发短语("当用户想要……、提及……时使用")。disable-model-invocation: true;description 变为面向人类的 —— 一句摘要,去掉触发列表。只有当 agent 必须自行触达该 skill,或其他 skill 必须触达它时,才选择模型调用。如果它只需手动触发,则设为用户调用,不付出任何上下文负载。
当用户调用 skills 多到你记不住时,积累的认知负载可以通过一个路由 skill 来解决:一个用户调用的 skill,列出其他 skills 以及何时使用它们。
模型调用的 description 做两件事 —— 说明该 skill 是什么,并列出应触发它的分支。每个词都会增加上下文负载,所以 description 比正文更应该被严格修剪:
一个 skill 由两种内容类型构成 —— 步骤和参考 —— 它们可以自由混合:一个 skill 可以全是步骤、全是参考,或两者兼有。核心决策是使用哪种以及每种在信息层级上的位置,该层级按 agent 对材料需求的紧急程度排序:
SKILL.md 中的有序操作,是最主要的层级:agent 按顺序做什么。每个步骤以一个完成标准结束,即告诉 agent 工作完成的条件。使其可检查(agent 能否区分已完成和未完成?),并在重要时做到穷尽("每个修改过的模型都已覆盖",而非"生成一个变更列表")—— 模糊的标准会引发过早完成。SKILL.md 中的定义、规则或事实,按需查阅。通常是一组合法的扁平同级项(例如一次 review 的所有规则处于同一层级)—— 这是一种合理的安排,不是异味。本 skill 就是纯参考。SKILL.md 中移出到单独文件的参考,通过上下文指针触达,仅在指针被触发时加载。(范围从已披露参考 —— 如 GLOSSARY.md 这样的同级文件,仍属于该 skill 的一部分 —— 到完全的外部参考,存在于 skill 系统之外,任何 skill 都可以指向它。)一个严格的完成标准驱动彻底的实地探查 —— agent 在工作过程中的深入挖掘 —— 无论 skill 是否有步骤,因为"每条规则都已应用"绑定扁平参考,正如"每个步骤都已完成"绑定一个顺序一样。
推得太少则顶层膨胀;推得太多则隐藏了 agent 实际需要的材料。这种张力就是整个决策。
渐进式披露是沿层级向下移动 —— 从 SKILL.md 中移出到链接文件 —— 使顶层保持清晰可读。实现机制:skill 文件夹中一个链接的 .md 文件,以其包含的内容命名(本 skill 将其完整定义披露到 GLOSSARY.md)。有些 skills 以不止一种方式使用,每种不同的使用方式是一个分支 —— 不同次运行走 skill 的不同路径。分支是最清晰的披露测试标准:将每个分支都需要的材料内联,将只有某些分支需要的材料放到指针后面。上下文指针的措辞,而非其目标,决定了 agent 触达该材料的时机和可靠性。
层级决定了一段内容放在多远的位置,而就近原则决定了它旁边放什么:将概念的定义、规则和注意事项放在同一个标题下,而非散落各处,这样读一处就能连带看到其周边内容。
粒度指你分割 skills 的细密程度,每次切割消耗两种负载之一,因此仅在切割值得时才拆分。两种切割方式:
将每个含义保留在单一事实来源中:一个权威位置,这样改变行为只需修改一处。
检查每一行是否具备相关性:它是否仍然影响该 skill 的行为?
然后逐句而非逐行地猎杀无效操作:对每个句子单独执行无效操作测试,当句子未通过时,删除整个句子,而非从中修剪词语。要激进 —— 大多数未通过的文本应该删除,而非重写。
主导词是一个紧凑的概念,已存在于模型的预训练中,agent 在运行该 skill 时用它来思考(例如课程、战争迷雾、示踪子弹)。它在文本中反复出现(尽管不一定 —— 一个强有力的主导词可能只需出现一次),积累出一种分布式定义,通过调用模型已有的先验知识,以最少的 token 锚定整个行为区域。
它两次服务于可预测性。在正文中它锚定执行:每次该词出现时,agent 都会采取相同的行为。在 description 中它锚定调用:当同一个词出现在你的提示语、文档和代码中时,agent 将该共享语言与 skill 关联起来,更可靠地触发它。
寻找机会将 skills 重构为使用主导词。在三处地方展开的三元组(重复),一个用一整句话来暗示一个概念的 description —— 每一处都是恳请收拢为单个 token 的段落。示例如下:
你赢两次:更少的 token,以及 agent 用来锚定其思考的更锐利的钩子。假定每个 skill 都携带着可以被主导词消除的重述 —— 去找到它们。
用这些来诊断用户在使用 skill 时可能遇到的问题。