mattpocock/skills: The Repository That Turns AI Agents Into Engineers

A system of skills, workflows, and state files that pushes coding agents toward TDD, triage, and rigorous decision-making instead of loose prompt-following.

9 min read View on GitHub More from mattpocock

A wide office scene shows a human engineer across from a mechanical AI interviewer, with a long checklist between them and several vague doors labeled as uncertain requirements. The image explains the repo’s core inversion: the agent must question ambiguity before it writes code.
The first move is not generation. It is interrogation.
Key Takeaways

The sharpest thing about `mattpocock/skills` is not that it helps agents write code. It is that it tries to make them behave like engineers who ask for clarity, follow process, and leave a paper trail. That is a different product category entirely.

Matt Pocock’s own framing is blunt: “Skills for Real Engineers. Straight from my .claude directory.” That line is more than branding. It is the project thesis in miniature: practical, opinionated, and allergic to AI theater.

The smartest part is not the code. It is the questioning.

The repo’s most memorable move is /grill-me. Instead of taking a half-baked request and racing to code, the agent interrogates the problem first. The point is not politeness. The point is reducing ambiguity before it metastasizes into a bad implementation.

After using Matt Pocock's skills, I've come around to the idea that LLM's main utility is to act as the ultimate rubber ducky. The `grill-me` feature is honestly the most useful, not for guiding the follow up writing of code, but to make me write down and explore the idea I have more quickly.

layoric, Developer/Community Member · Hacker News Discussion

That observation explains the repo’s hidden appeal. People do not just want a coding assistant. They want a pressure-tested thought partner that forces them to articulate the problem well enough for the rest of the workflow to make sense.

A repository that behaves like a workflow engine

At the structural level, this is a modular skill library with installation, invocation, and lifecycle management. The important files are not just prompts. They are the scaffolding around prompts: bootstrap scripts, plugin metadata, documentation mirrors, and skill folders that segment behavior by task and discipline.

The repo’s real engine is a loop. It turns a request into a verified action, then writes the result somewhere the next session can recover.

skills/
  engineering/
    triage/
      SKILL.md
    tdd/
      SKILL.md
    wayfinder/
      SKILL.md
  productivity/
    grill-me/
      SKILL.md
setup-matt-pocock-skills/
  SKILL.md
.claude-plugin/
  plugin.json
scripts/
  link-skills.sh

Skills are markdown, but they act like state machines

The cleverness sits in the `SKILL.md` pattern. These files are readable by humans, but they also behave like procedural constraints for the model. In practice, that means the agent is guided through a sequence instead of being left to improvise from a single vague instruction.

needs-triage -> needs-info -> ready-for-agent
Explore -> Present -> Confirm -> Write
red -> green -> refactor

That is why the repo feels more like an operating system than a prompt pack. It does not just tell the model what to do. It defines what counts as a valid next step.

The filesystem is the memory

A close-up workbench shows labeled folders like SKILL.md, CONTEXT.md, and ADR being filed into drawers while a breadcrumb trail leads back to a laptop. The image explains how the repo externalizes memory so later sessions can recover context from disk.
The repo works around statelessness by writing the conversation into files the next session can read.

This is the repo’s most practical idea. LLMs are stateless by default, so `mattpocock/skills` pushes important decisions into the repository itself. The agent does not have to remember everything if the workflow has already written the important bits down.

That shows up in the bootstrapper and in the local docs it creates. A project can be foggy in the moment and still become navigable later, because the state lives in files, not in a temporary context window.

This is not one skill. It is a system of governance

The repository is broad on purpose. `grill-me`, `tdd`, `triage`, `wayfinder`, `codebase-design`, and the rest are not random utilities. They are controls. Each one constrains a different failure mode: unclear requirements, lazy implementation, architectural drift, or poor task decomposition.

Dimensionmattpocock/skillsGeneric prompt libraryAutomation-first toolkit
Primary goalEngineer disciplined agent behaviorProvide reusable promptsExecute tasks with fewer steps
Constraint modelWorkflow stages and state transitionsAd hoc instructionsTool calls and scripts
State persistenceYes, via filesystem artifactsUsually noSometimes, but not central
Engineering disciplineExplicitly optimized for itOptionalSecondary to speed
Assumes the user already knows the answerNo, it asks firstOften yesUsually yes

That distinction matters. A generic prompt library asks, “What can the model do?” This repo asks, “What process should the model be forced to respect?” The second question is much more interesting if you care about code quality over demo velocity.

Skills for Real Engineers. Straight from my .claude directory.

Matt Pocock, Author/Creator · Medium - What 31,500 Developers Starred

Why this beats generic AI setups

The competition is not just other prompt packs. It is broader AI workflow design: personal Claude setups, full-stack harnesses, and catalog-style skill indexes. `mattpocock/skills` stands out because it is opinionated about engineering standards, not just about access to tools.

ProjectBest atWeak spot relative to mattpocock/skills
gstackExecutive-style Claude workflowsLess focused on granular engineering discipline
pi-monoPlatform-agnostic skill harnessesLess centered on Claude Code and on engineering habits
awesome-codex-skillsDiscovery and indexingMore catalog than workflow
andrej-karpathy-skillsInfluential markdown-based agent patternsLess explicit about governed engineering loops

The repo’s niche is narrow but strong. It is trying to create an accountable AI maintainer, not a clever chatbot. That narrower goal is exactly why it feels useful.

The larger bet

The bigger implication is that serious AI tooling will move away from loose prompting and toward encoded process. Models will keep getting better, but the real leap may come from wrapping them in better engineering discipline.

`mattpocock/skills` is a clean example of that shift. It makes AI less magical, more legible, and easier to trust. In a noisy category, that is the difference that lasts.