用途
setup-matt-pocock-skills 用于为一个仓库生成工程类技能所假定的按仓库配置。它需要在首次使用相关工程技能前运行一次。配置内容包括三类:issue 跟踪器(issues 存放在哪里)、triage 标签词汇(五个标准 triage 角色使用的字符串)、领域文档(GLOSSARY.md 和 ADR 放在哪里,以及读取它们的消费者规则)。
该技能是提示驱动的,不是确定性脚本。流程为先探索、展示发现、与用户确认,然后写入。
探索内容
技能会检查仓库的初始状态,读取已有内容而不做假设,包括:
git remote -v与.git/config:是否为 GitHub 仓库,是哪一个。- 仓库根目录的
AGENTS.md和CLAUDE.md:是否存在,其中是否已有## Agent skills段落。 - 仓库根目录的
GLOSSARY.md和GLOSSARY-MAP.md。 docs/adr/以及任意src/*/docs/adr/目录。docs/agents/:该技能此前的输出是否已存在。.scratch/:是否已在使用本地 markdown issue 跟踪器约定。- triage 技能是否已安装(同目录下的 triage 技能文件夹,或可用技能中存在 triage),这决定 B 部分是否运行。
- Monorepo 信号:
pnpm-workspace.yaml、package.json中的 workspaces 字段,或带有自身src/的packages/*。这些只出现在真正的大型多包仓库中,缺失通常意味着单一上下文。
配置部分
A 部分:Issue 跟踪器。 说明 issue 存放位置。to-tickets、triage、to-spec 等技能会读写它,需要知道是调用 gh issue create、在 .scratch/ 下写 markdown 文件,还是其他工作流。默认倾向 GitHub:若 git remote 指向 GitHub,则提议 GitHub;若指向 GitLab(gitlab.com 或自托管主机),则提议 GitLab;否则(或用户偏好时)提供以下选项:
- GitHub:issues 存放在仓库的 GitHub Issues(使用 gh CLI)
- GitLab:issues 存放在仓库的 GitLab Issues(使用 glab CLI)
- 本地 markdown:issues 以文件形式存放在仓库的
.scratch/<feature>/(适合个人项目或无 remote 的仓库) - 其他(Jira、Linear 等):请用户用一段话描述工作流,技能会以自由文本记录
选择记录在 docs/agents/issue-tracker.md。GitHub 与 GitLab 模板带有“PRs as a request surface”标志,默认关闭,保持关闭且不主动提出。
B 部分:Triage 标签词汇。 若 triage 技能未安装则完全跳过。若已安装,只问一个问题:是否保留默认 triage 标签(推荐:是)。默认标签是五个标准角色,每个标签字符串等于其名称:needs-triage、needs-info、ready-for-agent、ready-for-human、wontfix。若用户选择否(通常是跟踪器已使用其他名称,如用 bug:triage 表示 needs-triage),则收集覆盖值,让 triage 沿用现有标签而非创建重复项。
C 部分:领域文档。 默认单一上下文(仓库根目录一个 GLOSSARY.md + docs/adr/),几乎适用于所有仓库,直接写入而无需询问。只有在探索发现 monorepo 信号时,才提供多上下文选项(根 GLOSSARY-MAP.md 指向各上下文的 GLOSSARY.md 文件),并确认采用哪种布局。
确认与写入
技能会向用户展示草稿:要添加到 CLAUDE.md / AGENTS.md 的 ## Agent skills 块,以及 docs/agents/issue-tracker.md、docs/agents/domain.md、docs/agents/triage-labels.md(最后一个仅在 triage 已安装时)的内容,允许用户先编辑。
写入时选择文件:若 CLAUDE.md 存在则编辑它;否则若 AGENTS.md 存在则编辑它;若两者都不存在,询问用户创建哪一个,不代为决定。当 CLAUDE.md 已存在时绝不创建 AGENTS.md(反之亦然),始终编辑已存在的那个。若所选文件中已有 ## Agent skills 块,则原地更新其内容而不是追加重复块,且不覆盖用户对周围段落的编辑。
## Agent skills 块包含 Issue tracker、Triage labels、Domain docs 三个子块,每个带一行摘要并指向对应 docs 文件。仅当 triage 已安装且 B 部分运行时,才包含 Triage labels 子块并写入 docs/agents/triage-labels.md。在 GitHub 或 GitLab 上运行时,为跟踪器缺失的每个已配置标签执行创建(gh label create / glab label create)。
docs 文件使用该技能文件夹中的种子模板作为起点:
issue-tracker-github.md:GitHub issue 跟踪器issue-tracker-gitlab.md:GitLab issue 跟踪器issue-tracker-local.md:本地 markdown issue 跟踪器triage-labels.md:标签映射(仅在 triage 已安装时)domain.md:领域文档消费者规则 + 布局
对于“其他”issue 跟踪器,根据用户描述从零编写 docs/agents/issue-tracker.md。
完成
完成后告知用户设置已完成,以及哪些工程技能将从此读取这些文件。用户之后可以直接编辑 docs/agents/*.md;只有在想切换 issue 跟踪器或从头重来时,才需要重新运行该技能。
限制
该技能是提示驱动的交互流程,需要用户参与确认,无法完全无人值守地自动运行。分类、价格、平台等资料未提供相关信息。