mcpField
G
goodreview

goodreview

github.com/agoodway测试与质量170 次安装4 天前更新
代码仓库

关于 goodreview

goodreview 是一项针对未提交 Git 更改开展多专家审查的技能,可指定文件、目录或关注点。它组织不同角色独立检查并汇总结果,不会编辑文件。

主要功能

  1. 01审查已暂存、未暂存及未跟踪更改
  2. 02按路径或主题聚焦审查
  3. 03分配专业审查角色
  4. 04汇总发现并标注严重程度
  5. 05报告结果但不编辑文件

适用场景

  1. 01提交前审查更改
  2. 02检查特定功能或文件
  3. 03收集安全、测试和代码质量反馈

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/agoodway/goodskills --skill goodreview

安装后在 Claude Code 中输入/goodreview确认已加载。

附带文件README.mdreferences/specialists.md

详细介绍

goodreview

使用通用子 Agent 和 references/specialists.md 中的简报,对未提交的更改进行多专家审查。此技能不使用命名的自定义 Agent。

参数

/goodreview [optional file/area to focus on]

可选参数可以是文件路径、目录、功能区域或简短的审查重点。如果省略,则审查所有未提交的更改(已暂存、未暂存和未跟踪)。

阶段 1:范围

将以下命令作为独立的 Shell 调用运行:

git diff HEAD --stat
git diff --staged --stat
git status --porcelain
git branch --show-current

遇到以下情况时停止并告知用户:

  • 当前目录不是 Git 仓库,或 Git 命令失败
  • 工作树干净,且未提供重点参数
  • 提供的重点路径不存在

否则,确定:

  • 已更改的文件,以及它们是否已暂存、未暂存或未跟踪
  • 编程语言和框架
  • 所属层:后端、前端、数据库、测试、文档、基础设施、配置
  • 风险:身份验证、迁移、公共 API、用户可见界面、并发、性能、仅涉及文档

如果提供了重点参数,则检查该路径,除非需要周边上下文。将未跟踪文件纳入范围。

独立的第二意见审查

当所需集成可用时,第二阶段的 Fresh Eyes 和第四阶段的元分析应使用与宿主不同的模型。根据明确的系统或运行时身份确定宿主;不要仅根据已安装的工具或命令推断。每次审查只选择一次第二意见提供方,然后为每个审查阶段使用新的无状态会话。

Codex 宿主:Grok 无头模式

以单轮无头模式运行 Grok CLI,每个审查阶段启动一个新的进程:

grok --cwd [repository root] --permission-mode dontAsk --sandbox strict --tools read_file,list_dir,grep --deny 'MCPTool(*)' --disable-web-search --no-subagents --output-format plain -p "[pass prompt]"

使用参数安全的执行机制,将提示词作为一个参数传入;绝不能让提示词、差异、路径或用户内容成为 Shell 语法。每个提示词都必须自包含:

  • Fresh Eyes:通用发现格式、Fresh Eyes 简报、范围信息包和相关 Git 差异
  • 元分析:元分析提示词和收集到的专家发现

工具允许列表应允许 Grok 检查实际更改的文件,同时禁止编辑和 Shell 工具。由于 Grok 无法运行 git diff,请在提示词中包含相关差异。禁用 MCP 和 Web 访问,并在 Grok 的严格沙箱以及宿主提供的任何只读沙箱中运行。不要为了让失败的审查阶段运行而放宽这些限制。

不要将安装、更新或认证 Grok 作为 goodreview 的一部分。如果 grok -p 失败、没有返回可用的审查结果,或不可用,则改用通用子 Agent 或独立的宿主审查。不要用 Codex 会话替代,并将其描述为外部 Grok 意见。

Grok 宿主:通过 MCP 使用 Codex

使用最先可用的 Codex 会话工具:

  • mcp__codex__codex
  • codex__codex
  • codex_codex

使用自包含的审查提示词调用该工具。如果工具支持这些选项,请将 sandbox 设为 read-only,将 approval-policy 设为 never。

如果没有可用的 Codex 会话工具,则改用通用子 Agent 或独立的宿主审查。不要用 Grok 替代,并将其描述为外部 Codex 意见。

其他或未知宿主

优先使用可用的 Codex 会话工具,其次使用 grok -p。绝不要选择已知为宿主的提供方。如果两个外部提供方都不可用,则改用通用子 Agent 或独立的宿主审查。

在报告中记录实际使用的提供方。准确标注回退方式;宿主审查在角色上是独立的,但不属于跨模型第二意见。

