Skill Tracer
Skills › Skills For Real Engineers

Skills For Real Engineers

Matt Pocock · 39 skills · MIT · mattpocock/skills

This is Matt Pocock's set of skills for coding agents, built for engineers who want to do "real engineering - not vibe coding". It covers interviewing the user before work starts, writing specs and tickets, test-driven development, debugging, code review and codebase design. It also has productivity skills for handoffs, teaching and writing documents for agents.

Why read it

  • It shows how to split skills into user-invoked ones that run a process and model-invoked ones that hold reusable rules, so a wrapper like grill-with-docs can be one line that calls two other skills.
  • The writing-for-agents skill sets out the author's own rules for writing skills (context pointers, progressive disclosure, completion criteria, leading words), and the other files apply those rules.

How it does it the main ones a model picked out and a program checked, not every technique

Checkable completion criteria on each step

Steps end on a concrete "Done when" condition that the agent can observe, not on a vague sense of being finished. In diagnosing-bugs, the agent may not move on until it has one command that it has already run and that goes red on this bug. In setup-ts-deep-modules, the agent must see a pass, then a fail on a planted deep import, then a pass again. A clear bar keeps the agent from stopping early.

Leading words that pack in behaviour

The author picks short words the model already knows (tight, red, tracer bullet, fog of war, frontier) and reuses them, so one word triggers a whole behaviour without a long explanation. The writing guide says why this works, and other skills such as wayfinder and diagnosing-bugs build on these words.

Interviewing in rounds over a design tree

The grilling skill turns an interview into a method. It asks every question whose prerequisites are already settled in one numbered round, attaches a recommended answer to each, and words each question so that "yes" accepts the recommendation. Facts go to subagents to look up; only decisions go to the user. This keeps the interview quick to answer and stops the agent asking for things it could find itself.

Parallel subagents that keep their contexts apart

code-review runs its Standards review and its Spec review as separate subagents, each starting with a fresh context window. It forbids merging or re-ranking their findings, so a failure on one axis cannot hide behind a pass on the other. implement-spec passes context pointers to subagents instead of copying text into their prompts.

A shared setup skill that others point to

A single setup skill records per-repo settings (the issue tracker, triage labels, where docs live) in docs files. Every other skill assumes those settings exist and, if they are missing, tells the user to run setup. That keeps tracker-specific details out of each individual skill.

A router skill that maps the flows

ask-matt maps how the skills fit together: one main path from idea to shipped code, side routes that join it, and how to choose at each break between phases of work. Before recommending a skill, the agent must read that skill's own file, because the summaries in the router are only for orientation.

A shared vocabulary with banned synonyms

codebase-design defines a fixed set of terms (module, interface, seam, depth) and, under "Avoid", lists the words not to use in their place. Other skills pull in this vocabulary instead of redefining it. software-factory follows the same pattern, so every skill talks about designs in the same words.

Mechanical rules become deterministic checks

retro sorts each mistake before fixing it. A mechanical mistake gets a lint rule, a hook or a CI check. Only a judgement call goes into CODING_STANDARDS.md, which the reviewer agent enforces. The point is to put each fix where it will actually be enforced, not to add more text to steering files.

The skills, in the order they're used 39 skills

The main chainHand-offs, in order
Used along the wayCalled or required by the chain

How they connect

A model read each skill to find these. Top to bottom is the usual order. Select a box to read the skill, or a line to see the text behind it.

hands offcallsrequires

Links to many skills, so not drawn: ask-matt (26)

Many skills link to it, so not drawn: grilling (8), setup-matt-pocock-skills (7)

19 SKILLS
chief-of-staff mentions: writing-for-agentscodebase-design mentions: domain-modelingcodebase-design mentions: improve-codebase-architectureimplement mentions: to-specimplement mentions: to-ticketstdd mentions: code-reviewto-spec mentions: domain-modelingto-spec mentions: prototype (only when a prototype produced a decision-rich snippet)to-tickets mentions: domain-modelingto-tickets mentions: prototype (if a prototype produced a decision-rich snippet)to-tickets mentions: triagewayfinder mentions: triagechief-of-staff calls: implement-spec (for large chunks of work)chief-of-staff calls: retro (for about one in five subagent sessions)chief-of-staff calls: to-spec (for large chunks of work)chief-of-staff calls: to-tickets (for large chunks of work)diagnosing-bugs calls: tdd (only when a correct seam exists)grill-with-docs calls: domain-modelingimplement calls: code-reviewimplement calls: tdd (where possible, at pre-agreed seams)implement-spec calls: code-reviewimplement-spec calls: tddimplement-spec requires: to-specimplement-spec requires: to-ticketsimprove-codebase-architecture calls: codebase-designimprove-codebase-architecture calls: domain-modeling (as decisions crystallize)retro calls: writing-for-agentssetup-ts-deep-modules calls: codebase-designtdd calls: codebase-design (only when the interface shape is itself in question)triage calls: domain-modeling (if the request needs fleshing out)wayfinder calls: domain-modelingwayfinder calls: prototype (only for prototype tickets)wayfinder calls: research (only for research tickets)chief-of-staff: Only youchief-of-staffOnly youcode-review: You or the agentcode-reviewYou or the agentcodebase-design: You or the agentcodebase-designYou or the agentdiagnosing-bugs: You or the agentdiagnosing-bugsYou or the agentdomain-modeling: You or the agentdomain-modelingYou or the agentgrill-with-docs: Only yougrill-with-docsOnly youimplement: Only youimplementOnly youimplement-spec: Only youimplement-specOnly youimprove-codebase-architecture: Only youimprove-codebase-architectureOnly youprototype: You or the agentprototypeYou or the agentresearch: You or the agentresearchYou or the agentretro: Only youretroOnly yousetup-ts-deep-modules: Only yousetup-ts-deep-modulesOnly youtdd: You or the agenttddYou or the agentto-spec: Only youto-specOnly youto-tickets: Only youto-ticketsOnly youtriage: Only youtriageOnly youwayfinder: Only youwayfinderOnly youwriting-for-agents: You or the agentwriting-for-agentsYou or the agent
Linked only to the skills listed above (8) Close

