关于 fix-coderabbit-review
fix-coderabbit-review 是用于处理 PR CodeRabbit 审查意见的技能,要求先逐项验证,再修复、一次性提交并解决审查线程。适用于需要按固定流程完成代码审查整改的仓库。
主要功能
- 01导出 PR 未解决意见
- 02逐项验证技术有效性
- 03修复有效问题并更新测试
- 04所有整改合并为一次提交
- 05提交后解决审查线程
适用场景
- 01集中处理 PR 中的 CodeRabbit 意见
- 02为每项审查意见记录有效性判断
- 03确认整改完成并关闭对应线程
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ pedronauck/ skills --skill fix-coderabbit-review安装后在 Claude Code 中输入/fix-coderabbit-review确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlscripts/pr_review.pyresolve_pr_issues.py详细介绍
修复 CodeRabbit 审查问题
严格按顺序执行 PR 审查问题的修复:导出问题、修复所有问题、一次性提交、解决讨论串。
核心原则:在更改代码前,先从技术角度评估每条审查意见。不要盲目采纳建议。
必需输入
- PR 编号(整数)。
- 环境中设置的
GITHUB_TOKEN。 - 已通过身份验证且指向目标仓库的
gh。
工作流
- 导出 PR 的审查问题。
- 分类并验证每条未解决的问题。
- 完整修复每条已验证的问题。
- 将所有修复一次性提交为一个提交。
- 解决审查讨论串,并将已导出的问题标记为已解决。
从仓库根目录运行命令。
步骤 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.mdai-docs/reviews-pr-<PR_NUMBER>/issues/*.md
如果 _summary.md 显示仍有未解决的问题,请继续处理,直到所有问题都在代码中得到解决。
步骤 2:分类并验证问题
实施前,检查每个未解决问题文件。
对于每个问题:
- 重述所需的具体技术更改。
- 根据当前代码库的行为和测试进行验证。
- 从以下选项中作出判断:
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