A Formal Language for Writing Agent Instructions: Matt Pocock's Skills v1.2.0

A twelve-minute walkthrough of five new skills and a major infrastructure update for the most-starred agent skills repository on GitHub — now 204K stars, MIT-licensed, and an official Claude Code marketplace plugin. The headliner is the skill nobody would call exciting but everyone should: /writing-for-agents, a formal language for designing documents agents consume, and the first attempt we have seen to encode the craft of instruction-writing as a system rather than a collection of received wisdom.

New Skills! v1.2 brings /wait-what, /writing-for-agents, and fixes /grill-me
📺 Matt Pocock ⏱️ 11:37 📅 5 August 2026 👁️ 9,425
Agent Skills v1.2.0 204K ⭐ MIT Claude Code Codex Writing for Agents

📌 What this release actually ships

ItemWhat it is
AIHero.dev/skillsNew documentation site — skills grouped by workflow stage, with a dictionary and FAQ
Claude Code marketplaceOfficial plugin — claude plugins install mattpocock-skills
Codex openai.yaml sidecarsEvery skill ships a file enforcing allow_implicit_invocation: false for Codex
/wait-what"Say that again, in plain English" — targets Opus 5's verbosity
/grill-meMulti-question rounds with a dependency graph — no more one-at-a-time
/writing-for-agentsA formal language for agent instructions — context pointers, information hierarchy, completion criteria, leading words
/wizardGenerates a deterministic bash wizard for provisioning infrastructure
/to-questionnairePulls grilling decisions into a collaborative document for non-agent collaborators
Every claim about the repository was verified. mattpocock/skills204,742 stars, MIT licence, created 3 February 2026. The tag v1.2.0 was published 5 August 2026 — earlier today. The docs site is live. The Claude Code marketplace listing is real: /plugin search mattpocock. The openai.yaml sidecar files are present in the repository — checked in skills/productivity/grill-me/agents/openai.yaml. The /wizard SKILL.md was confirmed at skills/engineering/wizard/SKILL.md.

📚 The docs, the marketplace, and Codex 0:18

"The skills repo is now, I think, the 24th most starred repo of all time on GitHub, up to 204K stars. And as a mature project, we need some proper documentation."
The documentation is genuinely well-structured, and the design decision worth noting is that skill pages link to a dictionary of terms — "what I think of as a ticket", for instance, with a clear definition — so the docs do double duty as a reference for the skills themselves and as a conceptual introduction to AI coding.
Infrastructure changeWhat it means
Claude Code plugin marketplace/plugin search mattpocock → install → read-only bundle, auto-updated. "No extra steps. Any updates I make will be automatically pulled down."
Codex openai.yaml sidecarsEvery skill ships an openai.yaml with allow_implicit_invocation: false. Without this, Codex treated every skill as model-invokable — the equivalent of a skill description sitting in context at all times, spending tokens every turn.
His frankness about the Codex compatibility issue is useful. "That works for Claude Code, it works for Pi… but it doesn't work for Codex. I didn't quite realize that." The skill format is not yet fully portable across harnesses, and the fix is a sidecar file per skill — a practical answer that also names the problem.

🛑 /wait-what — the Opus emergency brake 2:32

"Opus, especially Opus 5, is talking garbage at the moment… it just goes right over my head. It's incredibly verbose. It uses really weird LLM phrases. And I just find it really, really hard to read."

The skill does two things: references ASD-STE100 (simplified technical English — a controlled language standard used in industry) as a leading word for clear declarative sentences, and grounds responses in the ubiquitous language from the project's context — the domain terms already established in /grill-with-docs.

The second half is the insight. "The real cure for verbosity is not to tell it to use simple language, although we are doing a bit of that — it's to tell it to use your language, the stuff that you have come up with in Grill with Docs."

That is the same mechanism as the "leading words" concept in §4: a shared vocabulary between the human and the agent, where the word recruits the model's pretraining and anchors a behaviour. Apply your own vocabulary rather than begging the model to use fewer words.
"What does that mean?" at 3:03 is his own reaction to a deliberately obtuse passage he shows on screen. It is not a transcription error — he is demonstrating the problem the skill solves by being the one who cannot read the output.

🕸️ /grill-me — the graph beneath the questions 4:02

Previously: one question per turn. The failure mode was the end of a session — you had already resolved the hard things and spent several turns saying "yes, that sounds good" to easy ones. He describes it as "incredibly frustrating and dead slow."