grill-me, handoff, loop-me, pr, teach, to-questionnaire, wait-what, wizard

No calls or hand-offs (6) Close

claude-handoff, git-guardrails-claude-code, migrate-to-shoehorn, scaffold-exercises, setup-pre-commit, software-factory

All skills 39

Every one is a skill.

SKILLSTARTED BYDESCRIPTIONLINKS
ask-mattOnly you
Ask which skill or flow fits your situation. A router over the skills in this repo.
26
chief-of-staffOnly you
Pursue a long-running goal in a single session by co-ordinating subagents.
5
claude-handoffOnly you
Hand the current conversation off to a fresh background agent that picks up the work immediately.
0
code-reviewYou or the agent
Review the changes since a fixed point (commit, branch, tag, or merge-base) along two axes: Standards (does the code follow this repo's documented coding standards?) and Spec (does the code match what the originating issue/spec asked for?). Runs both reviews in parallel sub-agents and reports them side by side. Use when the user wants to review a branch, a PR, work-in-progress changes, or asks to \"review since X\".
1
codebase-designYou or the agent
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.
2
diagnosing-bugsYou or the agent
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.
1
domain-modelingYou or the agent
Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.
0
git-guardrails-claude-codeYou or the agent
Set up Claude Code hooks to block dangerous git commands (push, reset --hard, clean, branch -D, etc.) before they execute. Use when user wants to prevent destructive git operations, add git safety hooks, or block git push/reset in Claude Code.
0
grill-meOnly you
A relentless interview to sharpen a plan or design.
1
grill-with-docsOnly you
A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.
2
grillingYou or the agent
Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.
2
handoffOnly you
Compact the current conversation into a handoff document for another agent to pick up.
0
implementOnly you
Implement a piece of work based on a spec or set of tickets.
4
implement-specOnly you
Implement the result of /to-spec and /to-tickets in code.
5
improve-codebase-architectureOnly you
Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.
3
loop-meOnly you
Grill me about specs for the workflows I want to build, within this workspace.
1
migrate-to-shoehornYou or the agent
Migrate test files from `as` type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace `as` in tests, or needs partial test data.
0
prYou or the agent
Use when writing a PR body.
0
prototypeYou or the agent
Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.
0
researchYou or the agent
Investigate a question against high-trust primary sources and capture the findings as a Markdown file in the repo. Use when the user wants a topic researched, docs or API facts gathered, or reading legwork delegated to a background agent.
0
retroOnly you
Conduct a retrospective on a coding session.
1
scaffold-exercisesYou or the agent
Create exercise directory structures with sections, problems, solutions, and explainers that pass linting. Use when user wants to scaffold exercises, create exercise stubs, or set up a new course section.
0
setup-matt-pocock-skillsOnly you
Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.
7
setup-pre-commitYou or the agent
Set up Husky pre-commit hooks with lint-staged (Prettier), type checking, and tests in the current repo. Use when user wants to add pre-commit hooks, set up Husky, configure lint-staged, or add commit-time formatting/typechecking/testing.
0
setup-ts-deep-modulesOnly you
Wire dependency-cruiser into a TypeScript repo so each package is a deep module, with implementation hidden in subfolders and reachable only through its entry-point files. User-invoked.
1
software-factoryOnly you
Shared language for designing a software factory: the tasks it runs and the services it plugs into.
0
tddYou or the agent
Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.
2
teachOnly you
Teach the user a new skill or concept, within this workspace.
0
to-questionnaireOnly you
Turn a decision you can't fully answer into a questionnaire for someone else to fill in.
1
to-specOnly you
Turn the current conversation into a spec and publish it to the project issue tracker: no interview, just synthesis of what you've already discussed.
3
to-ticketsOnly you
Break a plan, spec, or the current conversation into a set of tracer-bullet tickets, each declaring its blocking edges, published to the configured tracker (edges as text in one file per ticket locally, or native blocking links on a real tracker).
4
triageOnly you
Move issues and external PRs through a state machine of triage roles, categorise, verify, grill if needed, and write agent-ready briefs.
3
wait-whatOnly you
Stop. That last message did not land: re-pitch it.
0
wayfinderOnly you
Plan a huge chunk of work (more than one agent session can hold) as a shared map of decision tickets on your issue tracker, and resolve them one at a time until the way to the destination is clear.
6
wizardYou or the agent
Generate an interactive bash wizard that walks a human through steps only they can perform. Use when provisioning infrastructure, setting up credentials or CI secrets, walking an unfamiliar third-party dashboard, or running a one-off migration or cutover. Don't invoke this for steps the agent can perform itself.
0
writing-beatsOnly you
Writing, exploit; assemble raw material into a journey of beats, grounding each term before a beat leans on it.
2
writing-for-agentsYou or the agent
Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.
0
writing-fragmentsOnly you
Writing, explore: mine raw fragments, no structure yet.
2
writing-shapeOnly you
Writing, exploit: shape raw material into an article, paragraph by paragraph.
2

From mattpocock/skills at 4ae2317, 2026-10-31. Skills read by DeepSeek V4.1 Flash on 2026-11-04. Summary and techniques by Claude Opus 5.5 on 2026-11-06.