mattpocock/skills · 11 Jun 2026 · Feature

The Anti-Vibe Coding Manifesto Hiding in Plain Sight

Matt Pocock's open-source skills repo treats AI agents as junior developers who need discipline, not prompts that need polishing.

The Hype Moment: A Newsletter Army Meets Engineering Orthodoxy

Matt Pocock built a following of roughly 60,000 developers through Total TypeScript and AI Hero, then channeled that attention into something deliberately unglamorous: a collection of markdown files that tell Claude Code and its competitors to stop guessing and start asking questions. The repository mattpocock/skills accumulated its audience not through algorithmic virality but through a sustained argument that the current generation of coding agents fails in predictable, ancient ways—and that the fixes are equally ancient, borrowed from The Pragmatic Programmer and Domain-Driven Design rather than the latest prompt-engineering handbook.

mattpocock/skills

The timing matters. The spring of 2025 saw a proliferation of “agent frameworks”—GSD, BMAD, Spec-Kit—that promised to own the entire development process. Pocock’s README positions his work as a direct counter: these approaches “take away your control and make bugs in the process hard to resolve.” His alternative is composable, model-agnostic, and explicitly designed for “real engineering — not vibe coding.” The phrase lands with the force of a generational insult in a community increasingly anxious that AI-assisted development is producing disposable code at disposable quality.

What “Skills” Actually Means Here

The terminology overlaps confusingly with broader industry usage, so clarification is necessary. Anthropic’s Claude platform defines skills as “folders of instructions, scripts, and resources that Claude dynamically loads to improve performance on specialized tasks”—distinct from Projects (static background knowledge) and MCP (external service connectors). Pocock’s repository operates within this technical framework while expanding its philosophical scope dramatically.

The implementation relies on progressive disclosure: the agent determines relevance and loads only necessary information, preventing context window overload. This is not prompt engineering in the conventional sense—there is no single mega-prompt to rule them all. Instead, each skill is a structured conversation protocol. The /grill-me skill implements a relentless interview process; /grill-with-docs extends this to build shared domain language and architecture decision records. The /caveman skill compresses communication to cut token usage by roughly 75 percent while preserving technical accuracy.

What distinguishes this from the broader skills discourse—where Lightcast defines skills broadly as “abilities, knowledge, and expertise required to carry out tasks” and LinkedIn Learning tracks demand for JavaScript, Python, and cloud computing—is the procedural specificity. Pocock is not cataloging competencies. He is encoding workflows.

The Four Failure Modes and Their Classical Cures

The README organizes its argument around four failure modes that will be immediately recognizable to anyone who has watched an agent generate 400 lines of plausible-sounding nonsense.

Misalignment receives the most attention. Pocock quotes David Thomas and Andrew Hunt’s observation that “no-one knows exactly what they want,” then builds an entire skill around the grilling session—a structured interrogation where the agent asks detailed questions before writing code. The /grill-with-docs variant adds domain language construction, producing a CONTEXT.md file that serves as a persistent shared vocabulary. The example provided is telling: “There’s a problem when a lesson inside a section of a course is made ‘real’” becomes “There’s a problem with the materialization cascade.” This concision, Pocock argues, pays off session after session in reduced token consumption, consistent naming, and easier codebase navigation.

Verbosity is treated as a language barrier problem. The agent does not know your project’s jargon, so it expends tokens guessing. The fix is explicit shared language construction—what Eric Evans called “ubiquitous language” in Domain-Driven Design, now repurposed for human-machine collaboration.

Non-working code is addressed through feedback loops: static types, browser access, automated tests. The /tdd skill enforces red-green-refactor discipline, with the agent writing failing tests first. The /diagnose skill wraps a structured loop: reproduce, minimise, hypothesise, instrument, fix, regression-test. These are not novel debugging techniques. They are novel in being enforced procedurally on an entity that otherwise skips steps when under pressure to produce.

Architectural entropy—“We Built A Ball Of Mud”—is where Pocock’s argument becomes most pointed. Agents accelerate coding, which accelerates complexity accumulation. The /improve-codebase-architecture skill is designed for periodic rescue operations, informed by the domain language in CONTEXT.md and decisions in docs/adr/. The /zoom-out skill forces broader contextual explanation. The /to-prd skill quizzes the user about module boundaries before document creation.

The Technical Architecture: Small, Composable, Model-Agnostic

