Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/VoidTechnology/voidtech-claude-pluginsnpx agentmods add skills/voidtechnology/voidtech-claude-plugins/write-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/voidtechnology/voidtech-claude-plugins/write-skills)<a href="https://agentmods.dev/skills/voidtechnology/voidtech-claude-plugins/write-skills"><img src="https://agentmods.dev/badge/skills/voidtechnology/voidtech-claude-plugins/write-skills/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/voidtechnology/voidtech-claude-plugins/write-skills"><img src="https://agentmods.dev/badge/skills/voidtechnology/voidtech-claude-plugins/write-skills.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00028 | $0.01561 |
| Opus 5.5 | $0.00011 | $0.00624 |
| Sonnet 5.5 | $0.00006 | $0.00312 |
| Haiku 4.5 | $0.00003 | $0.00156 |
Grade A, and why
write-skills scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 88 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Vendored from mattpocock/skills · MIT © 2026 Matt Pocock · upstream 6eeb81b · 已汉化并完成 VoidTech 插件内自包含适配。LICENSE 见 ../_vendor-licenses/mattpocock-LICENSE
技能用于约束 agent 的工作方式,让它在不同会话中稳定遵循同一套过程。这里的**可预测性(predictability)**指过程稳定,不要求每次输出完全相同。
加粗术语 在 GLOSSARY.md 中有定义;到那里查阅其完整含义。
调用方式
三种可见性,各自付出不同的代价:
- 双向可调用(默认):用户可从
/菜单调用,Claude 也可自动或通过 Skill 工具调用。省略两个控制字段,并写一段面向模型的 description,包含用途与自然触发语句。 - 仅用户调用:设置
disable-model-invocation: true。技能仍保留 description 供菜单展示,但不会进入 Claude 的可发现上下文,其他技能也不能通过 Skill 工具调用它。适合提交、发布或需要用户控制时机的工作流。 - 仅模型调用:设置
user-invocable: false。技能不出现在/菜单中,但 description 仍在 Claude 的上下文里,其他技能可以调用它。适合作为内部编排能力或背景知识。
不要同时设置 disable-model-invocation: true 与 user-invocable: false,那会让技能同时失去用户入口和模型入口。
只有当 Claude 需要自主触发该技能,或其他技能需要调用它时,才允许模型调用。只应手动执行的技能应禁用模型调用,减少上下文开销。
仅用户调用的技能太多时,可以增加一个导航技能,集中列出可用技能及适用场景,降低用户的记忆负担。
撰写 description
允许模型调用时,description 需要说明技能用途及触发场景。它会长期占用上下文,因此应尽量简短。仅用户调用的技能也需要 description,但只需写成清楚的菜单摘要:
- 把最能代表技能用途的关键词放在前面。 description 会直接影响自动触发。
- 每个使用场景只描述一次。 不要用多组同义句重复表达同一种触发条件。
- 不要重复正文中的概述。 description 只保留用途、触发场景,以及何时供其他技能调用。
信息层级
技能内容分为执行步骤与参考材料。按 agent 使用材料的频率和时机分层:
- 正文中的步骤:放在
SKILL.md,明确做什么、按什么顺序做。每一步都应有可验证的完成条件。 - 正文中的参考材料:所有执行路径都需要的定义、规则或事实,可以直接放在
SKILL.md。 - 独立参考文件:只有部分场景需要的详细材料放到单独文件,并在
SKILL.md中说明何时读取。
完成条件应同时做到可验证和覆盖充分。例如,“列出改动”不如“逐项说明每个改动模块及其验证结果”明确。
参考材料留得太多,正文会难以阅读;拆得太散,又会让必要信息不易发现。判断标准是:每次执行都需要的内容留在正文,只有部分场景需要的内容放到独立文件。
这种按需读取方式称为渐进披露。独立文件应按内容命名,并在 SKILL.md 中写清读取条件。所有使用场景都需要的内容保留在正文;只有特定场景需要的内容才拆出去。
相关内容应放在一起:同一概念的定义、规则和注意事项放在同一标题下,不要散落在文件各处。
何时拆分
粒度(granularity) 指一个技能拆分得多细。拆得越细,模型上下文或用户记忆的成本越高,因此只在职责或执行阶段确实不同的时候拆分:
- 按触发条件拆:两个能力的使用场景明显不同,或其他技能需要单独调用其中一个能力。
- 按执行阶段拆:后续步骤会分散 agent 对当前步骤的注意力,导致当前工作尚未完成就继续向后执行。
精简内容
每项规则只保留一个权威来源,避免修改时需要同步多处内容。
逐行检查 相关性:它是否仍然关乎这个技能要做的事?
然后逐句检查无效指令:如果删掉一句话后 agent 的行为不会改变,这句话通常应该删除,而不是换一种说法重复保留。
关键词锚点
关键词锚点(leading word) 是一个简短、已有明确含义的概念,用来稳定 agent 的思考方式。例如 “red-green-refactor” 比反复解释测试先行流程更紧凑。
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 88 lines · 28 tokens per session scan A 4cd3264e4634
write-skills is a skill published in the GitHub repository VoidTechnology/voidtech-claude-plugins (2 stars, last pushed 5d ago), licensed Apache-2.0. It adds 28 tokens to every session and 1,561 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
insight-error-page
Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…