Pocock Skills · Lesson 02 · Methodology
idea → ship: the one path most work travels, and where each skill sits on it.
Lesson 01 gave you four failure modes. This lesson gives you the main flow —
the route that turns an idea into shipped code while defending against all four at once. Pocock keeps
this map in a router skill, ask-matt ("you don't remember every skill, so ask"), and it's
worth internalizing as a single sentence before we break it apart:[askmatt]
grill-with-docs → (maybe prototype) →
to-spec → to-tickets → implement (which drives tdd
internally, then code-review) → commit. Two on-ramps feed onto it
(triage, diagnosing-bugs); a huge foggy effort starts at
wayfinder and merges back in at to-spec.
grill-with-docsStart here when you have a codebase. It's a relentless grilling session — the agent
interviews you — and it's stateful: what it learns lands in CONTEXT.md
(shared language) and ADRs (hard-to-reverse decisions). That single skill attacks failure mode #1
(misalignment) and #2 (verbosity) together. No codebase? Use grill-me — same interview,
but stateless, leaves no paper trail.[askmatt]
If a question needs a runnable answer — a state model, some business logic, a UI you have to
see — you detour through prototype (throwaway code, keep the answer, delete the
demo), bridged in and out by handoff so the fresh prototype session doesn't pollute your
main thread. Otherwise, straight on.
to-spec turns the thread into a spec (PRD), then to-tickets splits it into
tracer-bullet tickets, each declaring its blocking edges. Then
one implement per ticket — clearing context between each.
implement right in the same context window while the
grilling is still fresh in memory.
Either way, implement builds each unit by driving tdd internally — one
red-green slice at a time — then closes out with code-review before it
commits. That's failure mode #3 (broken code) and #4 (ball of mud) handled inside the last step.
to-tickets worth their own memory slot:
tracer-bullet vertical slice — each ticket cuts a narrow but complete path
through every layer (schema → API → UI → tests), demoable on its own, sized to fit one fresh context
window. And the wide refactor exception — a mechanical change whose blast radius breaks
thousands of call sites can't be a vertical slice, so it's sequenced expand → migrate in batches →
contract instead.[totickets]
The flow isn't just an ordering of skills — it comes with a discipline about when to keep or drop the agent's memory:
to-tickets — so grilling, spec, and tickets all build on the same thinking. Each
implement then starts fresh from its ticket. The ceiling is the
smart zone (~120k tokens) where the model still reasons sharply; if you approach it
before to-tickets, handoff and continue in a new thread rather than push on
degraded.[askmatt]
handoff forks (new session, context preserved in a file);
compact continues (same session, earlier turns summarized). Fork to branch off;
compact only at clean phase breaks.
Look at the frontmatter of the orchestrating skills: grill-with-docs,
to-spec, to-tickets, implement all carry
disable-model-invocation: true. They're user-invoked — the human
walks the flow, step by deliberate step. The agent never decides on its own to jump from grilling to
shipping. Only the reusable disciplines underneath (tdd, code-review,
domain-modeling) are model-invoked. This is the thesis from Lesson 01 made concrete: you
keep the wheel. (We'll dig into this user-vs-model split in Lesson 03.)[askmatt]
Recall from memory — don't scroll up.
In the main flow, what does implement drive internally before committing?
implement builds each unit via tdd (red-green slices),
then runs code-review (Standards + Spec) before committing.
The context-hygiene rule says to keep which stretch in one unbroken window?
Steps 1–3 stay together (don't clear until after to-tickets); then
each implement starts fresh from its ticket.
What is a "tracer-bullet vertical slice" as to-tickets defines it?
Vertical = narrow but complete through schema→API→UI→tests, independently
verifiable, one-window-sized. The horizontal slice and the wide-refactor rename are the anti-patterns;
the throwaway program is prototype.
Read ask-matt/SKILL.md
in full — it's the router that is this flow, including the on-ramps (triage,
diagnosing-bugs), the wayfinder merge point, and the vocabulary layer
underneath. Then skim to-tickets
for the vertical-slice and wide-refactor rules in the author's words.[askmatt][totickets]
References
skills/engineering/ask-matt/SKILL.md (the router / flow map).skills/engineering/to-tickets/SKILL.md.