The repository’s structure reveals its design philosophy. Engineering skills live in one directory, productivity skills in another, miscellaneous utilities in a third. Each skill is self-contained markdown with optional bundled resources. The setup-matt-pocock-skills skill scaffolds per-repository configuration—issue tracker selection (GitHub, Linear, or local files), triage label vocabulary, domain document layout—that other skills consume.

This modularity matters because it enables adaptation without forking. The /prototype skill offers throwaway implementations for state-machine questions or UI variation exploration. The /handoff skill compacts conversation state for agent transfer. The /write-a-skill skill meta-cycles the process, enabling users to create new skills with proper structure and progressive disclosure.

The distribution mechanism is skills.sh, an installer that slots these capabilities into Claude Code and presumably other compatible agents. The model-agnostic claim is significant: these are not Claude-specific prompt hacks but structured conversation protocols that could theoretically transfer to any agent with sufficient context window and tool-use capability.

Position in the Broader Landscape

Pocock’s work sits at an interesting intersection. The XenonStack blog on optimizing developer workflows emphasizes automation across coding, testing, and deployment—standard DevOps territory. One source on software development workflow optimization recommends hybrid Agile, centralized communication platforms, and CI/CD automation. Pocock’s contribution is to recognize that the agent itself has become part of the workflow, and that this new participant requires the same optimization attention previously reserved for human developers.

The contrast with vibe coding—the practice of prompting an agent until something approximately works—is stark. A Medium article on software engineering workflow tips emphasizes terminal efficiency, IDE shortcuts, and GitHub Copilot for line-by-line autocompletion. Pocock’s skills operate at a higher level of abstraction: not faster typing, but better thinking. The Google Developers video on essential skills for early-career engineers—clean code, quality mindset, tool mastery—could serve as a summary of what Pocock is attempting to encode procedurally.

Limits and Unresolved Tensions

The repository is not without rough edges visible in its own documentation. The setup process requires running /setup-matt-pocock-skills and answering configuration questions—a minor friction that suggests these skills are not yet zero-configuration. The claim that skills work with “any model” is aspirational; the installer is npx skills@latest add mattpocock/skills, and the ecosystem around skills.sh is young enough that model-agnosticism remains theoretical for most users.

More fundamentally, the entire approach assumes a user who already knows what good engineering looks like. The grilling session requires a human who can answer detailed questions about their intent. The architecture improvement skill requires a human who can evaluate whether the agent’s proposed “deepening opportunities” are actually sound. Pocock’s skills are not a replacement for engineering judgment but a prosthetic for its consistent application—which means they amplify both good and bad judgment, depending on who wields them.

The newsletter-driven distribution model—“join ~60,000 other devs”—also creates a particular audience selection effect. These are developers already invested in Pocock’s pedagogical approach, already convinced that TypeScript rigor and explicit domain modeling matter. Whether this translates to adoption in engineering cultures with different foundational assumptions—Python data science teams, embedded systems groups, startup code-and-ship environments—remains an open question.

Outlook: The Agent as Disciplined Collaborator

The most interesting tension in mattpocock/skills is between automation and discipline. The repository does not try to make agents autonomous. It tries to make them predictable collaborators, subject to the same checks and balances that human junior developers face: clarify requirements before coding, test before declaring victory, document decisions before forgetting them, periodically refactor before the codebase becomes unnavigable.

This is, in a sense, a conservative vision of AI-assisted development. It does not promise to eliminate the engineer. It promises to preserve engineering against the entropy that raw agentic speed would otherwise introduce. Whether that conservatism proves prescient or merely nostalgic will depend on whether the next generation of foundation models can internalize these disciplines without procedural scaffolding—or whether the scaffolding itself becomes the enduring contribution, a new layer of infrastructure for human-machine collaboration.

Sources

  1. 120 Essential Skills To List on a Resume | Indeed.com
  2. Top Engineering Skills for Tomorrow's Workforce - LinkedIn Learning
  3. The top 7 software engineering workflow tips I wish I knew earlier
  4. What are Skills? - Lightcast
  5. What skills should I learn to make me a more competitive engineer
  6. The top 7 software engineering workflow tips I wish I knew earlier
  7. What are skills? | Claude Help Center
  8. 3 skills every early-career engineer needs - YouTube
  9. Best Practices for Optimizing Developer Workflows - XenonStack
  10. SKILL | definition in the Cambridge English Dictionary
  11. Top 15 Skills All Engineering Managers Need in 2026
  12. Optimizing Your Software Development Workflow: Understanding ...

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.