| name | setup-matt-pocock-skills |
| description | Sets up an `## Agent skills` block in AGENTS.md/CLAUDE.md and `.agent/docs/` so the engineering skills know this repo's issue tracker (GitHub or local markdown), triage label vocabulary, and domain doc layout. Run before first use of `to-issues`, `to-prd`, `triage`, `diagnose`, `tdd`, `improve-codebase-architecture`, or `zoom-out` - or if those skills appear to be missing context about the issue tracker, triage labels, or domain docs. |
| disable-model-invocation | true |
| metadata | {"internal":true} |
Setup matt pocock's skills
Scaffold the per-repo configuration that the engineering skills assume:
- Issue tracker - where issues live (GitHub by default; local markdown is also supported out of the box)
- Triage labels - the strings used for the five canonical triage roles
- Domain docs - where
docs/CONTEXT.md and ADRs live, and the consumer rules for reading them
This is a prompt-driven skill, not a deterministic script. Explore, present what you found, confirm with the user, then write.
Process
1. Explore
Look at the current repo to understand its starting state. Read whatever exists; don't assume:
git remote -v and .git/config - is this a GitHub repo? Which one?
AGENTS.md and CLAUDE.md at the repo root - does either exist? Is there already an ## Agent skills section in either?
docs/CONTEXT.md and CONTEXT-MAP.md (at the repo root)
docs/adr/ and any src/*/docs/adr/ directories
.agent/docs/ - does this skill's prior output already exist?
.scratch/ - sign that a local-markdown issue tracker convention is already in use
2. Present findings and ask
Summarise what's present and what's missing. Then walk the user through the three decisions one at a time - present a section, get the user's answer, then move to the next. Don't dump all three at once.
Assume the user does not know what these terms mean. Each section starts with a short explainer (what it is, why these skills need it, what changes if they pick differently). Then show the choices and the default.
Section A - Issue tracker.
Explainer: The "issue tracker" is where issues live for this repo. Skills like to-issues, triage, to-prd, and qa read from and write to it - they need to know whether to call gh issue create, write a markdown file under .scratch/, or follow some other workflow you describe. Pick the place you actually track work for this repo.
Default posture: these skills were designed for GitHub. If a git remote points at GitHub, propose that. If a git remote points at GitLab (gitlab.com or a self-hosted host), propose GitLab. Otherwise (or if the user prefers), offer:
- GitHub - issues live in the repo's GitHub Issues (uses the
gh CLI)
- GitLab - issues live in the repo's GitLab Issues (uses the
glab CLI)
- Local markdown - issues live as files under
.scratch/<feature>/ in this repo (good for solo projects or repos without a remote)
- Other (Jira, Linear, etc.) - ask the user to describe the workflow in one paragraph; the skill will record it as freeform prose
Section B - Triage label vocabulary.
Explainer: When the triage skill processes an incoming issue, it moves it through a state machine - needs evaluation, waiting on reporter, ready for an AFK agent to pick up, ready for a human, or won't fix. To do that, it needs to apply labels (or the equivalent in your issue tracker) that match strings you've actually configured. If your repo already uses different label names (e.g. bug:triage instead of needs-triage), map them here so the skill applies the right ones instead of creating duplicates.
The five canonical roles:
needs-triage - maintainer needs to evaluate
needs-info - waiting on reporter
ready-for-agent - fully specified, ready for immediate implementation (pick it up yourself or with an agent)
ready-for-human - needs a judgment call or design decision before implementation
wontfix - will not be actioned
Default: each role's string equals its name. Ask the user if they want to override any. If their issue tracker has no existing labels, the defaults are fine.
Section C - Domain docs.
Explainer: Some skills (improve-codebase-architecture, diagnose, tdd) read a docs/CONTEXT.md file to learn the project's domain language, and docs/adr/ for past architectural decisions. They need to know whether the repo has one global context or multiple (e.g. a monorepo with separate frontend/backend contexts) so they look in the right place.
Confirm the layout:
- Single-context - one
docs/CONTEXT.md + docs/adr/. Most repos are this.
- Multi-context -
CONTEXT-MAP.md at the root pointing to per-context CONTEXT.md files (typically a monorepo).
3. Confirm and edit
Show the user a draft of:
- The
## Agent skills block to add to whichever of CLAUDE.md / AGENTS.md is being edited (see step 4 for selection rules)
- The contents of
.agent/docs/issue-tracker.md, .agent/docs/triage-labels.md, .agent/docs/domain.md
Let them edit before writing.
4. Write
Pick the file to edit:
- If
CLAUDE.md exists, edit it.
- Else if
AGENTS.md exists, edit it.
- If neither exists, ask the user which one to create - don't pick for them.
Never create AGENTS.md when CLAUDE.md already exists (or vice versa) - always edit the one that's already there.
If an ## Agent skills block already exists in the chosen file, update its contents in-place rather than appending a duplicate. Don't overwrite user edits to the surrounding sections.
The block:
## Agent skills
### Issue tracker
[one-line summary of where issues are tracked]. See `.agent/docs/issue-tracker.md`.
### Triage labels
[one-line summary of the label vocabulary]. See `.agent/docs/triage-labels.md`.
### Domain docs
[one-line summary of layout - "single-context" or "multi-context"]. See `.agent/docs/domain.md`.
Then write the three docs files using the seed templates in this skill folder as a starting point:
For "other" issue trackers, write .agent/docs/issue-tracker.md from scratch using the user's description.
5. Done
Tell the user the setup is complete and which engineering skills will now read from these files. Mention they can edit .agent/docs/*.md directly later - re-running this skill is only necessary if they want to switch issue trackers or restart from scratch.