mcpField
S
setup-matt-pocock-skills

setup-matt-pocock-skills

github.com/eszxcvfdAgent 工作流137 次安装11 周前更新
代码仓库

关于 setup-matt-pocock-skills

Setup Matt Pocock's Skills 为工程技能搭建仓库专属配置。它先检查仓库并提出选项供确认,再写入问题跟踪、分流标签、领域文档和 Work Routing 设置。

主要功能

  1. 01检查仓库配置与文档
  2. 02配置问题跟踪说明
  3. 03设置分流标签约定
  4. 04定义领域文档布局
  5. 05创建 Work Routing 文档

适用场景

  1. 01为工程技能准备仓库
  2. 02记录问题跟踪位置
  3. 03设置仓库专用分流标签
  4. 04建立文档路由与归属规则

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/eszxcvfd/skills --skill setup-matt-pocock-skills

安装后在 Claude Code 中输入/setup-matt-pocock-skills确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

domain.md
issue-tracker-github.md
issue-tracker-gitlab.md
issue-tracker-local.md
triage-labels.md
agents/
openai.yaml
work-routing/
ARCHITECTURE.md
PLANS.md
WORK-ROUTING.md
work-routing/docs/
README.md
work-routing/docs/architecture/
CONTENT.md
NETCODE.md
RUNTIME.md
work-routing/docs/issues/
ROADMAP.md
work-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 中(使用 gh CLI)
  • GitLab — 问题存放在仓库的 GitLab Issues 中(使用 glab CLI)
  • 本地 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。否则,两者都省略。

然后,以此技能文件夹中的种子模板为起点,编写文档文件:

同时编写 WORK-ROUTING.md 和 Work Routing 所有者文档,使用 work-routing/ 下的对应文件。必要时创建其父目录。仅当目标路径不存在时,才复制种子文件。对于已有目标,只添加已确认且保留所有者内容的部分;绝不覆盖文档或抹除项目专属规范。生成的文件中不得包含未经核实的产品、运行时、协议或打包声明。

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

5. 完成

告知用户设置已完成,以及哪些工程技能现在将从这些文件读取内容。指出目标位置的 WORK-ROUTING.md 指针,并列出已创建或因已存在而保持不变的 Work Routing 所有者文档。说明用户之后可以直接编辑 docs/agents/*.md 和 Work Routing 文档;只有在他们想切换问题跟踪器、更改领域布局或重新生成缺失的设置种子时,才需要再次运行此技能。

评论

支持 Markdown