setup-matt-pocock-skills
- 信任分
- 88/100
- 兼容 Agent
- 1
- 领域
- 工程开发
- 兼容 Agent
- Claude Code
- 信任分
- 88 / 100 · 社区维护
- 作者 / 版本 / 许可
- @mattpocock · 未声明 license
- 安装命令数
- 1 条
需要注意: 未限定 allowed-tools,默认拥有全部工具权限。
想读作者英文原文? ↓ 滚到正文区切换 · 在 GitHub 查看 ↗
setup-matt-pocock-skills 给 Matt Pocock 系列工程技能(review、to-issues、to-prd、qa、triage…)做仓库级初始化,写下三件事:issue tracker 在哪、triage 标签字符串、领域文档路径与读取规则。它是 prompt-driven 而非 deterministic 脚本——先探索,再陈述,再确认,再写。
设计思路
这些技能假设你的仓库已经有「issue tracker、triage 标签、domain 文档」三件事,但每个团队的位置不同(GitHub vs GitLab vs 本地 markdown vs 自定义 workflow)。把它们一次性问明白并落到 docs/agents/ 系列文件,下游技能读固定路径,不必再猜。
工作流
① 探索:git remote -v + .git/config 判 GitHub / GitLab;查根目录 AGENTS.md / CLAUDE.md 是否已有 ## Agent skills 段;查 CONTEXT.md / CONTEXT-MAP.md、docs/adr/ 与 src/*/docs/adr/、docs/agents/(本技能上次输出?)、.scratch/(本地 markdown issue 习惯?)。② 逐项呈现并询问——一次只问一个,先小段 explainer 解释这个 setting 是什么、为什么需要、不同选择的影响,再给选项与默认。Section A Issue tracker:默认顺 git remote 走 GitHub / GitLab,否则提供本地 markdown 与自定义 workflow 选项。Section B Triage labels:5 个 canonical 角色对应字符串。Section C Domain docs:CONTEXT.md 与 ADR 在哪、消费者读取规则。
输出
把答案写成可复用的 markdown 文件(典型路径如 docs/agents/issue-tracker.md),下游技能 import 这些文件后即可直接读。
适合的场景
- 引入 Matt Pocock 系列技能(
review-mattpocock/scaffold-exercises)的仓库的首次配置 - 已有 GitHub issue 工作流但要把它写成「agent 可读」的形式
- 团队希望约定 ADR 与 CONTEXT.md 的位置后让多人 / 多 agent 用同一规则
何时不要用
- 不打算用 Matt Pocock 系列技能:本设置无消费者
- 已有同等
docs/agents/*.md文件:直接维护那些文件即可
配套
review-mattpocock(双轴 review,需 docs/agents/issue-tracker.md)、scaffold-exercises(同体系教学骨架)、triage(用本设置里的 5 个标签字符串)、to-issues / to-prd(按本设置选 GitHub / GitLab / 本地 markdown)。
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
CONTEXT.mdand 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 -vand.git/config— is this a GitHub repo? Which one?AGENTS.mdandCLAUDE.mdat the repo root — does either exist? Is there already an## Agent skillssection in either?CONTEXT.mdandCONTEXT-MAP.mdat the repo rootdocs/adr/and anysrc/*/docs/adr/directoriesdocs/agents/— 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, andqaread from and write to it — they need to know whether to callgh 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
ghCLI) - GitLab — issues live in the repo's GitLab Issues (uses the
glabCLI) - 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
triageskill 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:triageinstead ofneeds-triage), map them here so the skill applies the right ones instead of creating duplicates.
The five canonical roles:
needs-triage— maintainer needs to evaluateneeds-info— waiting on reporterready-for-agent— fully specified, AFK-ready (an agent can pick it up with no human context)ready-for-human— needs human implementationwontfix— 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 aCONTEXT.mdfile to learn the project's domain language, anddocs/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
CONTEXT.md+docs/adr/at the repo root. Most repos are this. - Multi-context —
CONTEXT-MAP.mdat the root pointing to per-contextCONTEXT.mdfiles (typically a monorepo).
3. Confirm and edit
Show the user a draft of:
- The
## Agent skillsblock to add to whichever ofCLAUDE.md/AGENTS.mdis being edited (see step 4 for selection rules) - The contents of
docs/agents/issue-tracker.md,docs/agents/triage-labels.md,docs/agents/domain.md
Let them edit before writing.
4. Write
Pick the file to edit:
- If
CLAUDE.mdexists, edit it. - Else if
AGENTS.mdexists, 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 `docs/agents/issue-tracker.md`.
### Triage labels
[one-line summary of the label vocabulary]. See `docs/agents/triage-labels.md`.
### Domain docs
[one-line summary of layout — "single-context" or "multi-context"]. See `docs/agents/domain.md`.
Then write the three docs files using the seed templates in this skill folder as a starting point:
- issue-tracker-github.md — GitHub issue tracker
- issue-tracker-gitlab.md — GitLab issue tracker
- issue-tracker-local.md — local-markdown issue tracker
- triage-labels.md — label mapping
- domain.md — domain doc consumer rules + layout
For "other" issue trackers, write docs/agents/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 docs/agents/*.md directly later — re-running this skill is only necessary if they want to switch issue trackers or restart from scratch.