用途
review-code 是一项编排型技能(元技能),用于生成全面的代码审查报告。它本身不执行任何代码分析,而是按固定顺序调度其他原子审查技能,收集各自的发现,去重后汇总为一份报告,并在最后阶段派生风险信号。
当用户要求完整的“审查代码”或“代码审查”,并希望一次性获得影响、语言/框架约定、安全性、性能和架构等多维度结果时使用。若只需单维度审查(例如仅 diff 或仅安全),应直接调用相应的原子技能(review-diff、review-security 等)。
主要能力
- 按固定顺序编排原子审查技能:范围 → 语言 → 框架 → 库 → cognitive。
- 与用户确认审查范围(差异或代码库、路径、语言/框架)。
- 收集每个原子技能的结果,采用标准格式:位置、类别、严重性、标题、描述、建议。
- 将结果汇总并去重到单一报告:相同位置 + 标题的重复发现合并,保留最高严重性,并在描述中注明其他步骤。
- 从最终去重结果和变更背景中派生风险信号(而非从单个技能),可选附带 risk_confidence(0.0–1.0)。
使用方式
执行顺序固定如下:
- 范围:根据用户意图选择 review-diff(查看当前更改,含暂存与未暂存)或 review-codebase(查看给定路径、目录或仓库)。
- 语言(可选):根据主要语言选择 review-dotnet(.NET/C#/F#)、review-java、review-go、review-php、review-powershell(.ps1/.psm1/.psd1)、review-sql;无匹配则跳过。
- 框架(可选):如 review-vue(Vue 3);无匹配则跳过。
- 库(可选):如项目大量使用具有专门审查技能的关键库(例如 review-entityframework,如可用);否则跳过。
- cognitive:按顺序运行 review-security、review-performance、review-architecture、review-testing。
- 聚合:合并所有结果,按类别或位置分组,可选在顶部添加摘要(如按严重性或类别计数)。
- 风险信号聚合(仅最后阶段):从去重后的最终结果和显式变更上下文派生紧凑的 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(可测量的延迟/吞吐量/内存回归风险)。使用证据优先映射,无至少一项支持发现或明确变更时不推断信号;每个信号只发出一次。