mcpField
F
fix-coderabbit-review

fix-coderabbit-review

github.com/pedronauck测试与质量644220 次安装1 周前更新
代码仓库

关于 fix-coderabbit-review

fix-coderabbit-review 是用于处理 PR CodeRabbit 审查意见的技能,要求先逐项验证,再修复、一次性提交并解决审查线程。适用于需要按固定流程完成代码审查整改的仓库。

主要功能

  1. 01导出 PR 未解决意见
  2. 02逐项验证技术有效性
  3. 03修复有效问题并更新测试
  4. 04所有整改合并为一次提交
  5. 05提交后解决审查线程

适用场景

  1. 01集中处理 PR 中的 CodeRabbit 意见
  2. 02为每项审查意见记录有效性判断
  3. 03确认整改完成并关闭对应线程

安装

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

$npx skills add https://github.com/pedronauck/skills --skill fix-coderabbit-review

安装后在 Claude Code 中输入/fix-coderabbit-review确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
scripts/
pr_review.py
resolve_pr_issues.py

详细介绍

修复 CodeRabbit 审查问题

严格按顺序执行 PR 审查问题的修复:导出问题、修复所有问题、一次性提交、解决讨论串。

核心原则:在更改代码前,先从技术角度评估每条审查意见。不要盲目采纳建议。

必需输入

  • PR 编号(整数)。
  • 环境中设置的 GITHUB_TOKEN。
  • 已通过身份验证且指向目标仓库的 gh。

工作流

  1. 导出 PR 的审查问题。
  2. 分类并验证每条未解决的问题。
  3. 完整修复每条已验证的问题。
  4. 将所有修复一次性提交为一个提交。
  5. 解决审查讨论串,并将已导出的问题标记为已解决。

从仓库根目录运行命令。

步骤 1:导出 CodeRabbit 问题

使用随附的导出脚本:

PR_NUMBER=<pr-number>
uv run .claude/skills/fix-coderabbit-review/scripts/pr_review.py "$PR_NUMBER" --hide-resolved

读取生成的文件:

  • ai-docs/reviews-pr-<PR_NUMBER>/_summary.md
  • ai-docs/reviews-pr-<PR_NUMBER>/issues/*.md

如果 _summary.md 显示仍有未解决的问题,请继续处理,直到所有问题都在代码中得到解决。

步骤 2:分类并验证问题

实施前,检查每个未解决问题文件。

对于每个问题:

  1. 重述所需的具体技术更改。
  2. 根据当前代码库的行为和测试进行验证。
  3. 从以下选项中作出判断:
    • VALID:建议正确,应予以实施。
    • INVALID:建议不正确,或对当前代码库不可执行。

规则:

  • 如果问题含糊不清,将其视为 INVALID,在问题文件中记录理由和假设,然后继续执行。
  • 如果问题为 INVALID,直接在问题文件中记录技术理由,不要强行实施不恰当的更改。
  • 优先依据技术证据,而非表示赞同的措辞。

步骤 3:彻底修复问题

处理 ai-docs/reviews-pr-<PR_NUMBER>/issues/ 下所有未解决的问题文件。

  • 在源代码中实施达到生产质量标准的修复。
  • 添加或更新测试,验证每项修复。
  • 一次处理一个问题,每项修复验证通过后再处理下一项。
  • 不要留下不完整的修复。
  • 除非问题无效,否则不要跳过;对于无效问题,请在问题文件中保留理由。

完成所有问题修复后,在提交前运行完整验证:

pnpm run lint
pnpm run typecheck
pnpm run test

步骤 4:一次性提交所有修复

创建且仅创建一个修复提交,其中包含所有相关代码、测试和问题跟踪更改。

git add -A
git commit -m "fix(repo): resolve PR #<PR_NUMBER> review issues"

不要将修复拆分到多个提交中。

步骤 5:解决审查讨论串

创建单个提交后,解决已导出问题对应的讨论串。

根据问题文件确定问题编号范围(例如:001 到 018),然后运行:

uv run .claude/skills/fix-coderabbit-review/scripts/resolve_pr_issues.py \
  --pr-dir ai-docs/reviews-pr-<PR_NUMBER> \
  --from <first-issue-number> \
  --to <last-issue-number>

重新打开 ai-docs/reviews-pr-<PR_NUMBER>/_summary.md,确认未解决问题数为 0。

如果特定 ID 的讨论串无法解决,请保留这些问题的未解决状态,并准确报告失败项,不要声称已完成。

输出要求

交付:

  • 一个包含所有修复的提交。
  • 分诊时记录的每个问题的技术判定(VALID 或 INVALID)。
  • 更新后的 ai-docs/reviews-pr-<PR_NUMBER>/issues/*.md 状态。
  • 更新后的 ai-docs/reviews-pr-<PR_NUMBER>/_summary.md 计数和检查清单。
  • 已解决的相关审查讨论串。

评论

支持 Markdown