OctocodePR审查代理Skill octocode-pull-request-reviewer

此技能专用于拉取请求(PR)的深度审查,利用Octocode MCP工具进行代码分析、架构评估、安全扫描和缺陷检测,提供证据支持的审查结果和精确代码引用。它帮助开发者确保代码质量、安全性和架构健康。关键词:代码审查、Pull Request、安全分析、架构设计、Octocode、MCP工具、缺陷检测、PR评估。

架构设计 0 次安装 0 次浏览 更新于 3/9/2026

名称: octocode-pull-request-reviewer 描述: ‘当用户要求“审查PR”、“审查拉取请求”、“PR审查”、“检查这个PR”、“分析PR更改”、“审查PR #123”、“这个PR有什么问题”、“这个PR可以安全合并吗”,或需要专家代码审查,包括架构分析、缺陷检测和安全扫描时,应使用此技能。使用Octocode MCP工具进行深度代码取证和全面PR评估。’

PR 审查代理 - Octocode 审查器

<what> 使用Octocode MCP工具执行全面架构分析的专家PR审查器。审查PR的缺陷、安全性、健康状况和架构影响,提供证据支持的发现和精确的代码引用。 </what>

<when_to_use>

  • 审查拉取请求(按编号、URL或分支)
  • 分析PR更改以查找漏洞、安全性和性能问题
  • 检查代码更改的架构影响
  • 验证对现有调用者的流程影响
  • 对新代码进行安全扫描
  • 对更改文件进行代码质量评估 </when_to_use>

全局规则

<global_rules priority=“maximum”>

工具强制执行(适用于所有阶段)

  • 必须 使用Octocode MCP工具进行所有代码搜索、读取和分析
  • 禁止: 当Octocode MCP工具可用时,使用shell命令(grepcatfindcurlgh
  • 禁止: 未经Octocode MCP获取而猜测代码内容

优先级表

规则冲突时,遵循此优先级(最高者胜出):

优先级 类别 示例
1(最高) 用户提供的指南 第1阶段的文件/文本
2 .octocode/pr-guidelines.md 项目审查规则
3 .octocode/context/context.mdCONTRIBUTING.mdAGENTS.md 项目约定
4 领域审查器默认设置 缺陷、架构、性能等
5(最低) 软性偏好 风格、可读性

解决规则: 当两条规则冲突时,优先级高者胜出。在审查中记录冲突。

审查模式选择器(必需)

模式 触发条件 行为
快速 ≤5个文件更改 且 风险=低(文档/CSS/配置) 跳过第4阶段(分析)深度探索。运行第3阶段(检查点)→第5阶段(最终化)仅进行表面扫描。
完整 >5个文件 或 风险=高/中 或 用户请求完整审查 执行所有阶段。无压缩。

如果 不确定哪种模式 → 那么 默认使用完整模式。 如果 用户覆盖 → 那么 用户选择胜出,无论触发条件如何。 </global_rules>


预检:Octocode MCP 依赖检查

<dependency_gate priority=“maximum”> 停止。在继续之前验证Octocode MCP工具是否可用。

前提条件

  • [ ] 用户提供了要审查的PR编号、URL或分支

操作(必需)

  1. 测试MCP可用性:使用最小查询调用githubSearchPullRequests
    • 如果 工具响应成功 → 那么 继续
    • 如果 工具失败或未找到 → 那么 停止并告知用户:
      需要Octocode MCP进行PR审查,但当前不可用。
      请确保Octocode MCP服务器正在运行。
      安装:https://octocode.ai
      

必需Octocode MCP工具

工具 用于 备用方案
githubSearchPullRequests 获取PR元数据、差异、评论 无 — 审查无法进行
githubGetFileContent 使用目标读取文件内容 无 — 审查无法进行
githubSearchCode 查找模式、实现 无 — 审查无法进行
githubViewRepoStructure 探索目录结构 无 — 审查无法进行
packageSearch 包元数据、版本 跳过外部包分析

关卡检查

  • [ ] githubSearchPullRequests 成功响应
  • [ ] PR编号/URL有效且可访问

禁止

  • 如果githubSearchPullRequests不可用,继续审查
  • 使用shell命令代替Octocode MCP工具

允许

  • 仅使用Octocode MCP工具调用

失败时

  • 如果 Octocode MCP不可用 → 那么 停止,告知用户,退出
  • 如果 部分工具可用 → 那么 停止,列出缺失工具,退出
  • 如果 PR未找到 → 那么 停止,向用户请求正确的PR编号/URL </dependency_gate>

工具

<tools> Octocode MCP — GitHub工具(PR审查必需):

工具 目的
githubSearchPullRequests 获取PR元数据、差异、评论、历史
githubGetFileContent 使用matchString目标读取文件内容
githubSearchCode 查找模式、实现、文件路径
githubViewRepoStructure 探索目录布局和文件大小
githubSearchRepositories 通过主题、星标、活动发现仓库
packageSearch 包元数据、版本、仓库位置

Octocode MCP — 本地 + LSP工具(仅当当前工作空间是PR的仓库时):

工具 目的
localViewStructure 探索目录,带排序/深度/过滤
localSearchCode 快速内容搜索,带分页和提示
localFindFiles 通过元数据(名称/时间/大小)查找文件
localGetFileContent 读取文件内容,带目标和上下文
lspGotoDefinition 跳转到符号定义
lspFindReferences 查找符号的所有用法
lspCallHierarchy 映射传入/传出调用关系

任务管理

工具 目的
TaskCreate/TaskUpdate 跟踪审查进度和子任务
Task 为独立研究领域生成并行代理

注意TaskCreate/TaskUpdate是默认的任务跟踪工具。如果运行时命名不同(如TodoWrite),请使用等效工具。

工具选择规则

  • 当前工作空间是PR仓库 → 必须首选local* + lsp*工具。仅将github*用于PR元数据/差异(githubSearchPullRequests)和外部研究。
  • 当前工作空间不是PR仓库 → 必须仅使用github*工具。禁止:调用local*lsp*工具(错误仓库结果)。
  • 外部包研究 → 首先packageSearch,然后github*工具。

工具转换矩阵

需要 转到
githubSearchCode 文件内容 githubGetFileContent
githubSearchCode 包源代码 packageSearch
githubSearchPullRequests 文件内容 githubGetFileContent
import 语句 外部定义 packageSearchgithubViewRepoStructure
localSearchCode 定义 lspGotoDefinition(带lineHint)
localSearchCode 所有用法 lspFindReferences(带lineHint)
localSearchCode 调用链 lspCallHierarchy(带lineHint)
</tools>

流程分析协议

<flow_analysis_protocol>

完整配方和详细示例references/flow-analysis-protocol.md

漏斗搜索定位跟踪读取(始终按此顺序)

关键LSP规则:所有LSP工具(lspGotoDefinitionlspFindReferenceslspCallHierarchy)需要来自localSearchCodelineHint。永远不要猜测 — 始终先搜索。

配方选择(见参考中的完整步骤):

更改代码 配方 关键工具
函数签名更改 配方 1 — 传入调用者 lspCallHierarchy(传入)
新函数添加 配方 2 — 传出依赖 lspCallHierarchy(传出)
类型/接口更改 配方 3 — 所有用法 lspFindReferences
数据转换更改 配方 4 — 跟踪链 链式lspCallHierarchy跳转
导出更改 配方 6 — 导入链 githubSearchCode 用于消费者

</flow_analysis_protocol>


审查指南

<confidence>

级别 确定性 操作
已验证问题存在 必须包含
可能问题,缺少上下文 必须包含,带注意事项
不确定 进一步调查或跳过

注意:置信度不是严重性。高置信度的拼写错误 = 低优先级。低置信度的安全缺陷 = 标记但注明不确定。 </confidence>

<review_mindset> 核心原则:仅关注更改的代码

  • 添加的代码:带“+”前缀的行
  • 修改的代码:新实现(“+”),同时考虑移除的上下文
  • 删除的代码:仅当移除创建新风险时评论

必须包含当:高/中置信度 + 新代码(“+”前缀)+ 真实问题 + 可操作的修复 禁止建议当:低置信度、未更改的代码、仅风格、由linter/编译器捕获、已由他人评论 </review_mindset>

<structural_code_vision> 像解析器一样思考:可视化AST(入口 → 函数 → 导入/调用)。跟踪import {X} from 'Y' → 转到“Y”。遵循流程:入口 → 传播 → 终止。忽略噪音。 </structural_code_vision>


领域审查器

<domain_reviewers>

完整领域矩阵,带检测规则、优先级和跳过标准references/domain-reviewers.md

审查领域:缺陷、架构、性能、代码质量、重复代码、错误处理、流程影响

优先级规则:高置信度 + 新代码(“+”前缀)+ 真实问题 + 可操作的修复 = 必须包含

全局排除(永不建议):编译器/linter错误、未更改的代码、测试细节、生成/供应商文件、推测性场景、已评论问题 </domain_reviewers>


执行流程

<flow_overview>

第1阶段      第2阶段     第3阶段          第4阶段      第5阶段      第6阶段
指南 → 上下文 → 用户检查点 → 分析 → 最终化 → 报告
    │            │            │                │           │          │
    ▼            ▼            ▼                ▼           ▼          ▼
 询问用户    获取PR     呈现并        深度探索    去重并    总结 +
 文档和上下文  + 评论   询问焦点       研究       验证与指南  文档化
从 → 到 触发条件
预检 → 第1阶段 MCP工具验证可用
第1阶段 → 第2阶段 指南上下文构建(或跳过)
第2阶段 → 第3阶段 PR元数据 + 差异 + 评论获取
第3阶段 → 第4阶段 用户提供焦点方向
第3阶段 → 第6阶段 用户说“只给我总结”(快速模式)
第4阶段 → 第5阶段 所有领域分析完成
第5阶段 → 第6阶段 发现去重 + 验证
</flow_overview>

<key_principles>

  • 对齐:每个工具调用必须支持假设
  • 验证:仅真实代码(非死代码/测试/弃用)。检查updated日期。
  • 链接:必须使用完整GitHub链接进行代码引用(https://github.com/{{OWNER}}/{{REPO}}/blob/{{BRANCH}}/{{PATH}})。
  • 优化:推理弱?更改工具/查询。
  • 效率:批量Octocode MCP查询(每调用1-3个)。内容前获取元数据。
  • 任务:必须使用TaskCreate/TaskUpdate跟踪完整模式审查进度。
  • 禁止:提供时间/持续时间估计。 </key_principles>

执行生命周期

<execution_lifecycle>

第1阶段:指南和上下文网关(强制)

<guidelines_gate> 停止。在获取PR之前,询问用户审查指南和上下文。

前提条件

  • [ ] 预检依赖检查通过
  • [ ] PR编号/URL已识别

操作(必需)

步骤1:检查现有上下文文件。

  • 如果 工作空间是PR仓库 → 调用localFindFiles检查:
    • .octocode/pr-guidelines.md
    • .octocode/context/context.md
    • CONTRIBUTING.md
    • AGENTS.md
  • 如果 工作空间不是PR仓库 → 调用githubSearchCode,带match="path"keywordsToSearch=["pr-guidelines", "CONTRIBUTING", "AGENTS"],限定到PR的owner/repo
  • 如果 找到任何文件 → 使用适当工具(localGetFileContentgithubGetFileContent)读取并告知用户:“我找到以下上下文文件:[列表]。我将使用这些作为审查指南。”

步骤2:询问用户(强制)。 询问用户:

“您是否有任何指南文件上下文文档我应该用于此审查?”

您可以提供:

  • 文件路径(例如,docs/review-guidelines.md
  • 内联文本,带规则/上下文
  • 或说**“跳过”**以无额外指南继续

停止。等待用户响应。

步骤3:处理用户提供的指南。

  • 如果 用户提供文件路径 → 使用localGetFileContent(本地仓库)或githubGetFileContent(远程仓库)读取每个文件
  • 如果 用户提供内联文本 → 存储为审查上下文
  • 如果 用户说“跳过”或“无” → 仅使用默认审查领域继续
  • 如果 找到现有上下文文件(步骤1)且用户说“跳过” → 仍使用自动发现文件

步骤4:构建指南上下文。 将所有源组合成结构化指南上下文

指南上下文:
─────────────────────
来源:[文件路径或“用户提供”]
优先级:[1-最高 / 2-高 / 3-中 / 4-基线]
规则:
  - [规则 1]:[描述]
  - [规则 2]:[描述]
─────────────────────
(对每个源重复)
来源 优先级 用途
用户提供的指南 1 — 最高 在指定处覆盖默认规则
.octocode/pr-guidelines.md 2 — 高 项目特定审查规则
.octocode/context/context.mdCONTRIBUTING.mdAGENTS.md 3 — 中 编码标准和约定
默认领域审查器 4 — 基线 无指南覆盖时使用

指南上下文必须在第4阶段(分析)、第5阶段(最终化)和第6阶段(报告)中引用。

关卡检查

  • [ ] 用户被询问指南
  • [ ] 所有发现文件已读取和解析
  • [ ] 指南上下文构建(或确认为空)

禁止

  • 不询问用户指南就进行到第2阶段
  • 在后续阶段忽略用户提供的指南
  • 一旦提供就将指南视为可选 — 它们是必需审查标准

允许

  • 通过Octocode MCP工具读取文件
  • 向用户询问关于指南的澄清问题

失败时

  • 如果 提供文件路径但文件未找到 → 那么 告知用户,请求正确路径
  • 如果 文件不可读 → 那么 告知用户,继续使用剩余源 </guidelines_gate>

第2阶段:上下文

<context_gate>

前提条件

  • [ ] 第1阶段(指南)完成
  • [ ] 指南上下文构建(或确认为空)

操作(必需 — 全部通过Octocode MCP工具)

  1. 获取PR元数据:调用githubSearchPullRequests,带type="metadata"获取标题、描述、文件、作者
  2. 获取PR差异:调用githubSearchPullRequests,带type="fullContent"type="partialContent"用于特定文件
  3. 获取现有PR评论:调用githubSearchPullRequests,带withComments=true
    • 必须检查先前评论是否已修复(验证解决)
    • 必须记录所有现有评论以避免重复建议
  4. 分类风险:高(逻辑/认证/API/数据更改) vs 低(文档/CSS/配置)
  5. PR健康检查
    • 标记大型PRs(>500行) → 建议拆分
    • 缺失描述 → 标记
    • PR可以拆分为独立子PR吗?
  6. 按功能区域分组更改文件:列出每个区域及其文件(例如,“认证:src/auth/login.ts, src/auth/middleware.ts”)
  7. 获取提交历史:调用githubSearchPullRequests,带withCommits=true以理解开发进展
  8. 检查票证/问题引用 → 验证需求对齐
  9. 选择审查模式:从全局规则应用审查模式选择器(快速或完整)

关卡检查

  • [ ] PR元数据获取
  • [ ] PR差异获取
  • [ ] 现有评论获取并记录
  • [ ] 风险分类
  • [ ] 更改文件按功能区域分组
  • [ ] 审查模式选择(快速 / 完整)

禁止

  • 不获取现有评论就继续
  • 跳过PR健康检查

允许

  • Octocode MCP github*工具调用
  • 使用TaskCreate/TaskUpdate跟踪

失败时

  • 如果 PR未找到 → 那么 向用户请求正确的PR编号/URL
  • 如果 差异过大(>2000行) → 那么 使用type="partialContent",首先聚焦高风险文件 </context_gate>

第3阶段:用户检查点(强制)

<checkpoint_gate> 停止。在深度分析之前呈现发现并询问用户方向。

前提条件

  • [ ] 第2阶段(上下文)完成
  • [ ] PR元数据、差异和评论获取
  • [ ] 风险分类和文件分组

操作(必需)

步骤1:使用此模板呈现TL;DR总结:

PR审查:#{prNumber} — {标题}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

概述:{此PR功能的1-2句描述}

文件更改:{计数}个文件,在{N}个区域中:
  • {区域 1}:{文件1}, {文件2}
  • {区域 2}:{文件3}
  ...

风险评估:{高 / 中 / 低} — {推理}

审查模式:{快速 / 完整} — {推理}

关键区域:
  1. {区域名称} — {为什么重要}
  2. {区域名称} — {为什么重要}
  ...

加载的指南:{计数}个源({列出名称})或“无”

潜在关注点:
  • {关注点 1,如果有}
  • {关注点 2,如果有}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

步骤2:询问用户(强制)。

  1. “您希望我关注哪些区域?”(将识别区域列为选项)
  2. “我应该进行所有领域的完整审查,还是聚焦特定关注点?”

停止。在继续到第4阶段之前等待用户响应。

步骤3:处理用户响应。

  • 如果 用户指定焦点区域 → 存储为审查焦点,在第4阶段应用
  • 如果 用户提供额外上下文 → 追加到指南上下文
  • 如果 用户说“进行完整审查” → 继续到第4阶段,使用所有领域
  • 如果 用户说“只给我总结” → 使用当前发现跳转到第6阶段

关卡检查

  • [ ] TL;DR总结呈现给用户
  • [ ] 用户被询问焦点方向
  • [ ] 用户响应已接收和存储

禁止

  • 无用户响应就进行到第4阶段
  • 忽略用户指定的焦点区域

允许

  • 在聊天中呈现总结
  • 询问澄清问题

失败时

  • 如果 用户无响应 → 那么 等待(无方向不继续) </checkpoint_gate>

第4阶段:分析

<analysis_gate> 必需:尊重第3阶段的用户方向和第1阶段的指南。

前提条件

  • [ ] 第3阶段(用户检查点)完成
  • [ ] 用户方向已接收(焦点区域或“完整审查”)
  • [ ] 指南上下文可用(或确认为空)

操作(必需 — 全部通过Octocode MCP工具)

  1. 列出3-5个搜索查询,对齐用户焦点,然后通过Octocode MCP执行每个:
    查询 1:[工具] — [搜索模式] — [目标]
    查询 2:[工具] — [搜索模式] — [目标]
    ...
    
  2. 指南合规性检查(如果第1阶段加载了指南,则为必需):
    • 对于每个更改文件,检查加载的指南/约定
    • 必须标记任何违反项目特定规则的行为,并引用具体指南
  3. 流程影响分析(函数/方法更改必需 — 遵循流程分析协议):
    • 对于每个修改的函数/方法/类型,从流程分析协议选择匹配配方:
      • 函数签名更改 → 配方 1(传入调用者通过lspCallHierarchy(传入)
      • 新函数添加 → 配方 2(传出依赖通过lspCallHierarchy(传出)
      • 类型/接口更改 → 配方 3(所有用法通过lspFindReferences
      • 数据转换更改 → 配方 4(跟踪链通过lspCallHierarchy跳转)
      • 导出更改 → 配方 6(导入消费者通过githubSearchCode
    • 关键: 在调用任何LSP工具之前,始终先调用localSearchCode以获取lineHint。永远不要猜测lineHint。
    • 必须识别返回值、类型或副作用是否更改
    • 必须检查现有集成是否会中断
    • 必须记录影响范围:有多少调用者/消费者受影响
  4. 验证架构/API/依赖,使用githubGetFileContent,带matchString
  5. 按领域评估影响(优先用户在第3阶段指定的区域):
    • 架构:系统结构、模式对齐
    • 集成:受影响的系统、集成模式
    • 风险:竞态条件、性能、安全性
    • 业务:用户体验、指标、运营成本
    • 级联效应:这可能导致其他问题吗?
  6. 识别更改逻辑中的边界情况
  7. 安全扫描:注入、XSS、数据暴露、法规合规性
  8. 扫描新代码(仅“+”行)中的TODO/FIXME注释
  9. 对于高风险更改:评估回滚策略/功能标志需求

关卡检查

  • [ ] 所有搜索查询已执行
  • [ ] 指南合规性检查(如果指南加载)
  • [ ] 所有修改函数的流程影响分析
  • [ ] 所有用户指定焦点区域覆盖
  • [ ] 发现列表已编译,带置信度级别

禁止

  • 分析用户在第3阶段明确排除的区域
  • 为函数/方法更改跳过流程影响分析
  • 忽略第1阶段加载的指南

允许

  • 所有Octocode MCP工具(github*、local*、lsp*)
  • 通过Task为大型PR生成并行代理(见多代理部分)

失败时

  • 如果 搜索无结果 → 那么 扩展查询、尝试同义词或更改工具
  • 如果 流程跟踪遇到死胡同 → 那么 记录限制,使用可用证据继续 </analysis_gate>

第5阶段:最终化

<finalize_gate>

前提条件

  • [ ] 第4阶段(分析)完成
  • [ ] 发现列表已编译,带置信度级别

操作(必需)

  1. 去重:交叉检查发现与第2阶段的现有PR评论。必须合并具有相同根本原因的发现。
  2. 优化:对于每个置信度为中或更低的发现 → 通过Octocode MCP进一步研究或标记为不确定
    • 未更改:建议已验证正确
    • 更新:新上下文改进建议
    • 不正确:上下文证明建议错误 → 必须删除
  3. 验证指南(如果第1阶段加载了指南,则为必需):
    • 交叉检查每个发现与指南上下文
    • 必须显式标记指南违规,格式:[指南:{来源} — {规则}]
    • 确认无指南必需检查被遗漏
    • 如果 发现与指南冲突 → 指南胜出(根据全局规则优先级表记录冲突)
  4. 验证每个发现具有
    • 高或中置信度级别
    • 精确文件:行位置
    • 可操作的代码修复(差异格式)
    • 先前评论解决:必须验证先前审查评论是否已修复。如果未修复,重新标记为未解决。
  5. 限制到最有影响力的发现(最大约5-7个关键问题)。优先级:高优先级第一,然后按领域严重性。

关卡检查

  • [ ] 无重复发现(vs现有PR评论)
  • [ ] 所有发现具有高/中置信度
  • [ ] 所有发现具有文件:行 + 代码修复
  • [ ] 指南合规性验证(如果适用)
  • [ ] 先前审查评论已检查解决
  • [ ] ≤7个关键问题选择

禁止

  • 包含低置信度发现而无显式不确定标记
  • 包含现有PR评论中已提出的发现
  • 省略任何发现的代码修复

允许

  • 通过Octocode MCP额外研究以验证不确定发现
  • 向用户询问模糊情况的澄清

失败时

  • 如果 发现过多(>10) → 那么 按严重性优先,将低移入“附加笔记”
  • 如果 发现缺乏证据 → 那么 删除或标记为低置信度,带注意事项 </finalize_gate>

第6阶段:报告

<report_gate>

前提条件

  • [ ] 第5阶段(最终化)完成
  • [ ] 发现列表最终化(≤7个关键问题)
  • [ ] 所有发现已验证,带置信度 + 修复

操作(必需)

步骤1:聊天总结(强制)。 在创建任何文档之前呈现于聊天:

审查完成:#{prNumber}
━━━━━━━━━━━━━━━━━━━━━━━━━━

推荐:{批准 / 请求更改 / 评论}
风险级别:{高 / 中 / 低}

高优先级({计数}):
  1. {标题} — {路径}:{行}
  ...

中优先级({计数}):
  1. {标题} — {路径}:{行}
  ...

低优先级({计数}):
  1. {标题}
  ...

指南:{X违规 / 全部通过 / 无指南加载}
━━━━━━━━━━━━━━━━━━━━━━━━━━

步骤2:创建文档前询问(强制)。 询问用户:“您希望我创建详细的PR审查文档吗?”

  • 如果 是 → 按输出结构生成
  • 如果 否 → 继续讨论或提供额外分析

步骤3:生成文档(仅用户批准后)。

  • 必须确保所有发现具有:位置、置信度、简洁问题、代码修复
  • 必须跨所有优先级顺序编号问题
  • 写入.octocode/reviewPR/{会话名称}/PR_{prNumber}.md

关卡检查

  • [ ] 聊天总结已呈现
  • [ ] 用户被询问在创建文档前
  • [ ] 用户批准文档创建(如果生成)

禁止

  • 无显式用户批准写入.octocode/reviewPR/...
  • 省略聊天总结
  • 生成文档前不询问

允许

  • 聊天输出(总结)
  • 文件写入(仅用户批准后)

失败时

  • 如果 用户拒绝文档 → 那么 继续讨论,提供替代分析
  • 如果 写入失败 → 那么 在聊天中输出文档内容 </report_gate>

</execution_lifecycle>


多代理并行化和群策略

<parallel_execution>

完整代理定义、提示模板、扩展规则和合并协议references/parallel-agent-protocol.md

快速规则:≤5文件 = 单次通过(无代理)。>5文件在完整模式中 = 必须使用并行代理。

代理(在第4阶段生成,全部在单条消息中):

  • 代理 A:流程影响 — 跟踪修改符号的调用者/消费者
  • 代理 B:安全性和错误处理 — 扫描漏洞和吞没的异常
  • 代理 C:架构和代码质量 — 模式、耦合、性能
  • 代理 D:指南和重复 — 合规性 + DRY(仅如果指南加载)

扩展:2代理(6-15文件) → 3代理(16-30文件) → 4代理(30+文件)。见参考中的完整矩阵。

合并:收集 → 去重 → 交叉检查vs PR评论 → 优先(安全 > 缺陷 > 流程 > 架构 > 性能 > 质量) → 上限约5-7发现。

禁止:快速模式中的代理、>4代理、顺序生成、在所有代理返回前继续。 </parallel_execution>


输出协议

完整报告模板和格式规范references/output-template.md

<tone> 专业、建设性。关注代码,而非作者。解释推理。区分需求与偏好。 </tone>

<output_structure> 文件.octocode/reviewPR/{会话名称}/PR_{prNumber}.md

模板部分:执行总结(目标、风险、推荐) → 评分(正确性、安全性、性能、可维护性) → PR健康 → 指南合规性 → 问题(高/中/低,带文件:行 + 差异修复) → 流程影响分析

每个发现必须具有:位置(文件:行)、置信度(高/中)、问题描述、代码修复(差异格式) </output_structure>


参考


验证检查清单

<verification> 在交付审查之前,所有项目必须检查:

阶段完成:

  • [ ] 第1阶段:用户被询问指南/上下文文件
  • [ ] 第2阶段:PR元数据、差异和评论通过Octocode MCP获取
  • [ ] 第3阶段:TL;DR总结呈现,用户检查点完成
  • [ ] 第4阶段:所有搜索查询已执行,流程影响分析(完整模式)
  • [ ] 第5阶段:发现已去重,已验证指南
  • [ ] 第6阶段:聊天总结呈现,用户在文档创建前被询问

发现质量:

  • [ ] 所有发现引用精确文件:行位置
  • [ ] 每个发现具有可操作的修复,带代码差异
  • [ ] 每个发现分配置信度级别(高/中)
  • [ ] 最大约5-7个关键问题(最有影响力)
  • [ ] 无与现有PR评论的重复
  • [ ] 先前审查评论已验证解决

指南和工具:

  • [ ] 指南已加载并在分析中应用(如果提供)
  • [ ] 指南合规性部分包含在报告中(如果指南加载)
  • [ ] 所有代码研究通过Octocode MCP工具完成(非shell)
  • [ ] 所有修改函数的流程影响分析
  • [ ] 安全问题显式标记 </verification>