mcpField
S
setup-matt-pocock-skills

setup-matt-pocock-skills

github.com/nulfrogAgent 工作流038 次安装2 周前更新
代码仓库

关于 setup-matt-pocock-skills

Setup Matt Pocock's Skills 是一项由提示驱动的技能,用于配置仓库的议题跟踪、分流标签和领域文档约定。它先检查仓库并呈现发现供确认,再写入商定的配置。

主要功能

  1. 01检查仓库约定
  2. 02配置议题跟踪方式
  3. 03设置分流标签词汇
  4. 04指定领域文档位置
  5. 05写入前确认发现

适用场景

  1. 01为新仓库配置技能
  2. 02记录现有议题跟踪实践
  3. 03配置单体仓库文档

安装

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

$npx skills add https://github.com/nulfrog/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

详细介绍

配置 Matt Pocock 的技能

搭建工程技能所需的每仓库配置:

  • 问题跟踪器:问题存放的位置(默认使用 GitHub;开箱即支持本地 Markdown)
  • 分类标签:用于五种规范分类角色的字符串
  • 领域文档:CONTEXT.md 和 ADR 的存放位置,以及读取这些文档的使用规则

这是一个由提示词驱动的技能,而非确定性脚本。先探索并展示发现,然后向用户确认,最后再写入。

流程

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/:是否已存在此技能之前的输出?
  • .scratch/:表明可能已在使用本地 Markdown 问题跟踪器约定
  • 是否已安装 triage 技能?(与此技能并列的 triage 技能文件夹,或可用技能中的 triage。)这决定是否运行 B 部分。
  • 单体仓库的信号: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 加入 triage 队列,之后可以在文件中切换此标记。

B 部分:Triage 标签用语。 如果未安装 triage 技能(探索过程已确认),则完全跳过此部分,因为未安装的技能不需要标签。

如果已安装,则只问一个问题:

你想保留默认的 triage 标签吗?(推荐:是)

默认标签为五个规范角色,每个标签字符串都与其名称相同:needs-triage、needs-info、ready-for-agent、ready-for-human、wontfix。如果回答是,则按原样写入。只有用户回答否时(通常是因为其跟踪工具已使用其他名称,例如用 bug:triage 表示 needs-triage),才收集需要覆盖的名称,让 triage 使用现有标签而不是创建重复标签。

C 部分:领域文档。 默认采用单上下文(在仓库根目录下放置一个 CONTEXT.md 和 docs/adr/)。这适用于几乎所有仓库;直接写入,无需询问。

只有在探索发现 monorepo 信号时,才提供多上下文(根目录下的 CONTEXT-MAP.md 指向各上下文对应的 CONTEXT.md 文件)。然后确认用户想要哪种布局。

3. 确认并编辑

向用户展示以下内容的草稿:

  • 要添加到正在编辑的 CLAUDE.md / AGENTS.md 中的 ## Agent skills 区块(选择规则见步骤 4)
  • docs/agents/issue-tracker.md、docs/agents/domain.md 和 docs/agents/triage-labels.md 的内容(仅在安装了 triage 时展示最后一个文件)

写入前让用户进行修改。

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 已安装且已运行 Section B 时,才包含 ### Triage labels 子区块,并编写 docs/agents/triage-labels.md。否则,两者都省略。

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

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

5. 完成

告知用户设置已完成,并说明哪些工程技能今后会读取这些文件。提及用户之后可以直接编辑 docs/agents/*.md;只有在想切换问题跟踪工具或从头开始时,才需要重新运行此技能。

评论

支持 Markdown