Top AI Skills Top AI Skills
Guides

Explore Then Exploit: Matt Pocock’s Writing Skills (452K)

· 8 min read

Most “AI writing” skills do the same thing: you hand over a topic, prose comes back. mattpocock/skills went the other way with its newest writing family — writing-fragments widens the space of what could be written and refuses to structure anything, then writing-shape takes the pile and commits to an article, one paragraph at a time, arguing with you at every step. Neither skill can be triggered by the model. I read both SKILL.md files in full (5,922 and 3,558 bytes), plus their older sibling writing-beats, and pulled the skills.sh counters on 2026-10-15.

The Model Cannot Trigger Any of These Skills#

All three files in the family carry disable-model-invocation: true. There is no path where an agent decides mid-task that your draft “would benefit from shaping”. You type the skill name or nothing happens. That single flag explains the rest of the design: a skill written for deliberate, human-driven sessions can afford to push back, refuse weak transitions, and stop after every block.

The counters make the family visible. On 2026-10-15, writing-shape read 452.0K installs with weekly [27,639, 31,523, 31,085, 28,154, 26,445, 23,652, 23,334, 29,018]; writing-beats 452.7K with [28,481, 31,545, 31,128, 28,193, 26,428, 23,646, 23,327, 29,010]; writing-fragments 451.5K with [27,645, 31,552, 31,113, 28,171, 26,398, 23,622, 23,194, 28,887]. Three skills, 1.2K apart in total, week-by-week gaps in the low hundreds. That is a family counter, not three independent audiences — worth remembering before reading any install number as popularity for one file.

All three live in the repo’s skills/in-progress/ bucket, which is the honest signal about maturity: shipping, installable, still moving. The family’s writing-for-agents is the odd one out — model-invoked on purpose, because it governs how agent context files get written rather than how an article gets built.

Explore: Fragments Are Noticings, and the Leading Word Carries the Piece#

writing-fragments describes itself as pure explore — “widen the space of what could be written without committing to structure”. Committing is explicitly another skill’s job, and the file spends its opening lines refusing to do it: no phases, no outlines, no article structure.

What counts as a fragment is generous. A sharp sentence with nowhere to go yet. A claim with a one-line justification. A vignette, a code snippet, an analogy. A half-thought — the file’s own example is “something about how X feels like Y, work this out later.” A quote, a complaint, a confession, a punchline. The bar is deliberately lowered from the usual standard: readable by the author, not comprehensible to a cold reader. “Is this a piece of good writing?” rather than “is this a self-contained argument?”

The highest-value fragment gets named. A leading word is a compact metaphor or coinage the whole piece can hang on — the file reaches for tracer bullets and fog of war as examples of one term naming a whole pattern. It’s load-bearing: land the right one during explore and it shapes the structure, the transitions, and the title later. So when a conversation keeps circling an idea, the skill pushes to coin a word for it.

The file format is strict and small. One H1 working title on first write, and nothing else — no metadata, no TOC, no date. No headings inside the body. Fragments separated by ---. No order beyond the order they arrived, which means the file is a diary, not an outline. The novelist’s diary is the stated model: years of unstructured noticings, mined later.

Then the discipline that keeps it honest across a long session: append silently, mention additions in passing, never ask permission per fragment, re-read the file from disk before every write, never overwrite it, and treat “cut the last one”, “rewrite that one sharper”, “merge those two” as first-class instructions. Fragments get captured from the very first thing you say — including the prompt that started the session.

Exploit: Pick One of 2–3 Openings, Then Write One Block at a Time#

writing-shape opens with a hard boundary: the raw material file is read-only to the skill. The pile is fixed, the exploring is done, and the job is to mine it. If you ask writing-shape to go find more material, you’re using the wrong half of the pair.

The loop is where the friction lives.

  1. Read the pile end-to-end first. Everything else waits.
  2. Settle the prerequisites with you: what the reader already knows walking in.
  3. Draft 2–3 candidate openings, each implying a different thesis, and show all of them. You pick one or compose a hybrid. The chosen opening defines what the rest of the article must do — that’s the whole point of forcing the choice before any body text exists.
  4. Grow block by block, asking “given this opening, what does the reader need to hear next?”
  5. Append each agreed block to the article file immediately. Batching is banned; you watch the article take shape.
  6. Loop until the user says it’s done — the user, not a word count.

The step-4 argument is scripted and worth stealing even if you never install the skill. The moves: “What does this paragraph do for the reader that the previous one didn’t?” · “If I cut this, what breaks?” · “Is this prose, or should it be a list? Why prose?” · “This sentence is doing two jobs: split it or pick one.” · “The opening promised X. We’ve drifted to Y. Either re-thread it or change the opening.”

Format choices are argued out loud instead of silently defaulted: prose when the items aren’t truly parallel, a list when they are; callouts only when the aside would genuinely derail the main argument inline; a table once the same shape repeats three or more times with the same fields; quote when the original wording is the point; code blocks for anything multi-line or runnable. Missing material gets named as a gap, not filled in: “We need an example here and the pile doesn’t have one. Give me one now or we cut this section.” Inventing that example is out of scope, on the same list as editing the raw file or bolting on frontmatter nobody asked for.

The Grounding Ledger Is the Actual Mechanism#

Strip the metaphors and both halves run one rule: every concept must be grounded before a block leans on it. The reader either walked in knowing it (a prerequisite, fixed at the start) or met it in an earlier block (introduced, grounded from then on).

Two details make it more than a style note. First, the unit is the concept, not the word: a block can lean on an idea the reader lacks with no jargon in sight, and a concept with a name gets grounded by landing idea and term together. Second, when the next move needs something nobody has grounded, that gap is the answer — ground it first, or you can’t make the move. The skill keeps a running list of what’s grounded and treats a needed-but-ungrounded concept as a blocker, the same way it treats missing source material as a blocker.

The lever it hands you is a tradeoff with no safe default: demand too much up front and you shut readers out; ground too much inside and the opening drowns in definitions. Settle it while choosing prerequisites, and revisit whenever a tempting block turns out to need something ungrounded.

Paragraph-by-Paragraph or Beat-by-Beat?#

writing-beats is the same exploit half with a different unit and a different feel. Choose by which decision you want to make repeatedly:

writing-shapewriting-beats
UnitBlock — paragraph, list, table, callout, quote, codeBeat — one move, one sentence to several paragraphs
Opening step2–3 candidate openings implying different theses2–3 candidate starting beats, each a different entry point
Each round“What does the reader need to hear next?”2–3 candidate next beats, with a preview of what each choice unlocks
GroundingSame ledgerSame ledger, plus “note what new concepts each one grounds”
EndingWhen the user says doneWhen the journey completes — not when the pile empties
ReuseFragments may be split, merged, paraphrasedSame, plus quoted

Two rules in writing-beats are worth importing into any long draft. Beats are sized by what they need — one sentence if the move is one sentence — and if a “beat” needs five paragraphs and three subheadings, it’s two beats glued together. And the ending rule: articles end when the journey is complete, which means leftover fragments are expected. Having more raw material than you need is the design, not a failure.

Where this lands for me: the interesting thing isn’t that a skill helps you write. It’s that both halves are built to refuse — no structure during explore, no new material during exploit, no silent format defaults, no model-initiated invocation. If you’ve been feeding drafts to a model that happily invents examples to fill gaps, that refusal list is the part worth copying into your own prompts.

Next step: install the pair (npx skills add mattpocock/skills --skill writing-fragments, then --skill writing-shape) and run explore on something you’ve been circling for weeks without writing. If you want the broader context on this repo’s habits, the new-skills roundup covers seven more files from the same in-progress bucket.