▶ YouTube Summaries

← All summaries

Grill-with-docs - shared language and ADRs for coding sessions

2026-05-14 Thu ⏱ 15 min mattpocockuk

Matt Pocock introduces /grill-with-docs, the successor to his /grill-me skill for work inside a codebase. It keeps the same relentless interview but adds a domain glossary (context.md, from domain-driven design's ubiquitous language) and architectural decision records. Agreed terms get written down, so later sessions need fewer words and the code follows the same vocabulary. /grill-me stays for non-code use.

Where /grill-me falls short

/grill-me is four sentences that make the LLM interview you until you reach shared understanding, walking down each branch of the design tree. It is hugely popular. In practice, though, the agent kept being verbose about concepts that already had a name, or no name existed and nobody challenged fuzzy wording. Good shared language reached in a session was not documented anywhere, so the codebase and domain had to be re-explained every time.

The demo feature is a new "pitch" entity (video packaging - title, description, framing - decided before the video). The dictated prompt uses jargon such as "standalone video" (a video not attached to a lesson or course) that the agent cannot know without asking.

Ubiquitous language skill

Matt first tried the thinnest documentation layer: a /ubiquitous-language skill. Ubiquitous language (Eric Evans, domain-driven design) is a shared vocabulary used by developers, domain experts and the code itself, so an expert can point at a problem and everyone knows what is meant. He ran it mid-grilling to produce a ubiquitous-language file, then merged the two skills.

/grill-with-docs

It has the same opening text as /grill-me plus extra behavior.

  • It looks for a context.md that documents the shared language of a bounded context. A large monorepo can have a context map with many contexts; a single big repo can use one root context.md.
  • During the session it challenges terms against the glossary, sharpens fuzzy language, discusses concrete scenarios, cross-references with code and updates the glossary as it goes.
  • A pointer to the context docs lives in the local CLAUDE.md.

A tester quote: after four or five sessions the agent picked up the context and aligned with his thoughts before he had put them in words.

ADRs

Some non-obvious decisions are not captured by a glossary, so the skill also writes architectural decision records, simple markdown files in the repo. Create one only when the decision is hard to reverse, would be surprising without context, and is the result of a real trade-off. The skill carries an ADR format the LLM uses.

Demo

The agent first notes that standalone video is already defined (lesson ID is null) and surfaces a tension with the glossary before touching implementation. It asks:

  • Cardinality: does one pitch hold many standalone videos (Matt accepts one-to-many)?
  • Terminology collision: do pitched videos stay "standalone video", with pitch as metadata, or is the term redefined? Matt keeps pitch as metadata, so no separate UI section.
  • Status semantics: idle, scheduled, shipped, with free-form transitions and no automation yet.
  • A pitch may exist with zero videos; delete cascade is restrict (he prefers archiving).

He then has it save the result to context.md, which gains pitch, pitch status, pitched standalone video and unattached standalone video entries. He stops there to avoid bike-shedding, arguing that wording still matters because variable and file names derive from it.

Benefits

  • Concise replies - fewer tokens because terms need no re-description.
  • Concise thinking traces, since the model thinks in the same shared language.
  • Easier-to-navigate code, as plans, speech and code use the same names, so searching for a concept finds it.

These are the benefits of domain-driven design itself, which turn out to work for AI as well as humans.

Is /grill-me dead?

No. /grill-me moved to the productivity area for general use without a codebase (one user used it to surface stories for a eulogy). The rule: with a codebase, including an early-stage one where shared language is still being established, use /grill-with-docs; without one, use /grill-me. Matt updates the skills often and shares changes through his newsletter and the skills repo issues.