Skip to content

A Complete AI Coding Workflow with mattpocock/skills

Automate your AI coding workflow from initial design to final review using mattpocock/skills for a structured, test-driven engineering pipeline.

Tuan Tran Van
6 min read
Contents (10 sections)
  1. Step 1 — Install the skills into your agent
  2. Step 2 — Confirm the skills loaded
  3. Step 3 — Configure your repo with /setup-matt-pocock-skills
  4. Step 4 — Lock the plan with /grill-with-docs
  5. Step 5 — Split the work with /to-spec and /to-tickets
  6. Step 6 — Build with /implement and close with /code-review
  7. Daily-use skill reference
  8. Troubleshooting
  9. Next step
  10. References

You will finish with an agent running a complete AI coding workflow built on mattpocock/skills. The pipeline runs from requirements grilling, through a spec and tracer-bullet tickets, to test-driven implementation and a review before every commit. It replaces vibe coding with documentation and verified, test-driven code.

You need a terminal with Claude Code or a Node.js environment installed, a real Git repository to work in, and an issue tracker for the agent to sync work against.

The five stages of the AI coding workflow: grill-with-docs locks the plan, to-spec writes the specification, to-tickets splits the work, implement writes the code, code-review checks it before the commit

Step 1 — Install the skills into your agent

Pick one — skip the other.

A terminal running npx skills add mattpocock/skills, showing the skill picker and the prompt asking how to link the files into your agent

Install as Claude Code plugin

Run the official marketplace command:

bash
claude plugins install mattpocock-skills

This installs the skills as a read-only bundle that stays current with the upstream repository. Choose it when you want the author's updates without managing files yourself.

Install via npx for other agents

For Codex or other agents, use the universal installer:

bash
npx skills@latest add mattpocock/skills

This copies editable files into your repository, so you own the logic and can customize it. Updates only land when you run the update command, which keeps your local changes.

Step 2 — Confirm the skills loaded

Open the /skills menu inside a Claude Code session, or ask directly: "What skills are available?".

The /skills menu in a Claude Code session, filtered by typing matt-p and showing the loaded setup-matt-pocock-skills entry at project scope

The list must include the core commands: /grill-with-docs, /implement, /to-spec, and /setup-matt-pocock-skills. If you installed the plugin and the summary reports Run /reload-plugins to activate., run that command to activate them in the current session. On other agents, npx skills list prints every installed skill.

Step 3 — Configure your repo with /setup-matt-pocock-skills

Run the setup skill from the root of your repository:

bash
/setup-matt-pocock-skills

The setup-matt-pocock-skills skill running, asking you to pick an issue tracker between GitHub, GitLab and local Markdown

The skill identifies your issue tracker, triage labels, and documentation paths. GitHub, GitLab, and local Markdown ship as ready-made templates; other trackers such as Linear or Jira go through the "Other" path, where you describe your workflow and the skill records it. It writes these settings as Markdown files in docs/agents/ (for example issue-tracker.md) and adds an ## Agent skills block to CLAUDE.md or AGENTS.md. Because the other skills read those files at runtime, you never edit skill logic to point at a different tool.

Step 4 — Lock the plan with /grill-with-docs

Begin the engineering cycle by aligning on the requirements for a specific change:

bash
/grill-with-docs

The agent runs a relentless one-question-at-a-time interview to eliminate ambiguity. It writes the project vocabulary straight into CONTEXT.md and records architectural decisions as ADRs in docs/adr/. Keep CONTEXT.md an implementation-free glossary — it is not a place for scratch notes or specs.

A shared vocabulary is what makes later sessions cheap. Once the agent knows what a term means in your codebase, it stops re-deriving it and spends its budget on the logic instead.

Step 5 — Split the work with /to-spec and /to-tickets

Turn the grilling conversation into work items with two sequential commands:

  1. Run /to-spec to turn that conversation into a formal specification published to your tracker.
  2. Run /to-tickets to break that spec into tracer-bullet tickets — vertical slices that carry clear blocking dependencies.

Two ways to split work compared: horizontal slices by layer leave no ticket shippable, while vertical tracer-bullet slices cut from UI down to database, with arrows showing blocking dependencies between tickets

That gives you a backlog the agent executes in isolated sessions, each sized to a single context window, instead of holding one massive plan in active context.

Step 6 — Build with /implement and close with /code-review

Always pass the full reference — owner/repo#42 or the issue URL. A bare #42 gets resolved against whatever numbered list the agent can see in a fresh session, which is how it ends up building the wrong thing. The skill then follows a five-beat loop:

  1. Work out seams: identify the public boundaries where tests will live.
  2. Drive TDD: run the red-green loop through the agreed seams.
  3. Typecheck: run continuous static analysis and single test files.
  4. Test suite: run the full suite once at the end.
  5. Review and commit: run /code-review, then commit to the current branch.

The five-beat loop of the implement skill: work out the seams, drive the TDD red-green cycle, typecheck continuously, run the full suite, then review before the commit

Beat 5 runs the review before the commit — don't reverse it. /implement also never closes tickets or ticks acceptance boxes, so reconcile and close them yourself.

Clear your context between tickets. Each ticket is self-contained, which is exactly what makes the previous one's context disposable.

Daily-use skill reference

SkillPurposeType
/ask-mattRouter: ask which skill fits the situation in front of you.User-invoked
/tddRed-green-refactor loop at the agreed seams.Model-invoked
/diagnosing-bugsDisciplined loop: reproduce → minimize → hypothesize → fix.Model-invoked
/wayfinderPlan work too big for a single agent session.User-invoked
/improve-codebase-architectureScan the codebase for architectural improvements.User-invoked

Troubleshooting

Error textCauseFix
Skill not triggeringThe description lacks the keywords you actually say, or the frontmatter YAML is malformed.Run with --debug to see the parse error. Rephrase to match the description, or invoke /skill-name directly.
Unexpected key(s) in SKILL.md frontmatterA field outside the six allowed ones: name, description, license, compatibility, metadata, allowed-tools.Remove the non-standard fields if you plan to share the skill on claude.ai or through the API.
Skill descriptions are cut shortThe skill listing exceeded its context budget, which defaults to 1% of the model's context window.Raise skillListingBudgetFraction in settings, or set low-priority skills to "name-only" in skillOverrides.

Next step

Pick one fuzzy feature request in the repository you are working in right now and run /grill-with-docs on it. Watch CONTEXT.md change after each answer — that is the fastest way to see what this workflow adds over asking an agent to "build the thing".

References

Share this article