mcpField
S
setup-matt-pocock-skills

setup-matt-pocock-skills

github.com/timschochAgent 工作流0142 次安装5 天前更新
代码仓库

关于 setup-matt-pocock-skills

这是一个由提示词驱动的 Skill,用于配置 Matt Pocock 工程 Skill 所需的仓库约定。它会检查仓库、与用户确认选项,再写入问题跟踪、分类标签和领域文档设置。

主要功能

  1. 01检查仓库状态与现有约定
  2. 02配置问题跟踪工作流
  3. 03按需设置分类标签映射
  4. 04选择单上下文或多上下文文档
  5. 05更新现有 Agent Skill 指引

适用场景

  1. 01为工程 Skill 准备代码仓库
  2. 02记录 GitHub、GitLab 或本地的问题跟踪方式
  3. 03使分类标签与现有跟踪系统一致

安装

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

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