The new design: questions are a graph with dependencies. Some questions require earlier answers before they can be asked. The agent pushes as fast as possible down the "frontier of questions" — the set whose dependencies are already satisfied, asked in rounds.

"There might be one critical question at the very start that needs answering first. It opens up a whole raft of other questions. And so now Grill Me is designed to follow this graph, to ask only the questions that are available now, but to ask them in rounds."
The design is elegant and the rationale is transferable. A dependency graph among grilling questions is exactly the shape that avoids both the one-at-a-time slowness of sequential questioning and the confusion of dumping unrelated questions together.

He adds emoji markers for each question and recommended answers — "I know you probably don't like it, but I love it" — which makes the UI navigable by eye. With dictation, he can answer a whole round at once: "Q1, I agree. Q2, I agree. Q3, we need something to change there."
The allow_implicit_invocation: false comment led to checking the repository — the openai.yaml sidecar for every skill was confirmed present. This is the mechanism that prevents Codex from loading the skill description into context on every turn.

✍️ /writing-for-agents — the formalism 6:27

The video covers this in ninety seconds. The SKILL.md is 81 lines and 10,966 bytes of what is essentially a formal language for designing instructions an agent will read — and it is worth treating as a document rather than as a summary. What follows is its conceptual structure, with verbatim excerpts.

Context pointers

A pointer names some out-of-context material and encodes the condition for reaching it. Its wording, not its target, decides when the agent reaches the material — and how reliably.

"A must-have target behind a weakly worded pointer is a variance bug: sharpen the wording first, and inline the material only if sharpening fails."

The rules:

  • Front-load the leading word — the pointer is where it does its triggering work.
  • One trigger per branch. Synonyms that rename a single branch are one branch written twice.
  • Cut identity the body already carries.

The two loads

Context load — the cost of always-loaded material on the agent's window. Cognitive load — the cost on the human: which documents exist and when to reach for each.

"The human is the index. Not a cost to minimise — it is the price of human agency; spend it where human judgement matters, remove it where it does not."

The information hierarchy

A ladder ranked by how immediately the agent needs the material:

  1. In-file step — the primary tier: what the agent does, in order.
  2. In-file reference — consulted on demand.
  3. Disclosed reference — pushed behind a context pointer, loaded only when the pointer fires.

Progressive disclosure is the move down the ladder — out of the main file and behind a pointer. Co-location is the within-file companion: keep a concept's definition, rules and caveats under one heading so reading one brings its neighbours. Sprawl is the failure mode — a document too long, even when every line is live.

Steps and completion criteria

Every step ends on a completion criterion with two properties:

  • Clarity — can the agent tell done from not-done? A vague bound invites premature completion: ending the step before it is done, attention slipping to being done. The visible steps still ahead supply the pull; the criterion's clarity is the resistance.
  • Demand — how much it requires. "Every modified model accounted for" forces thorough work where "produce a change list" does not.
"The strongest criteria are both checkable and exhaustive."

Leading words

A compact concept already living in the model's pretraining that the agent thinks with while running the document. Repeated as a token, never as a sentence, it anchors a whole region of behaviour.

"It anchors twice. In the body, execution: the agent reaches for the same behaviour every time the word appears. In a pointer, invocation: when the same word lives in your prompts, your docs and your codebase, the agent links that shared language to the material and reaches it more reliably."

His examples are the right kind of concrete: "fast, deterministic, low-overhead" → tight. "a loop you believe in" → red. A fuzzy gate becomes a binary observable state — the loop goes red on the bug, or it does not.

Negation

Steering by prohibition drags the forbidden behaviour into context and makes it more available. The ban half-reads as an instruction to do the thing.

"Prompt the positive — state the target behaviour so the banned one is never spoken."

Pruning

  • Single source of truth. Duplication costs maintenance and inflates a meaning's prominence past its real rank.
  • The environment is a source of truth toopackage.json, config files, directory layout. A document that restates it is a cache: earn its load only when the lookup is expensive. Cache the unwritten convention, the reason behind a choice, the gotcha no config confesses.
  • Check every line for relevance. The default fate without pruning is sediment: stale layers settling because removing feels risky.
  • Hunt no-ops: an instruction the model already obeys by default pays load to say nothing. Test it by running the document.
The companion reference, SKILL-MECHANICS.md, covers frontmatter, invocation choice and router skills — the mechanical layer the video does not touch. It was confirmed at 2,651 bytes in the repository.

