SuperAPI AI 工具集

code-review-report

编程与开发

查看项目

更新于 10-15 09:31

技能介绍

用途

Code Review Report 用于生成一份单文件 HTML 代码审查报告,供审查者在查看原始 diff 之前阅读。diff 只能展示“改了什么”,无法展示“为什么改”、哪些方案被否决、还有什么尚未完成。该工具的核心价值在于用对话中积累的上下文填补这一空白,使其区别于普通的 diff 查看器。

主要能力

  • 收集代码变更:通过 git status 和 git diff 获取变更内容。默认范围为当前分支对比默认分支,加上未提交的工作区。
  • 收集工作上下文:从当前对话中提取 diff 不会记录的信息,包括改了什么及原因、设计决策及其理由、被否决的替代方案、权衡取舍、未完成的工作与后续步骤、过程中提出的顾虑与做出的反转。
  • 提取审查要点:将变更代码与工作上下文交给子代理,收集其标记的 P1–P3 发现。上下文注入是关键,缺少上下文只能得到表面评论,无法发现规格不匹配或决策之间的矛盾。对于大型变更,可按视角并行运行多个子代理。
  • 生成 HTML 报告:从模板开始,按报告结构组织章节,按样式指南控制视觉规则。两项不可妥协的要求:代码块语法高亮(添加 language-* 类);变更详情与审查清单之间的双向锚点。
  • 本地化:使用用户工作语言撰写报告,翻译模板标题并设置 <html lang>,代码保持原样。
  • 自检与定稿:完成前运行报告结构末尾的自检。保存到项目根目录,文件名为 <task-slug>-review-report.html(kebab-case 任务名)。内联 vendored highlight.js 替换模板占位符,使报告自包含且可离线使用。最后为用户打开报告。

使用方式

  1. 收集变更:检查 git status 和 git diff。默认范围:当前分支对比默认分支,加上未提交的工作区。命令示例:git diff <base>...HEAD(已提交)、git diff HEAD(未提交)。未跟踪文件不会出现在 diff 中,需用 git status 找到并直接读取。如果范围混杂或包含无关变更,询问用户,排除无关变更或单独标记。
  2. 收集工作上下文:从对话中收集上述信息。如果对话中缺少(例如技能是全新调用的),从 git log、提交信息、PR 和相关文档重建。如果仍然为空,询问用户。
  3. 提取审查要点:将变更代码和工作上下文交给子代理,收集 P1–P3 发现。阅读 references/review-perspectives.md 获取视角列表和子代理提示骨架。大型变更按视角并行运行子代理。
  4. 编写 HTML:从 assets/template.html 开始。按 references/report-structure.md 组织章节,按 references/style-guide.md 控制视觉规则。确保代码块语法高亮和双向锚点。用用户工作语言撰写,翻译模板标题并设置 <html lang>,代码保持原样。完成前运行自检。
  5. 定稿:保存到项目根目录,文件名为 <task-slug>-review-report.html。内联 highlight.js:python3 <skill-dir>/scripts/inline_hljs.py <report-path>。打开报告:macOS 用 open <report-path>,Linux 用 xdg-open,Windows 用 start。

适用场景

  • 需要在代码审查前快速理解变更背景与设计意图的团队。
  • 变更涉及重要设计决策、被否决方案或权衡取舍,需要向审查者说明。
  • 存在未完成工作或后续步骤,需要在审查中明确标注。
  • 希望生成自包含、可离线查看的 HTML 报告,便于分享或归档。

限制

  • 依赖 git 仓库和 git 命令获取变更。
  • 工作上下文主要来自当前对话;若对话中缺失,需从 git log、提交信息、PR 和相关文档重建,仍为空则需询问用户。
  • 未跟踪文件不会出现在 diff 中,需手动查找和读取。
  • 报告生成依赖模板、参考文档和脚本(references/review-perspectives.md、references/report-structure.md、references/style-guide.md、assets/template.html、scripts/inline_hljs.py)。
  • 关于收费、价格、平台支持范围等具体信息暂未提供。