mcpskills.net
技能MCP智能体提示词
mcpskills.net — A curated directory of AI agent Skills and MCP servers
TermsPrivacy
← 返回技能
Productivity

编写优秀的技能

关于如何写好与编辑技能的参考——那些让技能变得可预测的术语与原则。

作者:Matt Pocock仓库 →来源 →

技能(skill)的存在是为了从一个随机系统中"驯服"出确定性。可预测性——代理(agent)每次运行都采取相同的 流程——是根本的美德。

调用

两种选择:

  • 模型调用(model-invoked) 的技能保留了 description,因此代理可以自主触发它。它会贡献于 上下文负载(context load)。
  • 用户调用(user-invoked) 的技能将 description 从代理的可及范围中剥离:只有你,键入它的名字,才能调用它。零上下文负载,但消耗 认知负载(cognitive load)。

只有当代理必须自行触及该技能时,才选择模型调用。

编写 description

一个模型调用的 description 承担两项工作——说明这个技能是什么,并列出应触发它的 分支(branches)。

  • 把技能的引导词(leading word)前置
  • 每个分支只对应一个触发条件。 那些只是为同一个分支换个名字的同义词都是 重复(duplication)。
  • 删除已经存在于正文中的身份描述。

信息层级

一个技能由两种内容类型构成——步骤(steps) 和 参考(reference):

  1. 技能内步骤(In-skill step)——SKILL.md 中一个有序的动作,是首要层级。
  2. 技能内参考(In-skill reference)——SKILL.md 中一条按需查阅的定义、规则或事实。
  3. 外部参考(External reference)——被推出 SKILL.md、放入独立文件中的参考。

何时拆分

粒度(Granularity) 是指你把技能划分得多细:

  • 按调用拆分——当你有一个独特的 引导词 时,拆分出一个 模型调用 的技能。
  • 按序列拆分——当后续仍未完成的步骤会诱使代理草草完成手头那一步时,拆分这一串 步骤。

修剪

让每个含义都保留在 单一事实来源(single source of truth) 中。检查每一行是否 相关(relevance)。然后逐句搜寻 无效操作(no-ops)。

引导词

引导词(leading word) 是一个紧凑的概念,它已经存在于模型的预训练之中,代理在运行该技能时会借助它来思考。

失败模式

  • 过早完成(Premature completion)——在一个步骤真正完成之前就结束它
  • 重复(Duplication)——同一个含义出现在不止一个地方
  • 沉积(Sediment)——因为"添加"感觉更保险而沉淀下来的陈旧层次
  • 蔓延(Sprawl)——技能纯粹太长了
  • 无效操作(No-op)——模型本来就会默认遵守的一行