← Matt Pocock SkillsCONTENT HISTORY

Update to Matt Pocock Skills

Snapshot Oct 9, 2026 · 00:00 UTC · version 1.2.3

WHAT CHANGED · RULE-BASED ANALYSIS

Package or technical metadata updated

Discoverability changed from “UNLISTED” to “LISTED”.

Observed in package metadata. These changes alone do not establish a new customer-facing feature.

Discoverability

Before

UNLISTED

After

LISTED

Compare saved observations

Download comparison JSON
Full technical diff · 1 changed fields

changed /discoverability

BEFORE
"UNLISTED"
AFTER
"LISTED"
Full snapshot data
{
  "canonical_app_id": null,
  "connector_id": null,
  "created_at": "2026-09-20T18:31:11.274567Z",
  "discoverability": "LISTED",
  "id": "plugins_6ab0220f392881919c67600b8d04305d",
  "is_template": false,
  "name": "mattpocock-skills",
  "release": {
    "app_ids": [],
    "app_manifest": null,
    "app_templates": [],
    "description": "Matt Pocock's composable engineering and productivity skills for planning, implementation, TDD, review, research, architecture, handoffs, and teaching.",
    "display_name": "Matt Pocock Skills",
    "id": "pluginrel_bfeb2efb02e48191b40f9f3348fc3999",
    "interface": {
      "brand_color": null,
      "capabilities": [
        "Planning",
        "TDD",
        "Code review",
        "Architecture guidance"
      ],
      "category": "Developer Tools",
      "composer_icon_dark_url": null,
      "composer_icon_url": "https://files.openai.com/content?id=file_00000000458482108984420e4b3ff19b",
      "default_prompt": "Choose the best workflow for this TypeScript task",
      "default_prompts": [
        "Choose the best workflow for this TypeScript task",
        "Review this React or TypeScript implementation",
        "Help me debug this coding problem using the relevant skill"
      ],
      "developer_name": "RONALD FERRARI SOARES",
      "logo_url": "https://files.openai.com/content?id=file_0000000063e881f4adf49cb7eb9107e5",
      "logo_url_dark": null,
      "long_description": "Provides reusable engineering workflows and references for TypeScript, React, tooling, debugging, and coding-agent work.",
      "plugin_category_id": "developer tools",
      "privacy_policy_url": null,
      "screenshot_urls": [],
      "short_description": "Engineering workflow skills",
      "terms_of_service_url": null,
      "website_url": null
    },
    "keywords": [
      "engineering",
      "tdd",
      "code-review",
      "architecture",
      "productivity",
      "research"
    ],
    "onboarding_skill_name": null,
    "requires_local_executor": false,
    "skills": [
      {
        "description": "Use when the user explicitly asks Ask Matt to choose the most appropriate Matt Pocock skill or workflow for a task.",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $ask-matt for this task",
          "display_name": "Ask Matt",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "hierarchy",
          "short_description": "Choose the right Matt Pocock workflow"
        },
        "name": "ask-matt",
        "plugin_release_skill_id": "pluginrsk_6ab02218ce448191ba49d13531e21cfb"
      },
      {
        "description": "Use when the user explicitly asks to hand work from the current session to a Claude background agent.",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $claude-handoff for this task",
          "display_name": "Claude Handoff",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "bolt",
          "short_description": "Prepare a Claude background-agent handoff"
        },
        "name": "claude-handoff",
        "plugin_release_skill_id": "pluginrsk_6ab0221206dc8191a9ef94a13ee89c2d"
      },
      {
        "description": "Use when the user wants to review a branch, a PR, work-in-progress changes, or asks to \"review since X\".",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $code-review for this task",
          "display_name": "Code Review",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "code",
          "short_description": "Review a diff on standards and spec"
        },
        "name": "code-review",
        "plugin_release_skill_id": "pluginrsk_6ab0221315e881918d6e05c788b4470c"
      },
      {
        "description": "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.",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $codebase-design for this task",
          "display_name": "Codebase Design",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "code",
          "short_description": "Vocabulary for deep-module design"
        },
        "name": "codebase-design",
        "plugin_release_skill_id": "pluginrsk_6ab022172ac08191811ee47b97ef6780"
      },
      {
        "description": "Use when the user says \"diagnose\"/\"debug this\", or reports something broken/throwing/failing/slow.",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $diagnosing-bugs for this task",
          "display_name": "Diagnosing Bugs",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "code",
          "short_description": "Diagnose hard bugs and regressions"
        },
        "name": "diagnosing-bugs",
        "plugin_release_skill_id": "pluginrsk_6ab0221a50348191999bd3fc9ed389ff"
      },
      {
        "description": "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.",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $domain-modeling for this task",
          "display_name": "Domain Modeling",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "hierarchy",
          "short_description": "Build and sharpen a domain model"
        },
        "name": "domain-modeling",
        "plugin_release_skill_id": "pluginrsk_6ab0221bb2b48191b3b861e1748d51ab"
      },
      {
        "description": "Use when user wants to prevent destructive git operations, add git safety hooks, or block git push/reset in Claude Code.",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $git-guardrails-claude-code for this task",
          "display_name": "Git Guardrails for Claude Code",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "bolt",
          "short_description": "Block dangerous git commands"
        },
        "name": "git-guardrails-claude-code",
        "plugin_release_skill_id": "pluginrsk_6ab02215b54081918a55c49b5728a74d"
      },
      {
        "description": "Use when the user explicitly asks to be grilled or interviewed to sharpen a plan, design, or decision before proceeding.",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $grill-me for this task",
          "display_name": "Grill Me",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "chat",
          "short_description": "Sharpen a plan through explicit interview"
        },
        "name": "grill-me",
        "plugin_release_skill_id": "pluginrsk_6ab0221221c08191aec75a7b8e8b9045"
      },
      {
        "description": "Use when the user explicitly asks for a design or plan to be grilled while architectural notes, ADRs, or glossary documentation are created alongside the interview.",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $grill-with-docs for this task",
          "display_name": "Grill with Docs",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "hierarchy",
          "short_description": "Grill a design while creating docs"
        },
        "name": "grill-with-docs",
        "plugin_release_skill_id": "pluginrsk_6ab0221bf2548191b4518e1f6a8d4e8f"
      },
      {
        "description": "Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $grilling for this task",
          "display_name": "Grilling",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "chat",
          "short_description": "Stress-test thinking a round of questions at a time"
        },
        "name": "grilling",
        "plugin_release_skill_id": "pluginrsk_6ab022152400819185bc150569336558"
      },
      {
        "description": "Use when the user explicitly asks to compact the current conversation into a handoff document for another agent or session.",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $handoff for this task",
          "display_name": "Handoff",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "hierarchy",
          "short_description": "Compact context into an agent handoff"
        },
        "name": "handoff",
        "plugin_release_skill_id": "pluginrsk_6ab02219527c8191b6b8fd22f764a31f"
      },
      {
        "description": "Use when the user explicitly asks to implement work from an existing specification or set of tickets.",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $implement for this task",
          "display_name": "Implement",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "code",
          "short_description": "Implement work from a spec or tickets"
        },
        "name": "implement",
        "plugin_release_skill_id": "pluginrsk_6ab02218d0f881919ea7b26a26e725d1"
      },
      {
        "description": "Use when the user explicitly asks to scan a codebase for architectural improvement opportunities and interactively choose which one to deepen.",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $improve-codebase-architecture for this task",
          "display_name": "Improve Codebase Architecture",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "code",
          "short_description": "Find and examine architecture improvements"
        },
        "name": "improve-codebase-architecture",
        "plugin_release_skill_id": "pluginrsk_6ab0221d50048191b91569fc275ed3bd"
      },
      {
        "description": "Use when the user explicitly asks for a repeated interview loop to specify workflows they want to build in the current workspace.",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $loop-me for this task",
          "display_name": "Loop Me",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "hierarchy",
          "short_description": "Interview repeatedly to specify workflows"
        },
        "name": "loop-me",
        "plugin_release_skill_id": "pluginrsk_6ab02212058081919b51584f2fcfb0d9"
      },
      {
        "description": "Use when user mentions shoehorn, wants to replace in tests, or needs partial test data.",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $migrate-to-shoehorn for this task",
          "display_name": "Migrate to Shoehorn",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "code",
          "short_description": "Replace test assertions with shoehorn"
        },
        "name": "migrate-to-shoehorn",
        "plugin_release_skill_id": "pluginrsk_6ab0221cc5808191b1f2e93e58223ead"
      },
      {
        "description": "Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $prototype for this task",
          "display_name": "Prototype",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "code",
          "short_description": "Prototype to answer a design question"
        },
        "name": "prototype",
        "plugin_release_skill_id": "pluginrsk_6ab0221478108191aa38cb32d4e08369"
      },
      {
        "description": "Use when a software project or workspace needs a Markdown research note grounded in high-trust primary technical sources, documentation, or API facts.",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $research for this task",
          "display_name": "Research",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "search",
          "short_description": "Research technical questions from primary sources"
        },
        "name": "research",
        "plugin_release_skill_id": "pluginrsk_6ab0221a524081918475da38620613f3"
      },
      {
        "description": "Use when you need to resolve an in-progress git merge/rebase conflict.",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $resolving-merge-conflicts for this task",
          "display_name": "Resolving Merge Conflicts",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "code",
          "short_description": "Resolve merge and rebase conflicts"
        },
        "name": "resolving-merge-conflicts",
        "plugin_release_skill_id": "pluginrsk_6ab0221779f081918a38ec9f7e50e324"
      },
      {
        "description": "Use when user wants to scaffold exercises, create exercise stubs, or set up a new course section.",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $scaffold-exercises for this task",
          "display_name": "Scaffold Exercises",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "hierarchy",
          "short_description": "Scaffold lint-ready course exercises"
        },
        "name": "scaffold-exercises",
        "plugin_release_skill_id": "pluginrsk_6ab02213afd48191baa0243e6321a9e3"
      },
      {
        "description": "Use when the user explicitly asks to configure a repository for the Matt Pocock engineering skills, including tracker, labels, and domain-document layout.",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $setup-matt-pocock-skills for this task",
          "display_name": "Setup Matt Pocock Skills",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "hierarchy",
          "short_description": "Configure a repo for Matt Pocock skills"
        },
        "name": "setup-matt-pocock-skills",
        "plugin_release_skill_id": "pluginrsk_6ab0221d52ac819186c86834d5b4d1e2"
      },
      {
        "description": "Use when user wants to add pre-commit hooks, set up Husky, configure lint-staged, or add commit-time formatting/typechecking/testing.",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $setup-pre-commit for this task",
          "display_name": "Setup Pre-Commit",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "code",
          "short_description": "Add pre-commit quality checks"
        },
        "name": "setup-pre-commit",
        "plugin_release_skill_id": "pluginrsk_6ab02216b1cc8191a8c04d8874dff2dc"
      },
      {
        "description": "Use when the user explicitly asks to enforce deep-module boundaries in a TypeScript repository with dependency-cruiser.",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $setup-ts-deep-modules for this task",
          "display_name": "Setup TS Deep Modules",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "code",
          "short_description": "Enforce deep TypeScript module boundaries"
        },
        "name": "setup-ts-deep-modules",
        "plugin_release_skill_id": "pluginrsk_6ab02212040481919604d85c9f911255"
      },
      {
        "description": "Use when the user wants to build features or fix bugs test-first, mentions \"red-green-refactor\", or wants integration tests.",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $tdd for this task",
          "display_name": "TDD",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "code",
          "short_description": "Test-driven red-green-refactor"
        },
        "name": "tdd",
        "plugin_release_skill_id": "pluginrsk_6ab0221d27a881919cd2fca540f07747"
      },
      {
        "description": "Use when the user explicitly asks for a guided lesson on a concept or skill inside the current workspace.",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $teach for this task",
          "display_name": "Teach",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "chat",
          "short_description": "Teach a concept in a guided workspace"
        },
        "name": "teach",
        "plugin_release_skill_id": "pluginrsk_6ab0221a67708191a85319d81d723112"
      },
      {
        "description": "Use when the user explicitly asks to turn unresolved decisions into a questionnaire another person can answer.",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $to-questionnaire for this task",
          "display_name": "To Questionnaire",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "hierarchy",
          "short_description": "Turn unresolved decisions into a questionnaire"
        },
        "name": "to-questionnaire",
        "plugin_release_skill_id": "pluginrsk_6ab0221612988191ba8f2e763cf00328"
      },
      {
        "description": "Use when the user explicitly asks to turn the current conversation into a specification without another discovery interview.",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $to-spec for this task",
          "display_name": "To Spec",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "hierarchy",
          "short_description": "Turn the conversation into a specification"
        },
        "name": "to-spec",
        "plugin_release_skill_id": "pluginrsk_6ab0221bdd588191bfd4bfef497cec45"
      },
      {
        "description": "Use when the user explicitly asks to break a plan or specification into tracer-bullet implementation tickets with dependencies.",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $to-tickets for this task",
          "display_name": "To Tickets",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "hierarchy",
          "short_description": "Break a plan into tracer-bullet tickets"
        },
        "name": "to-tickets",
        "plugin_release_skill_id": "pluginrsk_6ab02216d4548191b2c6b3ac837d83af"
      },
      {
        "description": "Use when the user explicitly asks to move issues or external pull requests through the Matt Pocock triage workflow.",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $triage for this task",
          "display_name": "Triage",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "hierarchy",
          "short_description": "Triage issues and external pull requests"
        },
        "name": "triage",
        "plugin_release_skill_id": "pluginrsk_6ab02215ad7c8191aa9bac356e5a6821"
      },
      {
        "description": "Use when the user explicitly says the previous explanation did not land and asks for it to be re-pitched more clearly.",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $wait-what for this task",
          "display_name": "Wait What",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "chat",
          "short_description": "Re-pitch an explanation more clearly"
        },
        "name": "wait-what",
        "plugin_release_skill_id": "pluginrsk_6ab0221366b48191bab992b90f8ec582"
      },
      {
        "description": "Use when the user explicitly asks to map a multi-session body of work into shared decision tickets and resolve them sequentially.",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $wayfinder for this task",
          "display_name": "Wayfinder",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "hierarchy",
          "short_description": "Map large work into decision tickets"
        },
        "name": "wayfinder",
        "plugin_release_skill_id": "pluginrsk_6ab0221ab90c819195f6065dc22f7f67"
      },
      {
        "description": "Use when provisioning infrastructure, setting up credentials or CI secrets, walking an unfamiliar third-party dashboard, or running a one-off migration or cutover. Don't invoke this for steps the agent can perform itself.",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $wizard for this task",
          "display_name": "Wizard",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "hierarchy",
          "short_description": "Generate an interactive setup wizard"
        },
        "name": "wizard",
        "plugin_release_skill_id": "pluginrsk_6ab022149d248191888fbbd2b0cbaabc"
      },
      {
        "description": "Use when the user explicitly asks to organize raw writing material into a sequence of beats for a coherent journey.",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $writing-beats for this task",
          "display_name": "Writing Beats",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "pen",
          "short_description": "Arrange raw material into writing beats"
        },
        "name": "writing-beats",
        "plugin_release_skill_id": "pluginrsk_6ab0221932a48191914ca6432ed101e2"
      },
      {
        "description": "Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $writing-for-agents for this task",
          "display_name": "Writing for Agents",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "pen",
          "short_description": "Write documents agents consume"
        },
        "name": "writing-for-agents",
        "plugin_release_skill_id": "pluginrsk_6ab0221bd50081918593c85b1c01caed"
      },
      {
        "description": "Use when the user explicitly asks to explore and collect raw writing fragments before imposing structure.",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $writing-fragments for this task",
          "display_name": "Writing Fragments",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "pen",
          "short_description": "Mine raw writing fragments"
        },
        "name": "writing-fragments",
        "plugin_release_skill_id": "pluginrsk_6ab0221469d481919d7e35f5ccdcb50f"
      },
      {
        "description": "Use when the user explicitly asks to shape raw writing material into an article or structured prose draft.",
        "interface": {
          "brand_color": null,
          "default_prompt": "Use $writing-shape for this task",
          "display_name": "Writing Shape",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "pen",
          "short_description": "Shape raw material into an article"
        },
        "name": "writing-shape",
        "plugin_release_skill_id": "pluginrsk_6ab02217d71881919cde4f8ea476496d"
      }
    ],
    "version": "1.2.3"
  },
  "scope": "GLOBAL",
  "status": "ENABLED"
}

SHA-256 of public snapshot: 1477424159865f18b83086fbae117139805881534533b960ade3e167300b7ca6