{"id":22333,"plugin_id":"plugins_6ab0220f392881919c67600b8d04305d","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T23:17:13.366Z","digest":"2c5cba2e76128dd53e746c2a2d2e4f5e529762745422010cf905eab212a9db73","against":null,"payload":{"description":"Use when the user explicitly asks to configure a repository for the Matt Pocock engineering skills, including tracker, labels, and domain-document layout.","included_files":[{"relative_path":"SOURCE-METADATA.yaml","size_in_bytes":40},{"relative_path":"agents/openai.yaml","size_in_bytes":249},{"relative_path":"domain.md","size_in_bytes":2045},{"relative_path":"issue-tracker-github.md","size_in_bytes":3746},{"relative_path":"issue-tracker-gitlab.md","size_in_bytes":3827},{"relative_path":"issue-tracker-local.md","size_in_bytes":1815},{"relative_path":"triage-labels.md","size_in_bytes":1045}],"name":"setup-matt-pocock-skills","skill_md_contents":"---\nname: setup-matt-pocock-skills\ndescription: Use when the user explicitly asks to configure a repository for the Matt Pocock engineering skills, including\n  tracker, labels, and domain-document layout.\n---\n\n# Setup Matt Pocock's Skills\n\nScaffold the per-repo configuration that the engineering skills assume:\n\n- **Issue tracker** — where issues live (GitHub by default; local markdown is also supported out of the box)\n- **Triage labels** — the strings used for the five canonical triage roles\n- **Domain docs** — where `CONTEXT.md` and ADRs live, and the consumer rules for reading them\n\nThis is a prompt-driven skill, not a deterministic script. Explore, present what you found, confirm with the user, then write.\n\n## Process\n\n### 1. Explore\n\nLook at the current repo to understand its starting state. Read whatever exists; don't assume:\n\n- `git remote -v` and `.git/config` — is this a GitHub repo? Which one?\n- `AGENTS.md` and `CLAUDE.md` at the repo root — does either exist? Is there already an `## Agent skills` section in either?\n- `CONTEXT.md` and `CONTEXT-MAP.md` at the repo root\n- `docs/adr/` and any `src/*/docs/adr/` directories\n- `docs/agents/` — does this skill's prior output already exist?\n- `.scratch/` — sign that a local-markdown issue tracker convention is already in use\n- Is the `triage` skill installed? (a `triage` skill folder alongside this one, or `triage` in your available skills.) This decides whether Section B runs at all.\n- Monorepo signals — a `pnpm-workspace.yaml`, a `workspaces` field in `package.json`, or a populated `packages/*` with its own `src/`. Present only in a genuinely large multi-package repo; their absence means single-context, which is almost every repo.\n\n### 2. Present findings and ask\n\nSummarise what's present and what's missing. Then take the sections in order — one section, one answer, then the next.\n\nLead each section with the recommended answer so the user can accept it in a word. Give a one-line explainer only when the choice genuinely branches; skip the section entirely when exploration already settled it (Section B when `triage` isn't installed, Section C when there's no monorepo).\n\n**Section A — Issue tracker.**\n\n> Explainer: The \"issue tracker\" is where issues live for this repo. Skills like `to-tickets`, `triage`, and `to-spec` 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.\n\nDefault 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:\n\n- **GitHub** — issues live in the repo's GitHub Issues (uses the `gh` CLI)\n- **GitLab** — issues live in the repo's GitLab Issues (uses the [`glab`](https://gitlab.com/gitlab-org/cli) CLI)\n- **Local markdown** — issues live as files under `.scratch/<feature>/` in this repo (good for solo projects or repos without a remote)\n- **Other** (Jira, Linear, etc.) — ask the user to describe the workflow in one paragraph; the skill will record it as freeform prose\n\nRecord the choice in `docs/agents/issue-tracker.md`. The GitHub and GitLab templates carry a \"PRs as a request surface\" flag, defaulted **off** — leave it off and don't raise it; a user who wants external PRs in the triage queue can flip the flag in the file later.\n\n**Section B — Triage label vocabulary.** Skip this section entirely if the `triage` skill isn't installed (exploration told you) — an uninstalled skill needs no labels.\n\nIf it is installed, ask exactly one question:\n\n> Do you want to keep the default triage labels? (recommended: **yes**)\n\nThe defaults are the five canonical roles, each label string equal to its name: `needs-triage`, `needs-info`, `ready-for-agent`, `ready-for-human`, `wontfix`. On **yes**, write them as-is. Only if the user says no — usually because their tracker already uses other names (e.g. `bug:triage` for `needs-triage`) — collect the overrides so `triage` applies existing labels instead of creating duplicates.\n\n**Section C — Domain docs.** Default to **single-context** — one `CONTEXT.md` + `docs/adr/` at the repo root. This fits almost every repo; write it without asking.\n\nOffer **multi-context** — a root `CONTEXT-MAP.md` pointing to per-context `CONTEXT.md` files — only when exploration found monorepo signals. Then confirm which layout they want.\n\n### 3. Confirm and edit\n\nShow the user a draft of:\n\n- The `## Agent skills` block to add to whichever of `CLAUDE.md` / `AGENTS.md` is being edited (see step 4 for selection rules)\n- The contents of `docs/agents/issue-tracker.md`, `docs/agents/domain.md`, and `docs/agents/triage-labels.md` (the last only when `triage` is installed)\n\nLet them edit before writing.\n\n### 4. Write\n\n**Pick the file to edit:**\n\n- If `CLAUDE.md` exists, edit it.\n- Else if `AGENTS.md` exists, edit it.\n- If neither exists, ask the user which one to create — don't pick for them.\n\nNever create `AGENTS.md` when `CLAUDE.md` already exists (or vice versa) — always edit the one that's already there.\n\nIf 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.\n\nThe block:\n\n```markdown\n## Agent skills\n\n### Issue tracker\n\n[one-line summary of where issues are tracked]. See `docs/agents/issue-tracker.md`.\n\n### Triage labels\n\n[one-line summary of the label vocabulary]. See `docs/agents/triage-labels.md`.\n\n### Domain docs\n\n[one-line summary of layout — \"single-context\" or \"multi-context\"]. See `docs/agents/domain.md`.\n```\n\nInclude the `### Triage labels` sub-block, and write `docs/agents/triage-labels.md`, only when `triage` is installed and Section B ran. When it isn't, both are omitted.\n\nThen write the docs files using the seed templates in this skill folder as a starting point:\n\n- [issue-tracker-github.md](./issue-tracker-github.md) — GitHub issue tracker\n- [issue-tracker-gitlab.md](./issue-tracker-gitlab.md) — GitLab issue tracker\n- [issue-tracker-local.md](./issue-tracker-local.md) — local-markdown issue tracker\n- [triage-labels.md](./triage-labels.md) — label mapping (only if `triage` is installed)\n- [domain.md](./domain.md) — domain doc consumer rules + layout\n\nFor \"other\" issue trackers, write `docs/agents/issue-tracker.md` from scratch using the user's description.\n\n### 5. Done\n\nTell the user the setup is complete and which engineering skills will now read from these files. Mention they can edit `docs/agents/*.md` directly later — re-running this skill is only necessary if they want to switch issue trackers or restart from scratch.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}