The video mentions the skill was rebranded from "writing great skills" to "writing for agents" because he found himself using it for "stuff other than skills… anything that an agent read" — AGENTS.md, CLAUDE.md, any document an agent consumes. The formalism works across both.

🧙 /wizard — deterministic provisioning 7:27

"I probably could have got the agent to go into AWS and provision the stuff with computer use or something. But it just felt pretty icky. I wanted to have control over all of it, but I wanted it to be as easy as possible."

The skill generates an interactive bash script that walks a human through steps only they can perform — opening pages, pasting API keys, changing settings. It is deterministic: "nothing's touching an agent here. It's not sending it off to Anthropic or anything."

The design instinct is worth naming, because it goes against the direction the industry is pushing. The obvious solution to provisioning discomfort is give the agent more access — computer use, admin credentials, direct infrastructure control. This skill does the opposite: it generates a checked-in script the human runs, with no agent in the loop at runtime.

"I just know how long it took me before" is the reason — the agent writes the walkthrough, the human walks it. The agent is a documentation tool here, not a runtime. That is a legitimate category boundary.
Confirmed in the repository at skills/engineering/wizard/SKILL.md. He kept it "in progress for a couple of months" before releasing.

📋 /to-questionnaire — collaboration outside the agent 8:58

Pulls the decisions from a grilling session into a markdown document you can share with someone who does not use agents — a stakeholder, a partner, a client.

"This is a skill that I hope someday to delete, because it's sort of like a patch for the fact that agents are kind of hard to collaborate with at the moment."
The hope-to-delete framing is the honest thing here. He is shipping a bridge between the agent-native workflow and the rest of the world — a Google Doc with decisions written in markdown, commented on, and pulled back into the agent — and naming it as temporary infrastructure. The long-term answer is collaborative agents in shared channels (he mentions Slack and Teams), but the honest intermediate step is a document.
The best line is probably the one he does not state explicitly but the skill embodies: the agent is not the collaborator. The agent is the tool the collaborators use. When one of the collaborators cannot use the tool, the output still has to reach them, and a markdown file is the lowest-common-denominator format that works.

🏦 Reading this from a bank

PropertyImplication in a regulated setting
MIT licence, public repositoryNo licensing barrier. Every skill is an auditable text file
/writing-for-agents is a formal language for instructionsWriting agent instructions to a shared standard is the missing link between "prompt it" and "govern it"
Context pointers and "the two loads"Frames what most teams solve by instinct: some material always hurts, some hurts only when the human forgets it exists
Negation prohibitionNegated instructions in regulated environments ("do NOT disclose") are both common and precisely the failure mode this identifies
Single source of truth and environment-as-sourceCaching config the agent can read directly is the durable answer to stale documentation
/wizard is deterministic, agent-free at runtimeProvisioning without an agent in the loop at execution time removes an entire class of risk
Claude Code plugin is read-only, auto-updatedConvenient for individuals; a review gate between update and deployment is a governance requirement
/to-questionnaire bridges to non-agent collaboratorsPractical answer to the most common blocker in regulated environments: the decision authority cannot use the agent
Skill format not fully portable across harnessesConfirmed by the Codex sidecar fix. A procurement commitment to one harness is larger than it appears
Progressive disclosure and the information hierarchyAn audit trail for why a document is structured as it is. "The agent sometimes misses this" is a different argument from "this section belongs behind a pointer because only some branches reach it"
The transferable point is §4, the formalism, not any particular skill. Anyone writing agent instructions is already doing the things /writing-for-agents describes — context pointers, completion criteria, leading words, pruning. They are doing them instinctively, inconsistently, and without names. Naming the levers is what turns craft into a system, and a system is what lets you teach it, review it and improve it across a team.

🔍 Claims checked

