The /writing-great-skills Skill
This article introduces `/writing-great-skills`, a meta-skill that serves as a reference framework for authoring and editing predictable AI skills. The core idea is the trade-off between **cognitive load** and **context load**: model-invoked skills cost context load but fire automatically, while user-invoked skills cost zero context load but require you to remember their existence. The article provides tools for managing these loads, including leading words (compact anchors for execution), information hierarchy (progressive disclosure), pruning (single source of truth and no-op test), and failure modes (premature completion, duplication, sediment, sprawl). A must-read for system builders writing consistent, maintainable skills for agents.
Quickstart:
npx skills add mattpocock/skills --skill=writing-great-skills
npx skills update writing-great-skills
Source
writing-great-skills is the reference you write and edit skills against — the shared vocabulary and principles that make a skill predictable.
A skill's job is to wrangle determinism out of a stochastic system, so the goal is not the same output every run but the same process. Predictability is the root virtue, and every design choice is judged against it — not against how clever, complete, or exhaustive the skill reads.
快速开始:
npx skills add mattpocock/skills --skill=writing-great-skills
npx skills update writing-great-skills
Source
writing-great-skills 是你编写和编辑技能时所依据的参考——它提供了一套共享的词汇和原则,使技能具有可预测性。
技能的任务是从随机系统中提取确定性,因此目标不是每次运行都得到相同输出,而是遵循相同的过程。可预测性是根本美德,每个设计选择都依据它来判断——而不是依据技能读起来多么巧妙、完整或详尽。
You invoke this by typing /writing-great-skills — the agent won't reach for it on its own.
Reach for it whenever you're authoring a new skill or editing an existing one and want it to behave the same way every time: deciding invocation mode, writing a description, choosing what lives in SKILL.md versus a linked file, or diagnosing why a skill misfires.
你可以通过输入 /writing-great-skills 来调用它——代理不会主动使用它。
每当你编写新技能或编辑现有技能,并希望它每次都表现一致时,就请启用它:决定调用模式、编写描述、选择什么放在 SKILL.md 中 vs 链接文件,或诊断技能为何失灵。
The concept the whole reference turns on is cognitive load — and its counterpart, context load. Every skill spends one or the other:
A model-invoked skill keeps a description in the window every turn, so it costs context load but fires on its own.
A user-invoked skill strips that description; it costs zero context load, but now you are the index that has to remember it exists — that's cognitive load.
Most of these skills are user-invoked, which is why cognitive load is the pressure the whole system is built to manage: when user-invoked skills multiply past what you can hold in your head, the cure is a router skill that names the others and when to reach for each. Once you're thinking in these two loads, most authoring decisions — split or don't, inline or disclose, model- or user-invoked — become the same trade made in different places.
整个参考围绕的概念是认知负荷/cognitive load——及其对应物上下文负荷/context load。每个技能消耗其中一种:
模型调用的技能会在每次轮次中将描述保持在窗口中,因此它消耗上下文负荷,但能自动触发。
用户调用的技能则去掉描述;它消耗零上下文负荷,但此时你就成了索引,必须记住它的存在——这就是认知负荷。
大多数技能是用户调用的,这就是为什么认知负荷是整个系统旨在管理的压力:当用户调用的技能数量多到超出你的记忆范围时,解决的方案是一个路由技能/router skill,它命名其他技能以及何时调用它们。一旦你开始用这两种负荷思考,大多数编写决策——拆或不拆、内联或披露、模型或用户调用——就变成了在不同地方做出的相同权衡。
The rest of the reference is the toolkit for spending those loads well:
Leading words — a compact concept already in the model's pretraining (tight, red, tracer bullet) that the agent thinks with while running the skill. It anchors execution and invocation in the fewest tokens; hunt restatements that a single word can retire.
参考的其余部分是更好地使用这些负荷的工具箱:
引导词/Leading words——一个已存在于模型预训练中的紧凑概念(例如:tight、red、tracer bullet),代理在运行技能时会利用它进行思考。它用最少的token锚定执行和调用;寻找那些可以用单个词替代的重复表述。
Information hierarchy — the ladder from in-skill step, to in-skill reference, to external reference behind a context pointer. Progressive disclosure is the move down that ladder so the top stays legible.
信息层级/Information hierarchy——从技能内步骤、技能内参考、到通过上下文指针指向的外部参考的阶梯。渐进式披露是沿着阶梯向下移动,使得顶层保持清晰可读。
Pruning — single source of truth, relevance, and the no-op test applied sentence by sentence, against sediment and sprawl.
剪枝/Pruning——单一事实源、相关性,以及逐句应用的空操作测试/No-op Test,用于对抗沉积与过度扩张。
Failure modes — premature completion, duplication, sediment, sprawl, no-op — to diagnose a skill that isn't behaving.
失败模式/Failure modes——过早完成、重复、沉积、过度扩张、空操作——用于诊断行为异常的技能。
This is a reach-for-it-anytime standalone reference — the meta-skill you consult while building the rest of the set, not a step in a chain. Its natural neighbour is any router you maintain, because a router is the direct cure for the cognitive load that user-invoked skills pile up; when you're unsure which skill or flow fits a task, ask-matt routes you over the whole set.
这是一个随时可查的独立参考——你在构建其余技能集时咨询的元技能,而非链条中的一个步骤。它的天然邻居是你维护的任何路由,因为路由是用户调用技能累积的认知负荷的直接疗法;当你不确定哪个技能或流程适合某项任务时,ask-matt 会在整个集合中为你路由。