关于 setup-matt-pocock-skills
Setup Matt Pocock's Skills 为工程技能搭建仓库专属配置。它先检查仓库并提出选项供确认,再写入问题跟踪、分流标签、领域文档和 Work Routing 设置。
主要功能
- 01检查仓库配置与文档
- 02配置问题跟踪说明
- 03设置分流标签约定
- 04定义领域文档布局
- 05创建 Work Routing 文档
适用场景
- 01为工程技能准备仓库
- 02记录问题跟踪位置
- 03设置仓库专用分流标签
- 04建立文档路由与归属规则
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ eszxcvfd/ skills --skill setup-matt-pocock-skills安装后在 Claude Code 中输入/setup-matt-pocock-skills确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
domain.mdissue-tracker-github.mdissue-tracker-gitlab.mdissue-tracker-local.mdtriage-labels.mdagents/openai.yamlwork-routing/ARCHITECTURE.mdPLANS.mdWORK-ROUTING.mdwork-routing/docs/README.mdwork-routing/docs/architecture/CONTENT.mdNETCODE.mdRUNTIME.mdwork-routing/docs/issues/ROADMAP.mdwork-routing/docs/process/DEVELOPMENT.md详细介绍
在开展面向仓库的工作之前,如果目标仓库中存在 WORK-ROUTING.md,请先阅读。在此技能的源代码树中,也请阅读随附的 ../../WORK-ROUTING.md,其中定义了共享指针和规则,供设置过程创建目标本地副本时使用。
设置 Matt Pocock 的 Skills
搭建各仓库专属配置,供工程类技能使用:
- 问题跟踪器 — 问题所在的位置(默认使用 GitHub;也开箱支持本地 Markdown)
- 分类标签 — 用于五种标准分类角色的字符串
- 领域文档 —
CONTEXT.md和 ADR 的存放位置,以及读取这些文档的使用方规则 - Work Routing 文档 — 项目文档的标准集合,负责项目导览、工作泳道、计划、运行时/协议边界,以及内容/包边界
这是一项由提示词驱动的技能,并非确定性脚本。先探索,再展示发现并与用户确认,然后写入。
流程
1. 探索
查看当前仓库,了解其初始状态。读取现有内容;不要想当然:
git remote -v和.git/config— 这是 GitHub 仓库吗?具体是哪一个?- 仓库根目录下的
AGENTS.md和CLAUDE.md— 是否存在其中任意一个?其中是否已有## Agent skills章节? - 仓库根目录下的
CONTEXT.md和CONTEXT-MAP.md docs/adr/和任何src/*/docs/adr/目录docs/agents/— 是否已存在此技能先前生成的内容?WORK-ROUTING.md— 是否已有目标本地路由指针?- 如果存在 Work Routing 路径,请检查这些路径:
ARCHITECTURE.md、docs/README.md、docs/process/DEVELOPMENT.md、docs/issues/ROADMAP.md、PLANS.md、docs/architecture/RUNTIME.md、docs/architecture/NETCODE.md和docs/architecture/CONTENT.md .scratch/— 是否表明已采用本地 Markdown 问题跟踪约定- 是否已安装
triage技能?(与此技能并列的triage技能文件夹,或可用技能中的triage。)这决定是否运行 B 节。 - Monorepo 标志 —
pnpm-workspace.yaml、package.json中的workspaces字段,或包含自身src/的非空packages/*。只有在真正大型的多包仓库中才会出现;如果没有这些标志,就按单一上下文处理,这几乎适用于所有仓库。
2. 展示发现并提问
总结已有内容和缺失项。然后按顺序进行各个部分——一次一个部分,收到一次答复后再进入下一部分。
每个部分开头先给出建议答案,让用户可以用一个词接受。只有当选项确实存在分支时,才用一句话说明;如果探索结果已确定答案,则跳过该部分(未安装 triage 时跳过 B 节,没有 monorepo 时跳过 C 节)。
A 节 — 问题跟踪器。
说明:此处的“问题跟踪器”是指该仓库中问题的存放位置。
to-tickets、triage和to-spec等技能会从中读取并向其中写入内容——它们需要知道是调用gh issue create、在.scratch/下写入 Markdown 文件,还是遵循你描述的其他工作流。请选择你在此仓库中实际用于跟踪工作的方式。
默认倾向:这些技能是为 GitHub 设计的。如果 git remote 指向 GitHub,则建议使用 GitHub。如果 git remote 指向 GitLab(gitlab.com 或自托管主机),则建议使用 GitLab。否则(或用户有其他偏好时),提供以下选项:
- GitHub — 问题存放在仓库的 GitHub Issues 中(使用
ghCLI) - GitLab — 问题存放在仓库的 GitLab Issues 中(使用
glabCLI) - 本地 Markdown — 问题以文件形式存放在此仓库的
.scratch/<feature>/下(适合个人项目或没有远程仓库的仓库) - 其他(Jira、Linear 等)— 请用户用一段话描述工作流;技能会将其记录为自由文本
将选择记录在
docs/agents/issue-tracker.md中。GitHub 和 GitLab 模板包含一个“将 PR 作为请求入口”标记,默认关闭——保持关闭,不要启用;如果用户希望将外部 PR 纳入分诊队列,之后可以在文件中启用此标记。
B 部分——分诊标签词汇表。 如果未安装 triage 技能(探索时已确认),请完全跳过本部分——未安装的技能不需要标签。
如果已安装,请只询问一个问题:
你想保留默认分诊标签吗?(推荐:是)
默认标签是五个规范角色,每个标签字符串都与其名称相同:needs-triage、needs-info、ready-for-agent、ready-for-human、wontfix。如果回答是,则照原样写入。只有用户回答否时——通常是因为其跟踪器已在使用其他名称(例如,用于 needs-triage 的 bug:triage)——才收集覆盖项,让 triage 使用现有标签,而不是创建重复标签。
C 部分——领域文档。 默认采用单上下文布局——在仓库根目录放置一个 CONTEXT.md 和 docs/adr/。这适用于几乎所有仓库;直接写入,无需询问。
只有在探索发现 monorepo 信号时,才提供多上下文布局——在根目录放置一个 CONTEXT-MAP.md,指向各上下文的 CONTEXT.md 文件。然后确认用户想要哪种布局。
D 部分——Work Routing 文档。 本部分为必需项;它不是新的工作通道选择。将目标仓库本地的 WORK-ROUTING.md 指针文件以及以下规范责任文档添加到目标仓库:
| 文档 | 负责内容 |
|---|---|
WORK-ROUTING.md | 指向 Work Routing 文档集的共享指针;不负责任何项目主题 |
ARCHITECTURE.md | 概览和变更路由 |
docs/README.md | 文档归属和路由 |
docs/process/DEVELOPMENT.md | 工作通道选择和验证 |
docs/issues/ROADMAP.md | 当前工作队列 |
PLANS.md | 非平凡计划和持久协调 |
docs/architecture/RUNTIME.md | 运行时归属和生命周期边界 |
docs/architecture/NETCODE.md | 协议和兼容性准入边界 |
docs/architecture/CONTENT.md | 与服务器相关的资源以及 cook/package 边界 |
只阅读已存在的条目。对于缺失的条目,使用 work-routing/ 中的种子内容,并将其标记为初始设置种子,而不是凭空编造项目事实。如果某个条目已存在,则将其视为仓库规范:保留原文,展示任何拟议的补充内容,不要用种子内容替换它。如果现有责任文档未作说明或已过时,在依据新规则行事之前,先记录范围明确的推断,或更新相应的规范责任文档。
文档集必须保留以下归属规则:docs/process/DEVELOPMENT.md 负责工作通道选择,PLANS.md 负责设计说明和检入计划的条件与内容。不要另行编造路由规则。除非适用计划有要求,否则不要因仅涉及文档的编辑、影响范围较小且不涉及归属的修复或部分进展而触发收尾。
3. 确认并编辑
向用户展示以下内容的草稿:
- 要添加到正在编辑的
CLAUDE.md/AGENTS.md中的## Agent skills区块(选择规则见步骤 4) docs/agents/issue-tracker.md、docs/agents/domain.md和docs/agents/triage-labels.md的内容(仅在已安装triage时展示最后一个文件)work-routing/中缺失的WORK-ROUTING.md指针文件和 Work Routing 责任文档,以及针对现有 Work Routing 文档提出的任何范围明确的补充内容
先让用户编辑,然后再写入。
4. 编写
选择要编辑的文件:
- 如果存在
CLAUDE.md,则编辑它。 - 否则,如果存在
AGENTS.md,则编辑它。 - 如果两者都不存在,请询问用户要创建哪个文件——不要替他们决定。
如果 CLAUDE.md 已存在(反之亦然),绝不要创建 AGENTS.md;始终编辑已存在的那个文件。
如果所选文件中已有 ## Agent skills 区块,请就地更新其内容,而不是追加重复区块。不要覆盖周围部分中的用户修改。
该区块:
## 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`.
仅当已安装 triage 且已运行 B 节时,才包含 ### Triage labels 子区块,并写入 docs/agents/triage-labels.md。否则,两者都省略。
然后,以此技能文件夹中的种子模板为起点,编写文档文件:
- issue-tracker-github.md — GitHub 问题跟踪器
- issue-tracker-gitlab.md — GitLab 问题跟踪器
- issue-tracker-local.md — 本地 Markdown 问题跟踪器
- triage-labels.md — 标签映射(仅在安装了
triage时) - domain.md — 领域文档使用方规则与布局
同时编写 WORK-ROUTING.md 和 Work Routing 所有者文档,使用 work-routing/ 下的对应文件。必要时创建其父目录。仅当目标路径不存在时,才复制种子文件。对于已有目标,只添加已确认且保留所有者内容的部分;绝不覆盖文档或抹除项目专属规范。生成的文件中不得包含未经核实的产品、运行时、协议或打包声明。
对于“其他”问题跟踪器,根据用户的描述从头编写 docs/agents/issue-tracker.md。
5. 完成
告知用户设置已完成,以及哪些工程技能现在将从这些文件读取内容。指出目标位置的 WORK-ROUTING.md 指针,并列出已创建或因已存在而保持不变的 Work Routing 所有者文档。说明用户之后可以直接编辑 docs/agents/*.md 和 Work Routing 文档;只有在他们想切换问题跟踪器、更改领域布局或重新生成缺失的设置种子时,才需要再次运行此技能。