ClaimResult
Repository has 204K stars204,742mattpocock/skills, MIT, created 3 Feb 2026
"24th most starred repo of all time"Not independently verified — noted as his claim
v1.2.0 published today5 August 2026 — confirmed via GitHub API
Docs site at AIHero.dev/skillsLive, with skill groupings, dictionary and FAQ
Claude Code official plugin marketplaceListing confirmed — /plugin search mattpocock
Codex openai.yaml sidecars for every skillConfirmed — checked in skills/productivity/grill-me/agents/openai.yaml
ASD-STE100 as the leading word in /wait-whatStandard exists; not independently confirmed that it is exactly the string used
Grill-me now uses a dependency graph for multi-question roundsDemonstrated on screen with rounds and dependency resolution
/writing-for-agents SKILL.md is 81 linesConfirmed — fetched from skills/productivity/writing-for-agents/SKILL.md, 10,966 bytes
SKILL-MECHANICS.md companion reference existsConfirmed — 2,651 bytes, covering frontmatter and invocation
Skill rebranded from "writing great skills" to "writing for agents"Coherent with the SKILL.md description: "use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md"
/wizard generates deterministic bash scriptsConfirmed — SKILL.md present at skills/engineering/wizard/SKILL.md
/wizard does not use an agent at runtimeHis description: "deterministic script… nothing's touching an agent here"
/to-questionnaire produces a markdown documentDemonstrated; used for a garden-office Wayfinder session
"I hope someday to delete it" (about /to-questionnaire)Honest framing of a bridge skill
AI coding crash course upcomingHis announcement; not verified. Link in description
Method note. YouTube caption routes returned HTTP 403, so the audio was downloaded directly with yt-dlp and transcribed locally with Whisper large-v3-turbo — 236 segments across the full 11:32. It rendered Opus as "Opos", Codex as "cortex" in one instance, Pocock as "Pocock", grill-me as "Grill Me" and ASD-STE100 indistinguishably — all corrected against the repository and the speaker's own on-screen text. Repository claims were verified through the GitHub API and by fetching raw files from main: the v1.2.0 tag, the SKILL.md for /writing-for-agents and its companion SKILL-MECHANICS.md, the openai.yaml sidecar, and the /wizard skill location. The docs site was rendered in a browser. Nothing was installed, no Claude Code plugin was added. Verified 5 August 2026.

💡 Key takeaways

  1. The skill nobody called exciting is the one worth reading. /writing-for-agents is a formal language for designing agent instructions — context pointers, information hierarchy, completion criteria, leading words, negation and pruning — and it is directly applicable to every document on this site.
  2. "Progressive disclosure" is not a token optimisation — it is how the hierarchy is protected. Material that only some branches reach belongs behind a pointer, or it buries the primary steps and makes attending to them a coin flip.
  3. Negation is a failure mode, not a technique. "Don't think of an elephant" — and the elephant is all there is. Prompt the positive target so the banned behaviour is never spoken.
  4. The environment is a source of truth. Don't cache in a document what package.json, the directory layout or --help already says. Cache the unwritten convention, the reason, the gotcha.
  5. Completion criteria have two levers: clarity and demand. "Every modified model accounted for" forces thorough work; "produce a change list" does not. The visible steps ahead supply the pull; the criterion's clarity is the resistance.
  6. Grill Me's dependency graph is a better design than sequential questions, and the mechanism — only ask questions whose dependencies are resolved, in rounds — is the right way to speed up without losing coherence.
  7. /wait-what is the right answer to verbosity: ground responses in the ubiquitous language you already defined, not in abstract pleas for simplicity.
  8. /wizard makes a deliberate choice against the industry direction: deterministic scripts with no agent at runtime. The agent as documentation tool, not as operator — a legitimate category boundary.
  9. /to-questionnaire is a bridge, and the honesty is in the framing: "a skill I hope someday to delete." Agents cannot collaborate with non-agents yet; the bridge is a markdown file.
  10. The vendor landscape is converging. A day after Telnyx published 238 agent skills, the largest independent skills library joins the Claude Code marketplace and ships Codex sidecars. The skill format is becoming the distribution mechanism for both capability and process.

🔗 Resources & links

🕐 Timestamp index

0:00v1.2.0 overview — 204K stars
0:18New documentation site at AIHero.dev/skills
1:12AI coding dictionary
1:18Claude Code plugin marketplace
1:43Codex openai.yaml sidecars
2:32/wait-what — Opus verbosity and ASD-STE100
3:18"Ground itself in the ubiquitous language"
4:02/grill-me — multi-question rounds
5:02Questions as a dependency graph
5:27Grill Me demo with emoji markers and rounds
6:27/writing-for-agents — the formalism
6:48"Writing for anything an agent read"
7:27/wizard — deterministic provisioning
8:08The bash wizard — opening pages, pasting keys
8:30"Nothing's touching an agent here"
8:58/to-questionnaire — collaboration outside the agent
9:48"A skill I hope someday to delete"
10:50AI coding crash course announcement