writing-great-skills
Installation
SKILL.md
Skill 的存在,是为了从随机系统中拧出 determinism。Predictability 是根本美德:agent 每次采取相同的 process,而不是产出相同的 output。下面所有杠杆都服务于它。
粗体术语 在 GLOSSARY.md 中定义;需要完整含义时查那里。
Invocation
两种选择,成本不同:
- Model-invoked skill 保留 description,所以 agent 可以自主触发它,其他 skills 也能触达它(用户仍可手动输入名称)。它会带来 context load:description 每轮都在 context window 中。机制:省略
disable-model-invocation,并写 model-facing description,带丰富触发措辞("Use when the user wants..."、"mentions...")。 - User-invoked skill 把 description 从 agent 触达范围中拿掉:只有用户输入名称时才能调用,其他 skill 也不能调用它。零 context load,但会花 cognitive load:用户 必须记得它存在。机制:设置
disable-model-invocation: true;description变成人类看到的一行摘要,不放触发列表。
只有当 agent 必须自行找到该 skill,或另一个 skill 必须调用它时,才选择 model-invocation。如果它只会被手动触发,就做成 user-invoked,不付 context load。
当 user-invoked skills 多到用户记不住时,用一个 router skill 解决 cognitive load:一个 user-invoked skill,负责命名其他 user-invoked skills 以及何时使用它们。
Writing the description
Model-invoked description 做两件事:说明 skill 是什么,并列出应触发它的 branches。每个词都会增加 context load,所以 description 比正文更需要修剪: