# prod-diff-review **Repository Path**: zhourui815/prod-diff-review ## Basic Information - **Project Name**: prod-diff-review - **Description**: 这个 Skill 是一个基于IDEA MCP实现 Git Diff 的自动化代码评审工具,专门用于对比当前分支与指定基准分支(默认 prod)之间的代码变更,并进行系统化的代码审查。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-25 - **Last Updated**: 2026-06-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README --- title: 基于IDEA MCP实现代码Diff审查 - prod-diff-review Skill使用指南 date: 2026-06-25 15:23:55 tags: - Skill - AI - Cursor - 代码审查 - Git Diff cover: /基于IDEA-MCP实现代码diff审查Skill-prod-diff-review-使用说明/1782370842658-3cf46fbd-cec4-4b62-826a-f7cae32ce009.png --- ## 📥 项目地址 **Gitee仓库**: [zr/prod-diff-review](https://gitee.com/zhourui815/prod-diff-review) 这是一个基于 IDEA MCP 实现的自动化代码评审工具,专门用于对比当前分支与指定基准分支(默认 `prod`)之间的代码变更,并提供系统化的代码审查报告。 ## 🎯 功能概述 该 Skill 专为"基于基准分支的 Git Diff 代码评审"场景设计,提供以下核心能力: - **智能差异获取**:自动获取 `prod...HEAD` 或指定分支的代码差异 - **标准化评审**:按照固定的 10 条评审规则逐条检查代码质量 - **结构化输出**:以 Markdown 表格形式呈现评审结果,清晰标注通过项与待优化项 - **可执行建议**:针对每个待优化项提供详细的问题描述和修正建议(含关键代码片段) ## ⚡ 快速开始 ### 触发方式 在 Cursor 对话中输入以下命令即可触发代码评审: ```bash # 方式1:默认对比 prod 分支 /prod-diff-review 评审 # 方式2:指定对比分支(例如 test 分支) /prod-diff-review test ``` ![评审非默认分支](/基于IDEA-MCP实现代码diff审查Skill-prod-diff-review-使用说明/1782370960464-9da39e71-3c21-4b67-9f2e-21b87ad7690e.png) 或者直接在对话中明确提出需求,如:"请基于 `prod` 分支的 diff 进行代码评审",Skill 将根据你的场景自动调用。 ## 🔧 前置条件 在使用该 Skill 之前,请确保满足以下条件: ### 1. Git 分支准备 - **基准分支存在**:本地需要存在可对比的基线分支(默认为 `prod`) - **分支验证**:Skill 会自动在本地验证基准分支是否存在 - **备选方案**:若本地没有 `prod` 分支,Skill 会提示你指定其他可用基准分支,或你需要先在本地拉取基线分支 ### 2. Git 环境配置 ![验证gitdiff](/基于IDEA-MCP实现代码diff审查Skill-prod-diff-review-使用说明/1782370686481-eaa31008-13e8-458d-a797-7c89451ad333.png) - Skill 依赖 `git` 命令生成代码差异 - 确保 Git 已正确安装并配置到系统环境变量 ### 3. IDEA MCP 服务配置 #### 为什么选择 IDEA MCP? > **优势对比**:相比独立的 Git MCP 服务,IDEA MCP 具有以下优势: > - ✅ 无需额外搭建独立服务 > - ✅ 只需在 IDEA 中开启开关即可使用 > - ✅ IDEA 原生支持 Git Diff,集成度更高 #### 配置步骤 **Step 1**:在 IntelliJ IDEA 中启用 MCP Server ![idea打开MCP server](/基于IDEA-MCP实现代码diff审查Skill-prod-diff-review-使用说明/1782370506270-717d0f6a-4375-42d4-a197-75377b7d0e90.png) **Step 2**:在 Cursor 中配置 IDEA MCP 连接 ![cursor中配置idea mcp](/基于IDEA-MCP实现代码diff审查Skill-prod-diff-review-使用说明/1782370552907-f7050fe5-0e82-4f31-abee-2e6d4e5b6af2.png) **Step 3**:验证 MCP 连接状态(必须显示为可用) ![mcp agent处必须是可用的](/基于IDEA-MCP实现代码diff审查Skill-prod-diff-review-使用说明/1782370524935-31bb9668-1d0a-4850-9458-2213cef20955.png) ## 🔐 MCP 权限配置(关键) 该 Skill 依赖 `user-jetbrains` MCP 服务,需要授权执行终端命令权限。 ### 使用的 MCP 工具 - **工具名称**:`execute_terminal_command` - **执行环境**:IDE 集成终端 / IDE 运行环境 - **执行的命令**: - `git diff --name-only ...HEAD`(获取变更文件列表) - `git diff ...HEAD -- <关键文件>`(获取关键文件的详细差异) ### 注意事项 1. **权限授予**:当 MCP 请求执行命令时,请务必选择"允许" - 若选择"跳过/拒绝",Skill 将无法获取 diff 信息 - 此时你需要手动粘贴 `${BASE_BRANCH}...HEAD` 的完整 diff 输出 2. **大文件处理**:diff 输出可能较长 - Skill 采用"关键文件分段获取"策略,避免单次输出过长导致超时 - 优先获取核心业务逻辑文件的差异内容 ## 📊 评审输出格式 Skill 以 Markdown 表格形式输出结构化的评审报告: ![评审表格](/基于IDEA-MCP实现代码diff审查Skill-prod-diff-review-使用说明/1782370787388-4fae2131-c7c5-42c4-b2bc-357b11de74f5.png) ### 表格字段说明 | 字段 | 说明 | |------|------| | 评审规则 | 对应的评审规则编号 | | 评审内容 | 具体的评审维度描述 | | 评审结论 | ✅ 通过 / ⚠️ 待优化 | | 完成时间 | 评审完成的时间戳 | ### 评审结论类型 - **✅ 通过**:该项检查未发现明显问题 - **⚠️ 待优化**:发现潜在问题或改进空间 ### 待优化项详细说明 当某条评审结论为 `⚠️ 待优化` 时,除了表格中的简短原因外,还会追加详细的分析: ![评审详情](/基于IDEA-MCP实现代码diff审查Skill-prod-diff-review-使用说明/1782370842658-3cf46fbd-cec4-4b62-826a-f7cae32ce009.png) 包含以下内容: 1. **审查结论**:对该问题的整体评估 2. **改动检查**:相关代码变更的检查结果 3. **阻断项**:是否属于必须先修复的阻断性问题 4. **问题描述**:详细说明发现的问题及其潜在影响 5. **修正建议**:提供可执行的改进方案,包含可直接复制的关键代码片段 ## ⚠️ 重要提示 ### 待优化项的处理策略 - `⚠️ 待优化` 不仅表示"建议",也可能代表**阻断性问题**,需要在合并前修复 - **强烈建议**:在代码合并到主分支前,优先处理所有标记为 `⚠️ 待优化` 的条目 - 对于严重级别的问题,修正建议中会明确标注"必须先修复" ### 输出有效性说明 - 若本次 diff 未覆盖某条评审规则对应的风险面,Skill 将输出 `✅ 通过` - 同时在评审内容中注明"diff 未覆盖/无法判断",保持透明度 ## ❓ 常见问题 FAQ ### Q1:为什么某些风险项显示"无法判断"? **原因**:本次 diff 未涉及对应代码路径。例如: - 未出现虚拟线程相关代码 → 虚拟线程安全性检查无法判断 - 未使用 CountDownLatch → 并发工具检查无法判断 - 未涉及 Redis 操作 → 缓存加锁检查无法判断 **解决方案**:这是正常现象,说明当前变更不涉及该类风险。 ### Q2:MCP 权限请求总是被我拒绝怎么办? **影响**:拒绝后 Skill 无法自动获取 diff 信息 **解决方案**: 1. **推荐**:在 MCP 权限请求时选择"允许执行 `execute_terminal_command`" 2. **备选**:手动执行以下命令并粘贴结果: ```bash git diff prod...HEAD ``` ![允许execute_terminal_command](/基于IDEA-MCP实现代码diff审查Skill-prod-diff-review-使用说明/1782368876834-b64d08ed-c0f6-421f-8dfe-db8013441e6a.png) ### Q3:如何自定义基准分支? **方法**:使用命令 `/prod-diff-review ` 指定任意基准分支 示例: ```bash /prod-diff-review develop # 对比 develop 分支 /prod-diff-review release # 对比 release 分支 ``` ### Q4:diff 内容过多会导致超时吗? **不会**。Skill 采用智能分段策略: - 优先获取变更的核心业务文件 - 对超大文件进行分批读取 - 自动过滤非关键文件(如配置文件、静态资源等)