Mattpocock
by @fradser · plugin · 43 skills
BDD-first engineering skills forked from mattpocock/skills v1.2.3
Install the whole plugin (CLI)
npx skillmds add fradser/qa
npx skillmds add fradser/bdd
npx skillmds add fradser/tdd
npx skillmds add fradser/triage
npx skillmds add fradser/wizard
npx skillmds add fradser/teach
npx skillmds add fradser/to-spec
npx skillmds add fradser/loop-me
npx skillmds add fradser/ask-matt
npx skillmds add fradser/handoff
npx skillmds add fradser/implement
npx skillmds add fradser/prototype
npx skillmds add fradser/wayfinder
npx skillmds add fradser/setup-pre-commit
npx skillmds add fradser/edit-article
npx skillmds add fradser/grill-me
npx skillmds add fradser/grilling
npx skillmds add fradser/to-tickets
npx skillmds add fradser/wait-what
npx skillmds add fradser/code-review
npx skillmds add fradser/scaffold-exercises
npx skillmds add fradser/obsidian-vault
npx skillmds add fradser/migrate-to-shoehorn
npx skillmds add fradser/writing-beats
npx skillmds add fradser/writing-shape
npx skillmds add fradser/batch-grill-me
npx skillmds add fradser/claude-handoff
npx skillmds add fradser/codebase-design
npx skillmds add fradser/diagnosing-bugs
npx skillmds add fradser/domain-modeling
npx skillmds add fradser/grill-with-docs
npx skillmds add fradser/writing-fragments
npx skillmds add fradser/to-questionnaire
npx skillmds add fradser/design-an-interface
npx skillmds add fradser/ubiquitous-language
npx skillmds add fradser/git-guardrails-claude-code
npx skillmds add fradser/writing-for-agents
npx skillmds add fradser/request-refactor-plan
npx skillmds add fradser/setup-ts-deep-modules
npx skillmds add fradser/writing-great-skills
npx skillmds add fradser/setup-matt-pocock-skills
npx skillmds add fradser/resolving-merge-conflicts
npx skillmds add fradser/improve-codebase-architectureSkills in this plugin
- ▌ qa · fradserInteractive QA session where user reports bugs or issues conversationally, and the agent files GitHub issues. Explores the codebase in the background for context and domain language. Use when user wants to report bugs, do QA, file issues conversationally, or mentions "QA session".
- ▌ bdd · fradser bundleBehavior-driven development: Discovery → Formulation → Automation. Use when the user wants to build features or fix bugs via Gherkin scenarios and the BDD lifecycle, or mentions BDD/Gherkin/Executable Specifications. Delegates test implementation to /mattpocock:tdd.
- ▌ tdd · fradser bundleBDD-driven test implementation: red-green loop mechanics, seams, mocking, and test quality under BDD Automation. Use when the user wants to write or improve tests during BDD implementation, needs guidance on test structure, or asks about test seams, mocking, or anti-patterns.
- ▌ triage · fradser bundleMoves issues and external PRs through a state machine of triage roles — categorise, verify, grill, and write agent-ready briefs. Use when the user says "triage this issue" or wants agent-ready issue briefs.
- ▌ wizard · fradser bundleGenerates 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, running a one-off migration or cutover, or the user says "build a wizard" or wants a scripted step-by-step setup. Don't invoke this for steps the agent can perform itself.
- ▌ teach · fradser bundleTeaches the user a new skill or concept within the workspace. Use when the user says "teach me X", wants to learn a topic over sessions, or needs a structured learning plan.
- ▌ to-spec · fradser bundleTurns the current conversation into a spec and publishes it to the project issue tracker, with no interview. Use when the user says "write a spec", "create a PRD", or wants the discussion captured as a spec.
- ▌ loop-me · fradser bundleRuns a stateful grilling session that produces workflow specs for workflows the user wants to build. Use when the user says "loop me" or wants workflow specs drawn out of them.
- ▌ ask-matt · fradser bundleRecommends the skill or flow that fits the user's situation. A router over the skills in this repo. Use when the user asks which skill to use, is unsure what fits, or needs a pointer to the right workflow.
- ▌ handoff · fradser bundleCompacts the current conversation into a handoff document for another agent to pick up. Use when the user says "hand this off" or wants the work continued by a fresh session.
- ▌ implement · fradser bundleImplements a piece of work from a spec or ticket set. Use when the user says "implement this spec", "work the tickets", or wants code written from an existing plan.
- ▌ prototype · fradser bundleBuild 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.
- ▌ wayfinder · fradser bundlePlans a huge chunk of work — more than one agent session can hold — as a shared map of decision tickets on the issue tracker, resolved one at a time. Use when the user has a large ambiguous goal and wants the route charted.
- ▌ setup-pre-commit · fradser bundleSet 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.
- ▌ edit-article · fradserEdit and improve articles by restructuring sections, improving clarity, and tightening prose. Use when user wants to edit, revise, or improve an article draft.
- ▌ grill-me · fradser bundleRuns a relentless interview that sharpens a plan or design. Use when the user wants to be grilled on an idea, pressure-test a plan, or refine a design through questioning.
- ▌ grilling · fradser bundleGrill 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.
- ▌ to-tickets · fradser bundleBreaks a plan, spec, or conversation into tracer-bullet tickets that declare their blocking edges, published to the configured tracker. Use when the user says "break this into tickets" or wants a plan decomposed into vertical slices.
- ▌ wait-what · fradser bundleStop. That last message did not land — re-pitch it. Use when the user says "wait what", "I don't follow", "explain that again", or similar confusion signals.
- ▌ code-review · fradser bundleReview 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/PRD 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".
- ▌ scaffold-exercises · fradser bundleCreate 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.
- ▌ obsidian-vault · fradserSearch, create, and manage notes in the Obsidian vault with wikilinks and index notes. Use when user wants to find, create, or organize notes in Obsidian.
- ▌ migrate-to-shoehorn · fradser bundleMigrate 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.
- ▌ writing-beats · fradser bundleExploit-phase writing — assembles raw material into a journey of beats, grounding each term before a beat leans on it. Use when the user has raw material and wants it turned into an article.
- ▌ writing-shape · fradser bundleExploit-phase writing — shapes raw material into an article paragraph by paragraph. Use when the user has a raw-material pile and wants the final article written.
- ▌ batch-grill-me · fradserRuns a relentless interview that asks every frontier question at once, round by round. Use when the user wants to be grilled on a design or map a design tree.
- ▌ claude-handoff · fradser bundleHands the current conversation to a fresh background agent that picks up the work immediately. Use when the user wants the work continued by a background agent.
- ▌ codebase-design · fradser bundleShared 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.
- ▌ diagnosing-bugs · fradser bundleDiagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.
- ▌ domain-modeling · fradser bundleBuild and sharpen a project's domain model. Use when the user wants to pin down domain terminology or a ubiquitous language, record an architectural decision, or when another skill needs to maintain the domain model.
- ▌ grill-with-docs · fradser bundleRuns a relentless interview that sharpens a plan or design and creates docs (ADRs and glossary) along the way. Use when the user wants to stress-test a plan or design, or produce decision records.
- ▌ writing-fragments · fradser bundleExplore-phase writing — mines raw fragments without committing to structure. Use when the user wants to brainstorm material or gather fragments for a later article.
- ▌ to-questionnaire · fradser bundleTurns a decision the user can't fully answer into a questionnaire for someone else to fill in. Use when the user says "turn this into a questionnaire" or needs knowledge pulled out of an expert.
- ▌ design-an-interface · fradserGenerate multiple radically different interface designs for a module using parallel sub-agents. Use when user wants to design an API, explore interface options, compare module shapes, or mentions "design it twice".
- ▌ ubiquitous-language · fradserExtract a DDD-style ubiquitous language glossary from the current conversation, flagging ambiguities and proposing canonical terms. Saves to UBIQUITOUS_LANGUAGE.md. Use when user wants to define domain terms, build a glossary, harden terminology, create a ubiquitous language, or mentions "domain model" or "DDD".
- ▌ git-guardrails-claude-code · fradser bundleSet 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.
- ▌ writing-for-agents · fradser bundleWriting documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.
- ▌ request-refactor-plan · fradserCreate a detailed refactor plan with tiny commits via user interview, then file it as a GitHub issue. Use when user wants to plan a refactor, create a refactoring RFC, or break a refactor into safe incremental steps.
- ▌ setup-ts-deep-modules · fradser bundleWires dependency-cruiser into a TypeScript repo so each package is a deep module — implementation hidden in subfolders, reachable only through entry-point files. Use when the user wants deep-module enforcement or dependency-cruiser setup.
- ▌ writing-great-skills · fradser bundleReference for writing and editing skills well — the vocabulary and principles that make a skill predictable. Use when the user asks "how should I write a skill" or wants skill-writing best practices.
- ▌ setup-matt-pocock-skills · fradser bundleConfigures a repo for the engineering skills — issue tracker, triage label vocabulary, and domain doc layout. Use once before first use of the other engineering skills, when the user says "set up the skills" or "initialize repo config".
- ▌ resolving-merge-conflicts · fradser bundleUse when you need to resolve an in-progress git merge/rebase conflict.
- ▌ improve-codebase-architecture · fradser bundleScans a codebase for deepening opportunities, presents them as a visual HTML report, then grills through the chosen one. Use when the user wants to improve codebase architecture or find refactoring opportunities.