返回技能市场
通用工具 安全

setup-matt-pocock-skills

@admin/setup-matt-pocock-skills

Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.

admin 热度 431v0.0.1

设置 Matt Pocock 的技能

搭建工程技能所假定的每个仓库的配置:

  • 问题跟踪器:问题存放的位置(默认 GitHub;开箱也支持本地 markdown)
  • 分诊标签:用于五个规范分诊角色的字符串
  • 领域文档CONTEXT.md 和 ADR 存放的位置,以及读取它们的消费者规则

这是一个由提示词驱动的技能,不是确定性脚本。探索、展示你发现的内容、与用户确认,然后写入。

流程

1. 探索

查看当前仓库以了解其起始状态。读取所有存在的内容;不要假设:

  • git remote -v.git/config:这是一个 GitHub 仓库吗?是哪一个?
  • 仓库根目录下的 AGENTS.mdCLAUDE.md:任一文件是否存在?其中是否已经有 ## Agent skills 部分?
  • 仓库根目录下的 CONTEXT.mdCONTEXT-MAP.md
  • docs/adr/ 以及任何 src/*/docs/adr/ 目录
  • docs/agents/:此技能之前的输出是否已经存在?
  • .scratch/:表明本地 markdown 问题跟踪器约定已经在使用中
  • 是否安装了 triage 技能?(此技能旁边有一个 triage 技能文件夹,或者你的可用技能中包含 triage。)这决定了 B 节是否运行。
  • Monorepo 信号:pnpm-workspace.yamlpackage.json 中的 workspaces 字段,或拥有各自 src/ 的已填充 packages/*。这些仅存在于真正的大型多包仓库中;它们不存在意味着单上下文,这适用于几乎每个仓库。

2. 展示发现并询问

总结存在什么以及缺少什么。然后按顺序处理各节。一节,一个答案,然后下一节。

以推荐答案开头引导每一节,以便用户只需一个词即可接受。只有在选择确实存在分支时才给出一行说明;当探索已经确定时,完全跳过该节(当 triage 未安装时跳过 B 节,当没有 monorepo 时跳过 C 节)。

A 节:问题跟踪器。

说明:“问题跟踪器”是此仓库中问题存放的位置。像 to-ticketstriageto-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-triageneeds-infoready-for-agentready-for-humanwontfix。如果回答 ,按原样写入它们。只有当用户说否,通常因为其跟踪器已经使用其他名称(例如为 needs-triage 使用 bug: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.mddocs/agents/domain.mddocs/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 已安装并且 B 节已运行时,才包含 ### Triage labels 子块并写入 docs/agents/triage-labels.md。当未安装时,两者都省略。

然后使用此技能文件夹中的种子模板作为起点写入文档文件:

  • [issue-tracker-github.md](./issue-tracker-github.md):GitHub 问题跟踪器
  • [issue-tracker-gitlab.md](./issue-tracker-gitlab.md):GitLab 问题跟踪器
  • [issue-tracker-local.md](./issue-tracker-local.md):本地 markdown 问题跟踪器
  • [triage-labels.md](./triage-labels.md):标签映射(仅当 triage 已安装时)
  • [domain.md](./domain.md):领域文档消费者规则 + 布局

对于“其他”问题跟踪器,使用用户的描述从零开始写入 docs/agents/issue-tracker.md

5. 完成

告诉用户设置已完成,以及哪些工程技能现在将从这些文件读取。提及他们可以稍后直接编辑 docs/agents/*.md;只有在他们想要切换问题跟踪器或从头重新开始配置时,才需要重新运行此技能。

qianwen skills install @admin/setup-matt-pocock-skills