news 2026/9/15 9:35:42

writing-great-skills - SKILL

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
writing-great-skills - SKILL

name: writing-great-skills
description: Reference for writing and editing skills well — the vocabulary and principles that make a skill predictable.
disable-model-invocation: true
category: “skill-authoring”
risk: “safe”
source: “community”
source_repo: “mattpocock/skills”
source_type: “community”
date_added: “2026-06-19”
author: “Matt Pocock”
license: “MIT”
license_source: “https://github.com/mattpocock/skills/blob/main/LICENSE”
tags:

  • skill-authoring
  • workflow
  • coding-agents
    tools:
  • claude-code
  • codex-cli
  • cursor

何时使用

当用户请求与此工作流匹配时使用:编写和编辑技能的良好参考——让技能可预测的词汇和原则。

_来源:mattpocock/skills(MIT)。_技能的存在是为了从随机系统中获取确定性。可预测性——代理每次运行采取相同的过程,而不是产生相同的输出——是根本美德;下面的每个杠杆都服务于它。

加粗术语GLOSSARY.md中定义;在那里查找它们的完整含义。

调用

两个选择,付出不同的成本:

  • 模型调用技能保留描述,因此代理可以自主触发它并且其他技能可以触达它(你也可以输入它的名字)。它贡献上下文负载——描述每轮对话都在窗口里。机制:省略disable-model-invocation,并编写面向模型的描述,带丰富的触发措辞(“当用户想要……、提到……时使用”)。
  • 用户调用技能把描述从代理的触达范围中剥离:只有你输入它的名字才能调用它——也没有其他技能可以。零上下文负载,但它花费认知负载是必须记住它存在的索引。机制:设置disable-model-invocation: truedescription变成面向人类的——一行摘要,触发列表剥离。

只有代理必须自行触达技能,或另一个技能必须触达它时,才选择模型调用。如果它只靠手动触发,就做成用户调用的,不付上下文负载。

当用户调用技能多到你记不住时,堆积的认知负载由路由器技能治愈:一个点名其他技能及各自使用时机的用户调用技能。

撰写描述

模型调用的描述做两件事——说明技能是什么,并列出应该触发它的分支。每个词都会增加上下文负载,所以描述比正文更需要狠剪:

  • 前置技能的主导词——描述是它做调用工作的地方。
  • 每个分支一个触发器。给单个分支改名的同义词是重复——"使用 TDD 构建功能……要求测试先行开发"是一个分支写了两遍。合并它们;只保留真正不同的分支。
  • **剪掉正文已有的身份。**把描述限于触发器,外加任何"当其他技能需要……"的触达条款。

信息层级

技能由两种内容类型构建——步骤参考——它们自由混合:技能可以全是步骤、全是参考,或两者兼有。核心决策是用哪种以及每种在信息层级上的位置,这是一个按代理需要材料的即时程度排序的梯子:

  1. 技能内步骤——SKILL.md中的有序动作,主要层级:代理做什么,按顺序。每个步骤结束于一个完成标准,即告诉代理工作已完成的条件。让它可检查(代理能区分完成与未完成吗?)并在重要处穷尽(“每个修改过的模型都说明”,而不是"生成变更列表")——模糊的标准招致过早完成
  2. 技能内参考——SKILL.md中的定义、规则或事实,按需查阅。通常是一个合法的扁平同级集(一次审查的每条规则在同一梯级上)——合理的安排,不是问题。本技能全是参考。
  3. 外部参考—— 从SKILL.md推到单独文件中的参考,通过上下文指针触达,仅在指针触发时加载。(涵盖已公开的参考——同级的文件如GLOSSARY.md,仍是技能的一部分——直到完全存在于技能系统之外、任何技能都可指向的外部参考。)

高要求的完成标准驱动彻底的深耕度——代理在工作中所做的挖掘——无论技能有没有步骤,因为"每条规则都应用"约束扁平参考,正如"每个步骤都完成"约束序列。

往下推得太少,顶部膨胀;推得太多,你隐藏了代理实际需要的材料。这种张力就是全部决策。

渐进式公开是向下移动梯子——移出SKILL.md进入链接文件——以保持顶部可读。机制:技能文件夹中一个链接的.md文件,按它所容纳的内容命名(本技能把完整定义公开到GLOSSARY.md)。有些技能不止一种使用方式,每种独特方式是一个分支——不同的运行走不同的路径。分支是最干净的公开检验:内联每个分支都需要的内容,只把部分分支触达的内容推到指针之后。上下文指针措辞,而非它的目标,决定代理何时以及多可靠地触达材料。

梯子决定一块内容往下多深共置决定一旦到了那里什么与它并排:把概念的定义、规则和注意事项放在同一个标题下而不是分散,这样读一部分就带来它的相邻部分。

何时拆分

