SuperAPI AI 工具集

review-code

编程与开发

查看项目

更新于 10-15 18:46

技能介绍

用途

review-code 是一项编排型技能(元技能),用于生成全面的代码审查报告。它本身不执行任何代码分析,而是按固定顺序调度其他原子审查技能,收集各自的发现,去重后汇总为一份报告,并在最后阶段派生风险信号。

当用户要求完整的“审查代码”或“代码审查”,并希望一次性获得影响、语言/框架约定、安全性、性能和架构等多维度结果时使用。若只需单维度审查(例如仅 diff 或仅安全),应直接调用相应的原子技能(review-diff、review-security 等)。

主要能力

  • 按固定顺序编排原子审查技能:范围 → 语言 → 框架 → 库 → cognitive。
  • 与用户确认审查范围(差异或代码库、路径、语言/框架)。
  • 收集每个原子技能的结果,采用标准格式:位置、类别、严重性、标题、描述、建议。
  • 将结果汇总并去重到单一报告:相同位置 + 标题的重复发现合并,保留最高严重性,并在描述中注明其他步骤。
  • 从最终去重结果和变更背景中派生风险信号(而非从单个技能),可选附带 risk_confidence(0.0–1.0)。

使用方式

执行顺序固定如下:

  1. 范围:根据用户意图选择 review-diff(查看当前更改,含暂存与未暂存)或 review-codebase(查看给定路径、目录或仓库)。
  2. 语言(可选):根据主要语言选择 review-dotnet(.NET/C#/F#)、review-java、review-go、review-php、review-powershell(.ps1/.psm1/.psd1)、review-sql;无匹配则跳过。
  3. 框架(可选):如 review-vue(Vue 3);无匹配则跳过。
  4. 库(可选):如项目大量使用具有专门审查技能的关键库(例如 review-entityframework,如可用);否则跳过。
  5. cognitive:按顺序运行 review-security、review-performance、review-architecture、review-testing。
  6. 聚合:合并所有结果,按类别或位置分组,可选在顶部添加摘要(如按严重性或类别计数)。
  7. 风险信号聚合(仅最后阶段):从去重后的最终结果和显式变更上下文派生紧凑的 risk_signals 列表;无明确信号时输出空列表 []。

运行前需与用户确认:范围(若用户未明确说明差异或代码库,必须询问,默认差异);范围=差异时确认是否包含未跟踪文件(默认是);范围=代码库时确认路径(默认仓库根目录);范围=代码库且很大时默认按层(模块/目录)输出;语言/框架无法推断时提供选项([.NET] [Java] [Go] [PHP] [PowerShell] [SQL] [Vue] [Skip]),不要求自由文本输入。执行后需说明哪些步骤已运行、哪些被跳过及原因。

适用场景

  • 完整代码审查:用户要求“审查代码”或“审查我的更改”,期望一次性获得影响、语言/框架约定、安全性、性能和架构结果。
  • 预 PR 或预提交:运行完整管道(差异 + 技术栈 + cognitive)并获取一份报告。
  • 一致的管道:每次执行顺序相同,便于 Cursor 或代理逐步遵循。

限制

  • 不在本技能内执行任何代码分析,只协调其他技能并聚合。
  • 不改变执行顺序(范围 → 语言 → 框架 → 库 → cognitive)。
  • 不发明发现,仅包含实际运行的原子技能产生的结果。
  • 不要求每个原子技能发出风险信号;风险标签由协调器拥有,仅在最终聚合时生成。
  • 不负责实施修复(使用开发/重构技能)、不负责编写或修改测试(使用测试技能)。
  • 单维度审查应直接使用原子技能;汇总报告完成后移交给用户或开发工作流。

输出合约

聚合报告使用与原子技能相同的发现格式:位置(path/to/file.ext,可选行或范围)、类别(范围、语言-、框架-、库-、cognitive-)、严重性(批评、主要、次要、建议)、标题(简短一行摘要)、描述(1–3 句)、建议(可选)。可选 risk_signals: string[] 与 risk_confidence: { [signal: string]: number }。

风险信号映射(聚合器拥有)示例:auth_change(认证流程、令牌/会话、登录逻辑、SSO/OAuth 或认证中间件变更)、permission_change(授权检查、ACL/RBAC、IDOR、角色/权限矩阵)、data_loss(破坏性数据操作、不可逆变更、不安全删除/截断、迁移回滚缺口)、backward_incompatible(API/合约/架构行为中断且无版本控制/弃用处理)、config_change(行为关键配置/默认值变更)、external_api_change(上下游 API 合约、请求/响应形状、Webhook/事件格式、客户端 SDK 期望变更)、sql_migration(DDL/索引/约束迁移脚本或 SQL 架构演化风险)、ci_script_change(CI/CD 工作流、构建/发布脚本、部署自动化、测试门控脚本)、crypto_security(加密/散列/签名/密钥管理问题或算法变更)、performance_regression(可测量的延迟/吞吐量/内存回归风险)。使用证据优先映射,无至少一项支持发现或明确变更时不推断信号;每个信号只发出一次。