Creates an agent team of parallel dual-engine code reviewers on your git diff, aggregates findings by severity, and fixes critical/high issues. Each reviewer cross-validates with Codex via MCP. Run after implementing a feature or before committing.
From amuxnpx claudepluginhub guyathomas/workflows --plugin amuxThis skill uses the workspace's default tool permissions.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Orchestrates subagents to execute phased plans: deploys for implementation, verification, anti-pattern checks, code quality review, and commits only after passing checks.
<quick_start>
/code-review-pipeline after making code changescodex MCP tool<when_to_use> Use when:
Don't use when:
| File pattern | Categories |
|---|---|
.svelte, .tsx, .jsx, .vue, .html, .css | implementation, test, tech-practices, ui |
.ts, .js, .py, .rs, .go | implementation, test, architecture, tech-practices, docs |
| New files, moved files, changed exports | architecture |
| Changed public API, config, env vars, CLI flags | docs |
implementation reviewer is ALWAYS dispatched/code-review-pipeline "plan: ..." or a plan slug/path), use that directly. Read the file if a path was given.plans/*/state.json with "phase": "SELECTED". If the current git branch name contains a plan slug (e.g., branch feat/user-auth matches plans/user-auth/), use that plan. This is the most common case — branches are usually named after the feature they implement.approaches.json to understand what each plan covers). Pick the plan whose scope best overlaps with the changed files.plan.md or PLAN.md in the repo root — use as fallback only if no plans/ directory exists.plan-adherence to the category set and store the plan content to pass to the reviewer.Dispatch map:
| Category | Teammate role | Condition |
|---|---|---|
| implementation | core:review-implementation | Always |
| test | core:review-tests | Source files (not just tests) changed |
| architecture | core:review-architecture | New/moved files, or changed exports detected |
| tech-practices | core:review-tech-practices | Framework-specific files in diff |
| ui | core:review-ui | UI component files in diff |
| docs | core:review-docs | Source files changed (not just tests/docs) |
| plan-adherence | core:review-plan-adherence | Plan context found (from plans/, plan.md, or arguments) |
Announce: "Dispatching reviewers: {list}. Each reviewer will cross-validate with Codex via codex MCP tool."
Spawn all applicable reviewers as teammates in a single request. Use Opus for each teammate.
For EACH teammate, provide:
git rev-parse --show-toplevel)Instructions for each teammate:
You are a {reviewer-role} teammate. Review the following code changes. Return your findings as JSON.
## Repository root
{repo_root}
## Changed files
{file_list}
## Diff
{diff_content}
When calling the codex tool, pass `cwd: "{repo_root}"` and use repo-relative @ file references.
For the plan-adherence reviewer only, also include:
## Plan context
{plan_content}
Where {plan_content} is the plan text discovered in the DIFF phase (the selected approach JSON, markdown plan, or user-provided plan text).
Each teammate will:
codex MCP tool for Codex cross-validation (with cwd set to the repo root)For each critical/high finding:
Report as suggestions in a summary table:
## Review Summary
**Reviewers dispatched:** implementation, test, ui (Opus, dual-engine)
**Files reviewed:** 5
**Findings:** 2 critical, 1 high, 3 medium, 1 low
**Cross-validated:** 2 findings confirmed by both Claude and Codex
### Cross-Validated (flagged by both Claude and Codex)
- [critical] src/auth.ts:42 — SQL injection via string interpolation (AGREE)
- [high] src/api.ts:15 — Uncaught promise rejection (AGREE)
### Fixed (Critical/High)
- [critical] src/auth.ts:42 — SQL injection via string interpolation -> switched to parameterized query
- [high] src/api.ts:15 — Uncaught promise rejection -> added try/catch
### Suggestions (Medium/Low)
| Severity | Agent | File | Line | Issue | Recommendation | Engines |
|---|---|---|---|---|---|---|
| medium | implementation | src/utils.ts | 23 | Potential null dereference | Add null check | claude |
| medium | implementation | src/utils.ts | 25 | Missing boundary check | Validate input range | codex |
| low | architecture | src/config.ts | 8 | Magic number | Extract to named constant | claude, codex |
### Plan Adherence
**Plan:** plans/feature-slug (Approach 1: "Name")
**Completeness:** 4/5 items implemented
- [x] JWT authentication middleware
- [x] Route protection
- [ ] Token refresh endpoint (**missing**)
**Deviations:** 1 justified (middleware instead of decorator)
**Scope creep:** None
### Stale Documentation
- [high] README.md:42 — `AUTH_SECRET` env var renamed to `JWT_SECRET`
- [medium] docs/api.md:15 — Missing `/auth/refresh` endpoint from API reference
### Missing Tests
- Test error path when fetchUser throws in src/auth.ts:42
- Test empty array input in src/utils.ts:23
If no findings above confidence threshold: report "Review complete — no issues found." </phase>
</workflow><error_handling>
| Error | Action |
|---|---|
| Teammate returns malformed JSON | Log warning, continue with other teammates |
| Teammate times out | Log warning, continue with other teammates |
| No git diff available | Report "No changes to review" and stop |
| All teammates fail | Report error, suggest running individual reviewer manually |
codex unavailable in teammate | Teammate returns Claude-only findings ("engines": ["claude"]), pipeline continues |
codex returns empty or error text | Same as unavailable — teammate returns Claude-only findings, pipeline continues |
| </error_handling> |