Tech37 views

Matt Pocock Skills: Making AI Code Like a Real Engineer

Matt Pocock's Skills project is an engineering skill library for AI coding assistants (such as Claude Code). By modularizing the standard processes of software development, it solves the core pain point of unstable AI code generation quality. This project, built with just a few Markdown files, has gained 23,000 stars on GitHub and become an important practice in the AI-assisted development field.

Project Background: The Four Failure Modes of AI Programming

Traditional AI development tools tend to let "one smart Agent handle everything," but Matt Pocock took a completely opposite approach: first identify the patterns where AI actually fails, then design corresponding skills for each failure mode. The project defines four typical failure scenarios:

  1. Agent didn't do what I want (AI didn't understand your intention) - There is a cognitive gap between the developer and AI, causing the output to deviate from expectations.

  2. Agent is way too verbose (Output is too verbose) - AI generates a large amount of useless code or documentation.

  3. The code doesn't work (The code doesn't run) - Lack of test feedback leads to unstable code quality.

  4. We built a ball of mud (Architecture becomes a ball of mud) - After long-term iteration, the codebase loses clear structure.

This design philosophy abandons the optimistic assumption that "AI is smart enough to solve everything" and instead compensates for AI's uncertainty through structured processes.

Core Concept: Process Standardization and Skill Modularization

The value of the Skills project lies in breaking down the experience of "how to use AI for requirements analysis, design, and coding" into reusable skill plugins, allowing AI to follow a fixed, reliable routine rather than relying on luck. Each skill is a complete work script, including metadata in YAML format (name, description, trigger conditions) and specific execution steps.

Composability is another major feature of the project: the output of one skill can serve as input for the next. For example, write-a-prd generates a PRD document in a GitHub issue, and prd-to-issues then breaks down that PRD into an implementation plan. This enables teams to create customized workflows by chaining skills together.

Five Core Skills Form a Complete Work Chain

1. grill-me: Requirements Clarification Phase

This skill, just 11 lines long, makes AI ask questions one by one like an interviewer, ensuring both sides reach a consensus on requirements. Its key features include:

Some developers have shared that they were asked 16 questions when using this skill, and complex features can even go through 30-50 questions in a deep interview. This skill solves the problem of Claude Code tending to generate solutions prematurely, forcing adequate upfront communication.

2. to-prd: Produce Requirements Documents

Generate a formal Product Requirements Document (PRD) based on conversation history, including problem description, solution, user stories, implementation decisions, testing decisions, and things not to do. The document is automatically created and saved as a GitHub issue via the gh command.

3. to-issues: Vertical Slice Decomposition

Break down the PRD into independent executable small tasks, using the vertical slice (tracer-bullet) methodology rather than traditional front-end/back-end or module division. Each slice runs through the complete path from database to interface to testing, and clearly marks whether human intervention is needed. Tasks are sorted by dependency, with subsequent tasks waiting for prerequisites to be completed.

4. tdd: Test-Driven Development

Enforce a strict test-driven development process, not allowing implementation code to be written before failing tests exist. This ensures stable code quality and is suitable for projects that already have a testing culture.

5. improve-codebase-architecture: Architecture Optimization

Based on the domain language in CONTEXT.md and the Architecture Decision Records (ADR) in docs/adr/, find "deepening opportunities" in the codebase. Apply John Ousterhout's "deep module" principle (small interface hiding large implementation) to improve testability and AI navigability. This skill identifies shallow modules, tightly coupled components, and untested boundaries, and proposes refactoring suggestions.

Installation and Usage

The command format for installing a single skill is:

bash
npx skills add mattpocock/skills skill=grill-me -y -g

Skills uses a standardized structure, supports scoped package names (mattpocock/skills) and version tags. Once installed, they can be called by AI assistants that support the skills protocol.

Other Useful Skills

In addition to the core workflow, the project includes several auxiliary skills:

Limitations and Development

The main limitation of the current version is its tight coupling with GitHub: skills involving issue operations all hardcode the gh command. Teams using other project management tools like Linear or Jira need to fork and modify the code, although the official team has indicated that support for other platforms is under development (as of April 2026).

In April 2026, Matt Pocock updated the skill set, replacing /domain-model with /grill-me, integrating Domain-Driven Design (DDD) concepts, and generating documentation and ADRs synchronously during discussions. This shows the project is continuously evolving, gradually integrating more software engineering best practices.

Applicable Scenarios

This skill library is especially suitable for the following developers:

As one developer reflected after deleting most of the bloated skills: Matt Pocock's skill set embodies the minimalist philosophy—small, precise, clearly named primitives, with less surface area yet greater leverage.

Summary

Matt Pocock Skills is not simply about "letting AI generate code arbitrarily," but through requirements clarification, TDD, diagnosis, task decomposition, architecture optimization, etc., it makes AI programming closer to the way real engineers work. What it emphasizes is: engineering development with process, feedback, decomposition, and review, rather than mere "Vibe Coding" based on intuition. This is exactly what the AI-assisted development field needs most right now—not smarter AI, but better workflows.

SHARE

Share

Share this article.