Agent Skills
返回列表
💻

代码审查洞察

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_2fd890c9/code-review-report,以便在 AI 助手中调用该代码审查报告技能。

技能介绍

解决什么问题

git diff 之后的改动往往只有几十到几百行,但人工翻看时很容易错过几类高频问题:硬编码密码、把调试日志留在提交里、误引入平台相关依赖、临时 sleep 卡住性能路径。这个技能解决的是把这一类可被规则描述的问题,在提交前或 CI 中快速筛出来,而不是对整个仓库做全量扫描。

它把 diff 当作单一输入流,逐行解析新增、删除、修改内容,适合「这次改动有没有踩常见坑」这种轻量审查。

如何工作

核心流程很简单:准备 diff → 规则扫描 → 分级报告 → 按需落盘。

  • 解析 diff:支持标准 git diff 输出,也支持从标准输入读取,例如 git diff HEAD~1 | python run.py --diff -,无需生成临时文件。
  • 剥离注释与字符串:匹配前先剥离注释和字符串内容,避免把注释里出现的 password 当成真实密钥触发误报。
  • 规则扫描:内置 4 条规则,覆盖安全、日志、性能、平台依赖四类高频反模式。规则基于正则匹配,不涉及语义理解。
  • 分级输出:问题按 P0 / P1 / P2 三级输出,可通过 --filter P0 只看严重项;格式支持 Markdown(给人看)和 JSON(给流水线解析)。
  • 脱敏处理:疑似密码或密钥内容会自动遮蔽,例如 password=123456 会变成 password=******,降低 diff 中泄露凭据的风险。
  • 默认不写盘:不加 --force 时只在终端打印报告;确认后再用 --output report.md --force 落盘。写文件采用先写临时文件再重命名的原子方式,避免中途失败留下损坏文件。
  • 双入口与编码兼容:run.py --diff <file> 和 main.py <file> 两个入口等价;自动识别 UTF-8 / GBK / GB18030,中文注释与字符串不会乱码。
  • 可扩展规则:通过 --rules my_rules.json 加载自定义规则文件,补充团队内部约定的检查项。
  • 自测验证:--selftest 会跑内置 12 条断言,确认当前环境可用。

适用边界

它能做的是针对单份 diff 的轻量静态检查,明确不能做的有这些:

  • 不做语义级审查:不分析业务逻辑、算法复杂度、架构合理性,规则引擎理解不了代码含义。
  • 不覆盖全部反模式:4 条内置规则聚焦最高频问题,需要更全的检查要接 SonarQube 或完整 SAST 工具。
  • 不处理跨文件关联:输入是单文件流,没有跨文件上下文,可以先合并多个 diff 再传入。
  • 不执行代码:内存泄漏、并发问题、运行时异常等只能靠单测和集成测试发现。
  • 不做质量评分:只输出问题清单与修复优先级建议,不给出分数或趋势图。
  • 超大 diff 需要分段:超过约 10MB 的 diff 可能超时,建议按目录或文件拆分后分批跑。

适合个人开发者提交前自查、小型团队在 CI 里做辅助检查、学习者认识常见代码反模式。不适合作为唯一质量门禁,也不适合替代人工 Code Review。

使用场景

  • 提交 PR 前自查改动:把 git diff HEAD~1 传给 run.py,确认没有硬编码密码或遗留的调试日志。
  • CI 流水线里做辅助门禁:用 --format json 加 --filter P0,只把严重问题输出成告警,不阻断合并。
  • 改动涉及多个大目录时:按 src/ 等路径拆分 diff 再管道传入,避免单次审查超时。
  • 落地团队代码约定:写一份 my_rules.json,把内部命名或敏感接口规则交给 --rules 加载扫描。

适合人员

  • 个人开发者:想在 commit 前用一条命令确认本次改动没有踩到密钥或调试日志这类高频坑。
  • CI 工程师:需要在流水线里加一个轻量检查步骤,解析 JSON 输出、只对 P0 问题报警。
  • 小型团队技术负责人:想把团队内部的代码约定固化成规则文件,让每次提交自动扫描。
  • 后端学习者:想通过真实 diff 案例认识常见反模式,并理解正则规则匹配的边界。