Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

Claude Code 技能

该仓库在 .claude/skills/ 下提供了一组 Claude Code skills,用于自动化维护者工作流中较为繁重的部分:PR 审查、issue 分类、squash 合并、变更日志生成等。

每个技能都位于其自己的目录中,并包含一个 SKILL.md 文件。当你打开仓库时,Claude Code 会自动加载它们;你可以通过用自然语言描述你的需求,或通过显式引用(例如 /squash-merge 1234)来调用它们。

可用技能

技能当需要
github-pr-review-session审查特定 PR 或处理审查队列:起草审查正文,与源代码交叉核对,并以当前账户持有者的身份通过 gh 发布
github-issue-triage执行待办清理,关闭陈旧/重复的 issue,添加标签,并落实规范的issue 陈旧策略
github-issue提交结构化的问题(错误报告或功能请求)
github-pr使用完全填充的模板正文打开或更新 PR
squash-merge将已批准的 PR 合并到 master 分支,保留提交历史并显示紫色的 已合并 徽章
changelog-generation为发布准备 CHANGELOG-next.md:汇总自上次标签以来的合并记录
skill-creator创建、编辑或基准测试技能本身
zeroclaw操作正在运行的 ZeroClaw 实例(CLI + 网关 API)

PR 审查流程

github-pr-review-session 技能是审查日的主要工具。一个典型的会话如下所示:

> review 1234

该技能会读取 AGENTS.md、审查员手册以及 PR 的差异和提交记录,然后起草一份审查意见。它使用:

  • 行内差异注释,针对每一项与特定行关联的 🔴 阻塞、🟡 警告或 🔵 建议类发现。
  • 评审正文用于说明总体结论、理解摘要、交叉引用,以及与具体行无关的模板级问题
  • 裸提交哈希(绝不用反引号包裹:GitHub 会自动为其添加链接)
  • @-前缀的用户名 在所有评论内容中

审查结论遵循反馈分类法:🔴 [blocking] 会阻止 PR 合并,🟡 [warning] 应当处理,🔵 [suggestion] 为可选项,🟢 [praise] 指出做得好的地方,✅ [resolved] 在重新审查时确认某项结论已得到处理。PR Review Protocol 是各级别及审查正文 Markdown 格式的权威依据。

该技能在发布前始终会显示草稿以供审批。评论以人工审查者的身份发布,而非以机器人身份发布。

更改后重新审查:

> re-review 1234

或者处理队列中的任务:

> go through the queue

问题分类工作流

github-issue-triage 技能在既定的权限范围内运行自主待办事项清理。不带参数运行时,它会执行一次核算遍历(待办事项状态,然后提示选择模式);否则,可用的模式如下:

  • 分类:处理无分类标签的问题:归类、应用标签、关联到开放的 PR、标记信息不足的 bug 报告、重定向安全问题
  • 清扫:按优先级顺序对全部待办事项进行处理(已被合并 PR 修复 → 重复项 → r:support → 过期候选项)
  • Stale:应用规范的议题过期策略status:stale、响应窗口、排除项及重新参与)
  • 不予修复:关闭违反某项明确核心工程约束的问题,并引用该约束及其 AGENTS.md/RFC 出处
  • 单个:通过编号或 URL 处理一个 issue

标签定义见 Labels;该技能应用的分诊标签(r:needs-repror:supportstale-candidatestatus:* 生命周期标签以及解决方案标签)均在此定义。陈旧处理流程见 issue-triage 技能协议,审阅方的相关背景见 Reviewer playbook → Issue triage。该技能在操作前会将不明确的情况上报给用户。

压缩合并策略

ZeroClaw 对所有 PR 使用 squash-merge。squash-merge 技能会生成紫色的 Merged 徽章,以及一个符合 conventional-commits 格式的 squash 消息,其中包含完整的提交历史。

为什么需要这个技能

GitHub 的默认压缩合并(squash-merge):

  • 从主题中省略 PR 编号
  • 不一致地格式化正文
  • 不符合项目规范

直接将 squash 推送到 master 会绕过 PR 合并机制:PR 会显示为 “Closed” 而非 “Merged”(没有紫色徽章、不会自动关闭关联的 issue、没有合并关联记录)。该技能使用 gh pr merge --subject --body 来同时获得徽章和格式正确的提交。

格式

  • 标题: <PR title> (#<number>):必须符合 conventional commits 规范(feat(scope): …fix: … 等)
  • 正文(多提交 PR): PR 分支中 - <短 SHA> <提交主题> 的无序列表
  • 正文(单提交 PR): 完整的提交正文,如果没有则为空

预飞行检查

技能停止在:

  1. PR 未打开
  2. PR 指向的分支不是 master
  3. 存在合并冲突(用户必须要求作者重新变基)
  4. CHANGES_REQUESTED 审查待处理
  5. gh CLI 版本小于 2.17.0(缺少 --subject/--body 标志)

REVIEW_REQUIRED 状态会提示确认,但不会阻止操作。

调用

> squash-merge 1234

或显式:

> /squash-merge 1234

该技能在调用 gh pr merge 之前,始终会确认生成的主题和正文。

Changelog 生成

changelog-generation 通过查询 gh 自上一个标签以来合并的 PR,按 conventional-commits 前缀进行分组,并格式化为项目特定的 changelog 样式,从而为发布构建 CHANGELOG-next.md。请将其作为发布运行手册的一部分,在触发 release-stable-manual.yml 之前使用。

编辑技能

Skills 是带有 YAML frontmatter 的纯 Markdown 文件。其 description 字段是 Claude Code 用来决定何时触发它们的依据:内容要具体,并包含明确的触发短语("review 1234""triage issues" 等)。使用 skill-creator 来编辑它们;它会强制执行结构规范,并帮助运行评估以衡量触发准确率。

当某个技能的行为与文档描述不符时(例如审查者手册发生变化),请同时更新该技能所有引用它的文档。技能的 SKILL.md 是自动化的权威来源,而贡献文档则是面向人类的权威来源。