← Matt Pocock SkillsCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
changed
Update to Matt Pocock Skills
Snapshot Oct 9, 2026 · 00:00 UTC · version 1.2.3
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 JSONFull 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