setup-matt-pocock-skills

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Setup Matt Pocock's Skills

配置Matt Pocock的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.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.
搭建工程技能所需的仓库级配置:
  • 问题追踪器——存储问题的位置(默认是GitHub;原生也支持本地markdown)
  • 分类标签——用于五个标准分类角色的字符串
  • 领域文档——
    CONTEXT.md
    和ADR的存储位置,以及阅读它们的使用规则
这是一个由提示驱动的skill,而非确定性脚本。流程为:探索、展示发现、与用户确认、然后写入。

Process

流程

1. Explore

1. 探索

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?
  • CONTEXT.md
    and
    CONTEXT-MAP.md
    at the repo root
  • docs/adr/
    and any
    src/*/docs/adr/
    directories
  • docs/agents/
    — does this skill's prior output already exist?
  • .scratch/
    — sign that a local-markdown issue tracker convention is already in use
  • 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.
  • 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.
查看当前仓库以了解初始状态。读取现有内容,不要主观假设:
  • git remote -v
    .git/config
    ——这是GitHub仓库吗?具体是哪一个?
  • 仓库根目录下的
    AGENTS.md
    CLAUDE.md
    ——是否存在其中一个?是否已有
    ## Agent skills
    章节?
  • 仓库根目录下的
    CONTEXT.md
    CONTEXT-MAP.md
  • docs/adr/
    和任何
    src/*/docs/adr/
    目录
  • docs/agents/
    ——此skill之前的输出是否已存在?
  • .scratch/
    ——表明已在使用本地markdown问题追踪约定的标志
  • 是否安装了
    triage
    skill?(与此skill同级的
    triage
    skill文件夹,或可用skills中的
    triage
    )这决定了是否要运行B部分。
  • 单仓库信号——
    pnpm-workspace.yaml
    package.json
    中的
    workspaces
    字段,或包含自身
    src/
    的已填充
    packages/*
    。仅在真正大型的多包仓库中展示;如果不存在则表示单上下文,这几乎适用于所有仓库。

2. Present findings and ask

2. 展示发现并询问

Summarise what's present and what's missing. Then take the sections in order — one section, one answer, then the next.
Lead 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).
Section A — Issue tracker.
Explainer: The "issue tracker" is where issues live for this repo. Skills like
to-tickets
,
triage
,
to-spec
, 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
Record 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.
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.
If it is installed, ask exactly one question:
Do you want to keep the default triage labels? (recommended: yes)
The 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.
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.
Offer 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.
总结现有内容和缺失内容。然后按顺序处理各部分——一个部分、一个答案,再进行下一个。
每个部分开头给出推荐答案,方便用户用一个词确认。仅当选择确实有分支时才给出一行解释;当探索已经确定结果时则完全跳过该部分(比如未安装
triage
时跳过B部分,无单仓库时跳过C部分)。
A部分——问题追踪器
说明:“问题追踪器”是此仓库存储问题的位置。
to-tickets
triage
to-spec
qa
等skill会从中读取并写入内容——它们需要知道是调用
gh issue create
、在
.scratch/
下写入markdown文件,还是遵循您描述的其他工作流程。请选择您实际用于追踪此仓库工作的位置。
默认设置:这些skill是为GitHub设计的。如果
git remote
指向GitHub,则建议使用GitHub。如果
git remote
指向GitLab(
gitlab.com
或自托管主机),则建议使用GitLab。否则(或用户偏好),提供以下选项:
  • GitHub——问题存储在仓库的GitHub Issues中(使用
    gh
    CLI)
  • GitLab——问题存储在仓库的GitLab Issues中(使用
    glab
    CLI)
  • 本地markdown——问题作为文件存储在此仓库的
    .scratch/<feature>/
    下(适用于个人项目或无远程仓库的项目)
  • 其他(Jira、Linear等)——请用户用一段话描述工作流程;skill会将其作为自由格式文本记录下来
将选择记录在
docs/agents/issue-tracker.md
中。GitHub和GitLab模板带有“PR作为请求渠道”标志,默认设置为关闭——保持关闭状态且无需提及;如果用户希望将外部PR纳入分类队列,可稍后在文件中修改该标志。
B部分——分类标签词汇。如果未安装
triage
skill(探索阶段已确认),则完全跳过此部分——未安装的skill不需要标签。
如果已安装,仅询问一个问题:
您想要保留默认分类标签吗?(推荐:
默认标签是五个标准角色,每个标签字符串与其名称一致:
needs-triage
needs-info
ready-for-agent
ready-for-human
wontfix
。如果选择,则按原样写入。仅当用户选择否时——通常因为他们的追踪器已使用其他名称(例如用
bug:triage
代替
needs-triage
)——收集替代名称,以便
triage
应用现有标签而非创建重复标签。
C部分——领域文档。默认设置为单上下文——仓库根目录下的一个
CONTEXT.md
+
docs/adr/
。这适用于几乎所有仓库;无需询问直接写入。
仅当探索阶段发现单仓库信号时,才提供多上下文选项——根目录下的
CONTEXT-MAP.md
指向每个上下文的
CONTEXT.md
文件。然后确认他们想要哪种布局。

3. Confirm and edit

3. 确认并编辑

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
    docs/agents/issue-tracker.md
    ,
    docs/agents/domain.md
    , and
    docs/agents/triage-labels.md
    (the last only when
    triage
    is installed)
Let them edit before writing.
向用户展示以下内容的草稿:
  • 要添加到
    CLAUDE.md
    /
    AGENTS.md
    中任一文件的
    ## Agent skills
    块(选择规则见步骤4)
  • docs/agents/issue-tracker.md
    docs/agents/domain.md
    docs/agents/triage-labels.md
    的内容(最后一个仅在安装
    triage
    时存在)
让用户在写入前进行编辑。

4. Write

4. 写入

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:
markdown
undefined
选择要编辑的文件:
  • 如果
    CLAUDE.md
    存在,则编辑它。
  • 否则如果
    AGENTS.md
    存在,则编辑它。
  • 如果两者都不存在,请询问用户要创建哪一个——不要自行选择。
CLAUDE.md
已存在时,切勿创建
AGENTS.md
(反之亦然)——始终编辑已存在的文件。
如果所选文件中已存在
## Agent skills
块,则就地更新其内容,而非追加重复内容。不要覆盖用户对周围章节的编辑。
该块内容:
markdown
undefined

Agent skills

Agent skills

Issue tracker

Issue tracker

[one-line summary of where issues are tracked]. See
docs/agents/issue-tracker.md
.
[问题追踪位置的一行摘要]。详见
docs/agents/issue-tracker.md

Triage labels

Triage labels

[one-line summary of the label vocabulary]. See
docs/agents/triage-labels.md
.
[标签词汇的一行摘要]。详见
docs/agents/triage-labels.md

Domain docs

Domain docs

[one-line summary of layout — "single-context" or "multi-context"]. See
docs/agents/domain.md
.

Include 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.

Then write the docs files using the seed templates in this skill folder as a starting point:

- [issue-tracker-github.md](./issue-tracker-github.md) — GitHub issue tracker
- [issue-tracker-gitlab.md](./issue-tracker-gitlab.md) — GitLab issue tracker
- [issue-tracker-local.md](./issue-tracker-local.md) — local-markdown issue tracker
- [triage-labels.md](./triage-labels.md) — label mapping (only if `triage` is installed)
- [domain.md](./domain.md) — domain doc consumer rules + layout

For "other" issue trackers, write `docs/agents/issue-tracker.md` from scratch using the user's description.
[布局的一行摘要——“单上下文”或“多上下文”]。详见
docs/agents/domain.md

仅当安装了`triage`且运行了B部分时,才包含`### Triage labels`子块并写入`docs/agents/triage-labels.md`。否则,两者均省略。

然后使用此skill文件夹中的种子模板作为起点写入文档文件:

- [issue-tracker-github.md](./issue-tracker-github.md) — GitHub问题追踪器
- [issue-tracker-gitlab.md](./issue-tracker-gitlab.md) — GitLab问题追踪器
- [issue-tracker-local.md](./issue-tracker-local.md) — 本地markdown问题追踪器
- [triage-labels.md](./triage-labels.md) — 标签映射(仅在安装`triage`时使用)
- [domain.md](./domain.md) — 领域文档使用规则 + 布局

对于“其他”问题追踪器,根据用户描述从头编写`docs/agents/issue-tracker.md`。

5. Done

5. 完成

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.
告知用户设置已完成,以及哪些工程skill将从此类文件中读取内容。提及他们稍后可直接编辑
docs/agents/*.md
——只有当他们想要切换问题追踪器或从头开始重新设置时,才需要重新运行此skill。