阶段 2:选择角色并启动

对于代码更改,始终至少包含三个角色。始终添加 Fresh Eyes。

更改类型角色
任意代码代码质量、安全、测试
Elixir/PhoenixElixir、安全、测试
前端前端、UI/a11y、测试
架构/SQL数据库、安全、测试
仅文档技术写作、准确性
仅测试QA 执行、测试、代码质量
跨层代码质量、安全、测试、架构

如果差异涉及多个层、公有 API、基础设施或数据流,请添加架构。 如果实际需要运行测试、lint 或 CI,请添加 QA 执行。

阅读 references/specialists.md。对于每个选定角色(Fresh Eyes 除外),并行启动一个通用子 Agent。通过 Independent pass 执行 Fresh Eyes。每个通用子 Agent 的提示词按以下顺序包含:

  1. 共享发现约定
  2. 该角色的简述
  3. 范围说明:
Role: [name]
Branch: [branch]
Focus: [optional focus or none]
Changed files:
- [path]
Read the actual files, not only the git diff.
Return findings using the shared finding contract.

不要查找具名自定义 Agent。不要使用 Agent 目录。

如果运行时无法启动子 Agent,请在本会话中按顺序执行各角色简述,并为每份输出标注角色名称。

每位专家必须:

  • 阅读已更改的文件,而不只是差异
  • 专注于其职责范围
  • 引用 file:line(或针对全仓库问题引用相关文件)
  • 标注严重程度:Critical、High、Medium、Low
  • 提出具体修复方案,或注明 No findings

阶段 3:综合

收集专家报告后,综合整理:

  • 合并重复发现
  • 标出冲突和未解决的分歧
  • 识别跨领域问题
  • 保留原始角色归属

如果可以启动子 Agent,请使用通用子 Agent;否则在宿主环境中完成此轮整理。

阶段 4:元分析

对合并后的发现进行第二轮独立审查。提示词:

Review this multi-specialist analysis. What patterns do you see differently? What risks were not considered? How would you re-prioritize these findings? Challenge the assumptions. Identify findings that are over-prioritized, under-prioritized, unsupported, or missing.

通过 Independent pass 执行此轮审查。将收集到的专家发现包含在提示词中。

阶段 5:报告

只在聊天中输出报告。不要写入文件。不要创建问题、提交更改或编辑文件。

将专家标注的严重程度映射到报告分类:

  • Critical → Critical(必须修复)。任何 Critical 发现都会使提交就绪状态变为 Not ready
  • High 或 Medium → Warnings(建议修复)
  • Low → Suggestions(可考虑)
=== GOODREVIEW: [Target] ===
Branch: [branch] | Files: [N] changed | Roles: [list]

SPECIALIST FINDINGS
[Role]: [key findings with file:line]

FRESH EYES — [Grok CLI | Codex via MCP | generic subagent | host fallback]
[Independent findings]

SECOND-OPINION META-ANALYSIS — [provider]
[Independent analysis and re-prioritization]

CROSS-SPECIALIST INSIGHTS
[Systemic issues, conflicts, overlapping patterns]

PRIORITIZED ISSUES

Critical (must fix):
- [Issue] - [file:line] - Found by: [Role]
  Fix: [specific example]

Warnings (should fix):
- [Issue] - [file:line] - Found by: [Role]
  Fix: [specific example]

Suggestions (consider):
- [Issue] - [file:line] - Found by: [Role]
  Fix: [specific example]

COMMIT READINESS: Ready | Not ready - N critical issues remain

如果没有发现问题,请明确说明,并列出剩余风险或测试缺口。

试运行角色选择

执行该技能时(而不是编写该技能时),使用以下检查:

  • 仅 Elixir 差异 → Elixir、安全、测试、Fresh Eyes
  • 仅文档差异 → 技术写作、准确性、Fresh Eyes

规则

  • 运行时支持时,使用并行通用子 Agent;否则按顺序执行并标注角色
  • 在 Codex 上,通过 grok -p 使用 Grok;在 Grok 上,使用 Codex MCP;否则使用非宿主的外部提供方
  • 为 Fresh Eyes 和元分析使用新的无状态外部会话,并标明实际使用的提供方
  • 每条发现都必须包含 file:line 或相关文件引用,以及建议的修复方案
  • 每条 git 命令都作为单独的 shell 调用运行
  • 不要创建问题、提交更改或编辑文件
  • 不要查找具名自定义 Agent
  • 应用修复属于之后的用户请求,不属于 /goodreview

$ARGUMENTS

评论

支持 Markdown