catalog/repos/aidankinzett--claude-git-pr-skill.md

5.4 KiB
Raw Permalink Blame History

GitHub PR审查技能

Claude Code GitHub 代码审查 PR gh CLI

Claude Code 的 GitHub PR 审查技能

一个 Claude Code 技能,通过 gh CLI 使用待处理审查和代码建议,确保 GitHub Pull Request 审查的一致性与专业性。

技能功能

本技能教会 Claude

  • 始终使用待处理审查来批量提交评论(即使在时间压力下)
  • 使用 ```suggestion 语法创建代码建议
  • 选择正确的事件类型COMMENT、APPROVE 或 REQUEST_CHANGES
  • 使用正确的 gh api 语法,包括正确的引号和参数标志

安装

方式一:插件市场(推荐)

通过 Claude Code 直接从市场安装:

# 添加此市场
/plugin marketplace add aidankinzett/claude-git-pr-skill

# 安装插件
/plugin install github-pr-review

# 验证安装
/plugin list

团队全局安装,添加到 .claude/settings.json

{
  "extraKnownMarketplaces": [
    {
      "name": "github-pr-skills",
      "source": {
        "source": "github",
        "repo": "aidankinzett/claude-git-pr-skill"
      }
    }
  ],
  "plugins": {
    "github-pr-review": {
      "enabled": true
    }
  }
}

方式二:手动复制

直接将技能复制到技能目录:

# 个人使用(所有项目)
cp -r github-pr-review/skills/github-pr-review ~/.claude/skills/

# 项目专用
cp -r github-pr-review/skills/github-pr-review .claude/skills/

使用方法

安装后,当你请求 Claude 审查 Pull Request 时,它会自动使用本技能。例如:

你:"审查 PR #123 并提出改进建议"
Claude*使用 github-pr-review 技能创建带批量评论的待处理审查*

本技能的独特之处

没有本技能Claude 可能会:

  • 未经确认直接发布评论
  • 在时间压力下跳过待处理审查
  • 使用错误的 gh api 语法
  • 选择错误的事件类型
  • 发布你未批准的评论

使用本技能Claude 将:

  • 发布前向你展示确切内容
  • 通过是/否问题请求明确批准
  • 始终先创建待处理审查
  • 批量汇总所有评论
  • 使用 ```suggestion 块提供代码建议
  • 选择合适的事件类型(小建议用 APPROVE阻塞性问题用 REQUEST_CHANGES
  • 使用正确语法(comments[][] 参数用单引号包裹)

工作流程

本技能强制执行以下工作流:

1. 起草 → 2. 展示并批准 → 3. 发布

第一步:起草审查

Claude 分析 PR 并准备包含代码建议的评论。

第二步:展示并获得批准

Claude 向你展示确切将要发布的内容

  • 每条评论及其文件和行号
  • 已格式化的代码建议
  • 事件类型APPROVE / REQUEST_CHANGES / COMMENT
  • 整体审查摘要

你审阅后批准(或要求修改)。

第三步:发布审查(技术细节)

获得批准后Claude 使用以下模式发布:

# 第一步:创建包含所有评论的 PENDING 审查
gh api repos/:owner/:repo/pulls/123/reviews \
  -X POST \
  -f commit_id="<SHA>" \
  -f 'comments[][path]=file.ts' \
  -F 'comments[][line]=42' \
  -f 'comments[][side]=RIGHT' \
  -f 'comments[][body]=带有 ```suggestion 块的评论...' \
  --jq '{id, state}'

# 第二步:准备好后提交
gh api repos/:owner/:repo/pulls/123/reviews/<REVIEW_ID>/events \
  -X POST \
  -f event="APPROVE" \
  -f body="整体审查摘要"

优势

  • 一致的工作流,适用于所有 PR 审查
  • 专业的批量评论,避免零散通知
  • 每次使用正确语法
  • 更好的事件类型决策
  • 经过实践验证的模式,在压力下同样有效

前提条件

  • Claude Code
  • 已安装并认证的 GitHub CLIgh

许可证

MIT或指定你的许可证

仓库结构

.claude-plugin/
  marketplace.json          # 插件市场定义
github-pr-review/           # 插件根目录
  skills/                   # 技能目录
    github-pr-review/       # 技能本体
      SKILL.md              # 技能定义
CHANGELOG.md                # 版本历史与变更记录

版本管理

本技能遵循语义化版本规范

  • 当前版本: 1.0.0
  • 版本位置: .claude-plugin/marketplace.json
  • 变更历史: 参见 CHANGELOG.md

更新版本

进行变更时:

  1. 更新 CHANGELOG.md — 在 [Unreleased] 下添加条目
  2. 发布时:
    • 将未发布条目移至 CHANGELOG.md 的新版本章节
    • 更新 .claude-plugin/marketplace.json 中的 version
    • 创建 git 标签:git tag -a v1.0.1 -m "Release v1.0.1"
    • 连同标签推送:git push --tags

版本号说明:

  • PATCH1.0.1)— Bug 修复、错别字、小幅改进
  • MINOR1.1.0)— 新功能,向后兼容
  • MAJOR2.0.0)— 技能行为的破坏性变更

贡献

本技能采用测试驱动开发方式构建:

  1. 基准测试识别出违规行为(在时间压力下立即发布、无用户批准)
  2. 编写技能以解决这些违规问题
  3. 测试验证技能正确运行
  4. 测试并处理边界情况
  5. 根据用户反馈添加批准工作流

如果发现技能无法正确处理的边界情况,欢迎提交 Issue

开发

本地测试变更:

# 创建符号链接用于测试
ln -s $(pwd)/github-pr-review/skills/github-pr-review ~/.claude/skills/github-pr-review

# 或在本地使用插件市场
/plugin marketplace add file://$(pwd)
/plugin install github-pr-review