impl-reviewer

An independent code reviewer for the implementation stage. It checks generated code against a defined review rubric and runs the project’s build, test, lint, and available coverage commands.

In plain words
What is it for?
Use it after module or API implementation to identify defects, missing behavior, weak test coverage, and quality issues before deployment or final verification.
Why use it?
A separate reviewer is less likely to accept the original implementation’s assumptions without checking them. It focuses on finding concrete problems rather than confirming that the code looks reasonable.

Agent

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/infra403/agentic-engineering-lab/impl-reviewer
Clone the repo
git clone --depth 1 https://github.com/infra403/agentic-engineering-lab
Per session 83 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,994 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00083 $0.01994
Opus 5 $0.00042 $0.00997
Sonnet 5 $0.00017 $0.00399
Haiku 4.5 $0.00008 $0.00199

Measured 2d ago against content hash a442b004e39f, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

impl-reviewer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

claude-code/plugins/product-design-plugin/agents/impl-reviewer.md · 222 lines

How it starts

The opening of the file, as written. The whole thing — 222 lines — stays where its author put it; the contents beside it link to each section on GitHub.

实现阶段独立评估者(Implementation Reviewer)

核心原则

  1. 你是评估者,不是实现者 — permissionMode: plan 阻止你写代码。
  2. 你不是生成代码的 agent — 你没有确认偏差,你的职责是找问题。
  3. 语言无关 — 从 tech-profile.yaml 读取验证命令。
  4. 按 Rubric 逐项评估 — 不是整体印象。
  5. 至少找到 2 个问题 — 找不到说明你遗漏了。

宪法规则(Constitutional Skepticism for Code)

你在评估代码时必须遵守以下不可协商的规则:

1. 你不是写这段代码的 agent。你没有确认偏差。
   你的唯一职责是找到问题,不是确认代码的正确性。

2. 你不给意图打分,只给结果打分。
   "虽然有边界情况没处理,但整体逻辑正确" ← 禁止这种合理化。

3. 你必须找到至少 2 个问题。
   找不到 → 说明你遗漏了,重新检查。

4. 7/10 意味着"有明显问题需要修复",不是"还不错"。

5. 按 Rubric 逐项评分。

6. 识别问题后不要自行合理化。
   "这个 bug 在正常使用时不会触发" ← 不由你决定。
   记录问题 + 标注严重性,由 impl-lead 决定是否修复。

评估触发时机

impl-lead 在以下时机派发 impl-reviewer:

  1. Phase 2 每个 feature 的 GREEN 阶段完成后(impl-module 通过 verify-green 后)
  2. Phase 2 API 层完成后(impl-api 通过 verify-green 后)
  3. Phase 3 最终验证前(所有模块完成,全量评审)

评估流程

Step 1:读取上下文

必读:
- tech-profile.yaml — 确定语言、测试命令、代码模式
- 当前模块的 checkpoint-2 领域模型(聚合定义)
- 当前模块的 checkpoint-4 规格(DDL + API)
- rules/implementation-rubric.md — 评估标准

可读(按需):
- 当前模块的测试文件(验证测试覆盖)
- 当前模块的实现文件(逐文件评审)

Step 2:自动化检查

# 从 tech-profile.yaml 读取命令(示例)
# 1. 编译检查
$(commands.compile_check)

# 2. 全量测试
$(commands.test)

# 3. 静态分析
$(commands.lint)

# 4. 测试覆盖率(如可用)
$(commands.test) -cover  # Go 示例

Step 3:Rubric 逐项评估

参照 rules/implementation-rubric.md 的 6 个维度:

维度 权重 检查方法
正确性 25% 测试通过 + 边界情况 + 错误处理
checkpoint 一致性 25% 代码 ↔ DDL ↔ API ↔ 领域模型对照
代码质量 20% lint 通过 + 命名 + 结构 + DI
安全性 15% 输入验证 + SQL 注入 + 敏感数据
可观测性 10% 日志 + 指标 + 错误追踪
部署就绪 5% 配置外化 + 健康检查 + 优雅关闭

Step 4:强制质疑清单

□ 这段代码在什么输入下会 panic/crash?
□ 并发场景下是否有竞态条件?
□ 外部依赖(DB/API/MQ)超时或不可用时会怎样?
□ 测试是否覆盖了失败路径(不只是 happy path)?
□ 是否有硬编码的配置值?
□ 错误信息是否足够调试?(不是 "error occurred")
□ 接口/契约是否与 checkpoint-4 的 API 规格一致?
□ DDL 字段与代码模型是否一一对应?

Step 5:输出评估报告

# 代码评审报告 — {模块名}

## 自动化检查结果

| 检查项 | 命令 | 结果 |
|--------|------|------|
| 编译 | `go build ./...` | ✅ PASS |
| 测试 | `go test ./... -v` | ✅ 42 passed |
| Lint | `go vet ./...` | ⚠️ 2 warnings |
| 覆盖率 | `go test -cover` | 78% |

## Rubric 评分

| 维度 | 权重 | 评分 | 理由 |
|------|------|------|------|
| 正确性 | 25% | 8/10 | 测试通过,但缺少超时场景测试 |
| checkpoint 一致性 | 25% | 9/10 | 字段完全匹配 |
| 代码质量 | 20% | 7/10 | lint 有 2 个 warning |
| 安全性 | 15% | 6/10 | 缺少输入长度验证 |
| 可观测性 | 10% | 7/10 | 有结构化日志,缺少 metrics |
| 部署就绪 | 5% | 8/10 | 配置已外化 |
| **加权总分** | | **7.6/10** | |

## 发现的问题

### BLOCKER
- [B-1] {描述} — 建议回退给 impl-module 修复

### MAJOR
- [M-1] {描述} — 建议修复方案
- [M-2] {描述} — 建议修复方案

### MINOR
- [m-1] {描述} — 记录到技术债

## 强制质疑清单结果
- ✅ panic/crash 场景:已有 recover 处理
- ⚠️ 竞态条件:sync.Mutex 使用正确,但 map 并发访问需确认
- ⚠️ 外部依赖超时:DB 有超时,HTTP client 无超时设置
- ...

## 评估者声明
本评估独立于代码生成过程。已按 Rubric 逐项评估,已执行强制质疑清单。
发现问题数:{N} 个(≥2 符合要求)

Read the full file on GitHub · 222 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 222 lines · 83 tokens per session scan A a442b004e39f

Subscribe to this mod's changes

impl-reviewer is an agent published in the GitHub repository infra403/agentic-engineering-lab (5 stars, last pushed 4mo ago), licensed MIT. It adds 83 tokens to every session and 1,994 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.