粒度是你划分技能的精细程度,每次切割花费两种负载之一,所以只有在切割值得时才拆分。两个切口:

  • 按调用—— 当你有一个应自行触发它的独特主导词,或另一个技能必须触达它时,拆分出一个模型调用技能。你为新的始终加载的描述上下文负载,所以那种独立触达必须值得。
  • 按序列—— 当尚在前面的步骤(一个步骤的完成后续步骤)引诱代理仓促完成眼前这一步(过早完成)时,拆分一段步骤。让它们保持在视线之外,鼓励代理在当前任务上做更多深耕度

修剪

让每个含义保持单一事实来源:一个权威位置,这样改变行为就是一处编辑。

逐行检查相关性:它是否仍然与技能所做的事情相关?

然后逐句而不是逐行猎杀空操作:对每个句子单独运行空操作检验,当一个失败时删除整个句子,而不是从它身上删词。要激进——大多数检验失败的散文应该删除,而不是重写。

主导词

主导词是一个已存在于模型预训练中的紧凑概念,代理在运行技能时用它思考(例如lessonfog of wartracer bullets)。在整个文本中重复(虽然不必然——一个强主导词可能只需要一次),它通过征集模型已持有的先验,用最少的 token 累积一个分布式定义并锚定一整片行为。

它两次服务于可预测性。在正文中它锚定执行:每次词出现时代理都达到相同的行为。在描述中它锚定调用:当同一个词存在于你的提示词、文档和代码中时,代理把这种共享语言与技能关联起来并更可靠地触发它。

猎取把技能重构为使用主导词的机会。在三个位置展开写出的三元组(重复),花一个句子暗示一个想法的描述——每一个都是渴望坍缩成单个 token 的段落。示例包括:

  • “fast, deterministic, low-overhead” ->tight— 一个跨阶段重申的品质——坍缩成一个预训练的词(一个tight循环)。
  • “a loop you believe in” ->red— 把模糊的关卡转换为二元的可观察状态(循环在 bug 上变red,或者不变)。

你赢两次:更少的 token,一个更锐利的钩子供代理挂它的思考。假设每个技能都携带着主导词可以退役的重述——去找它们。

失败模式

用这些来诊断用户可能遇到的技能问题。

  • 过早完成—— 在真正完成之前结束步骤,注意力滑向已完成。防御,按顺序:先磨尖完成标准(便宜、局部);只有它不可约地模糊并且你观察到仓促时,才通过拆分隐藏完成后续步骤(序列切割)。
  • 重复—— 同一含义在不止一个地方。带来维护和 token 成本,并把含义在梯子上的显眼度抬过真实位次。
  • 沉积—— 因为添加感觉安全而删除感觉冒险而沉淀的陈旧层。任何没有修剪纪律的技能的默认命运。
  • 蔓延—— 技能就是太长,即使每行都活跃且唯一。损害可读性和可维护性并浪费 token。解药是梯子:把参考公开到指针之后,并按分支或序列拆分,让每条路径只携带它需要的。
  • 空操作—— 模型默认就已服从的行,所以你付负载说了一堆空话。检验标准:它相对默认改变行为吗?一个弱主导词(当代理已经比较彻底时要彻底)是空操作;修复是更强的词(不懈),而不是不同的技术。

局限性

  • 当工作流指明上游工具、账户、API 密钥或本地设置时,需要它们。
  • 未经用户明确批准,不授权破坏性、生产、付费或外部消息操作。
  • 在把生成的工件或建议视为最终结果之前,对照用户的真实来源进行验证。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/15 9:35:21

新能源接入下电力市场主辅联合出清与SCUC建模实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/15 9:35:15

水体模拟数据解包实战:UnpackWaterData节点原理与参数详解

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/15 9:32:29

COMSOL弱形式求解三维光子晶体能带:从原理到实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/15 9:32:17

HTTP协议实战:从数据包解析到Postman深度构造

1. 这不是“笔记”,是HTTP协议实战的底层切片你点开这个标题——“Day 10 2023小迪安全学习笔记--HTTP 数据包&Postman 构造&请求方法&请求头修改&状态码判断”——第一反应可能是:又一份打卡式学习记录?别急,我带…

作者头像 李华
网站建设 2026/9/15 9:32:02

1.OrCAD X Presto介绍 I Presto入门系列

大家好。在PCB设计领域,Cadence Allegro家族迎来了全新的交互界面——OrCAD X Presto。它并非一款全新的软件,而是在经典的OrCAD PCB Editor引擎基础上,重新设计了用户交互方式,旨在让布局布线工作更高效、更直观。它移除了大量繁…

作者头像 李华
网站建设 2026/9/15 9:30:22

零基础也能玩!Hermes 一键部署包:下载、解压、启动,5 分钟跑通

🔍前言 不少想要体验 Hermes Agent 办公能力的用户,往往会被复杂的本地环境配置拦住脚步。手动下载匹配依赖、反复调整系统目录、处理命令行持续报错、修复权限异常、补全丢失的核心文件……这一系列操作对普通用户而言门槛较高,很难快速体验…

作者头像 李华