ce-code-review
Spawns tiered persona agents to perform and merge code reviews into structured reports.
Install
mkdir -p .claude/skills/ce-code-review && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/18097" && unzip -o skill.zip -d .claude/skills/ce-code-review && rm skill.zipInstalls to .claude/skills/ce-code-review
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Structured code review using tiered persona agents, confidence-gated findings, and a merge/dedup pipeline. Use when reviewing code changes before creating a PR.Key capabilities
- →Review code changes before creating a PR
- →Apply safe_auto fixes automatically in interactive mode
- →Generate a report of findings without edits in report-only mode
- →Apply policy-allowed `safe_auto` fixes in autofix mode
- →Return structured text output in headless mode for programmatic callers
- →Merge and deduplicate findings from parallel sub-agents
How it works
The skill reviews code changes using dynamically selected reviewer personas, spawning parallel sub-agents that return structured JSON findings, which are then merged and deduplicated.
Inputs & outputs
When to use ce-code-review
- →Review code before PR
- →Autofix common code issues
- →Get feedback on branch
- →Perform deep code analysis
About this skill
Code Review
Reviews code changes using dynamically selected reviewer personas. Spawns parallel sub-agents that return structured JSON, then merges and deduplicates findings into a single report.
When to Use
- Before creating a PR
- After completing a task during iterative implementation
- When feedback is needed on any code changes
- Can be invoked standalone
- Can run as a read-only or autofix review step inside larger workflows
Argument Parsing
Parse $ARGUMENTS for the following optional tokens. Strip each recognized token before interpreting the remainder as the PR number, GitHub URL, or branch name.
| Token | Example | Effect |
|---|---|---|
mode:autofix | mode:autofix | Select autofix mode (see Mode Detection below) |
mode:report-only | mode:report-only | Select report-only mode |
mode:headless | mode:headless | Select headless mode for programmatic callers (see Mode Detection below) |
base:<sha-or-ref> | base:abc1234 or base:origin/main | Skip scope detection — use this as the diff base directly |
plan:<path> | plan:docs/plans/2026-03-25-001-feat-foo-plan.md | Load this plan for requirements verification |
All tokens are optional. Each one present means one less thing to infer. When absent, fall back to existing behavior for that stage.
Conflicting mode flags: If multiple mode tokens appear in arguments, stop and do not dispatch agents. If mode:headless is one of the conflicting tokens, emit the headless error envelope: Review failed (headless mode). Reason: conflicting mode flags — <mode_a> and <mode_b> cannot be combined. Otherwise emit the generic form: Review failed. Reason: conflicting mode flags — <mode_a> and <mode_b> cannot be combined.
Quick Review Short-Circuit
If $ARGUMENTS indicates the user wants a quick, fast, or light code review, do not dispatch the multi-agent flow.
Announce the chosen path before any other work (Quick review vs Multi-agent review).
Programmatic callers (when mode:autofix, mode:report-only, or mode:headless is present) skip this announcement -- the orchestrator owns user-facing messaging.
Sequence:
-
Run the harness's built-in code review. If
$ARGUMENTScontained a review target (PR number, GitHub URL, or branch name) after stripping recognized tokens, forward that target to the built-in. If no target was provided, run the bare command and let the built-in default to the current branch.- If you are Claude Code, run the
/reviewtool, passing the target if present (e.g.,/review 123,/review <PR-URL>,/review <branch>); otherwise run bare/review. - If you are Gemini, run a quick code review against the resolved target (or the current branch when none was provided).
- For all other coding harnesses, run your built-in code review tool, forwarding the target when its syntax accepts one.
Then stop. Do not dispatch the multi-agent reviewer pipeline.
- If you are Claude Code, run the
-
Exemption -- no built-in code review exists. If the current harness has no built-in code review command or skill, do not short-circuit. Continue into the full multi-agent review described in the rest of this skill (Tier 2).
-
Programmatic callers bypass this short-circuit. When
mode:autofix,mode:report-only, ormode:headlessis present, ignore quick intent and run the full multi-agent review. Skill-to-skill callers that want the lightweight pass should invoke/review(or the harness equivalent) directly rather than route through this short-circuit.
Mode Detection
| Mode | When | Behavior |
|---|---|---|
| Interactive (default) | No mode token present | Review, apply safe_auto fixes automatically, present findings, ask for policy decisions on gated/manual findings, and optionally continue into fix/push/PR next steps |
| Autofix | mode:autofix in arguments | No user interaction. Review, apply only policy-allowed safe_auto fixes, re-review in bounded rounds, write a run artifact capturing residual downstream work |
| Report-only | mode:report-only in arguments | Strictly read-only. Review and report only, then stop with no edits, artifacts, commits, pushes, or PR actions |
| Headless | mode:headless in arguments | Programmatic mode for skill-to-skill invocation. Apply safe_auto fixes silently (single pass), return all other findings as structured text output, write run artifacts, and return "Review complete" signal. No interactive prompts. |
Autofix mode rules
- Skip all user questions. Never pause for approval or clarification once scope has been established.
- Apply only
safe_auto -> review-fixerfindings. Leavegated_auto,manual,human, andreleasework unresolved. - Write a run artifact under
/tmp/compound-engineering/ce-code-review/<run-id>/summarizing findings, applied fixes, residual actionable work, and advisory outputs. Orchestrators read this artifact to route residualdownstream-resolverfindings; the skill itself does not file tickets or prompt the user in autofix. - Emit a compact Residual Actionable Work summary in the autofix return listing each residual
downstream-resolverfinding with its stable#, severity, file:line, title, and autofix_class. Structure the summary as two separate contiguous sections: appliedsafe_autofixes first, then residual non-auto findings. Within the residual section, reuse each finding's stable#from Stage 5 -- never renumber. Include the run-artifact path. Callers read this summary directly without parsing the artifact. When no residuals exist, stateResidual actionable work: none.explicitly. - Never commit, push, or create a PR from autofix mode. Parent workflows own those decisions.
Report-only mode rules
- Skip all user questions. Infer intent conservatively if the diff metadata is thin.
- Never edit files or externalize work. Do not write
/tmp/compound-engineering/ce-code-review/<run-id>/, do not file tickets, and do not commit, push, or create a PR. - Safe for parallel read-only verification.
mode:report-onlyis the only mode that is safe to run concurrently with browser testing on the same checkout. - Do not switch the shared checkout. If the caller passes an explicit PR or branch target,
mode:report-onlymust run in an isolated checkout/worktree or stop instead of runninggh pr checkout/git checkout. - Do not overlap mutating review with browser testing on the same checkout. If a future orchestrator wants fixes, run the mutating review phase after browser testing or in an isolated checkout/worktree.
Headless mode rules
- Skip all user questions. Never use the platform question tool (
AskUserQuestionin Claude Code,request_user_inputin Codex,ask_userin Gemini,ask_userin Pi (requires thepi-ask-userextension)) or other interactive prompts. Infer intent conservatively if the diff metadata is thin. - Require a determinable diff scope. If headless mode cannot determine a diff scope (no branch, PR, or
base:ref determinable without user interaction), emitReview failed (headless mode). Reason: no diff scope detected. Re-invoke with a branch name, PR number, or base:<ref>.and stop without dispatching agents. - Apply only
safe_auto -> review-fixerfindings in a single pass. No bounded re-review rounds. Leavegated_auto,manual,human, andreleasework unresolved and return them in the structured output. - Return all non-auto findings as structured text output. Use the headless output envelope format (see Stage 6 below) preserving severity, autofix_class, owner, requires_verification, confidence, pre_existing, and suggested_fix per finding. Enrich with detail-tier fields (why_it_matters, evidence[]) from the per-agent artifact files on disk (see Detail enrichment in Stage 6).
- Write a run artifact under
/tmp/compound-engineering/ce-code-review/<run-id>/summarizing findings, applied fixes, and advisory outputs. Include the artifact path in the structured output. - Do not file tickets or externalize work. The caller receives structured findings and routes downstream work itself.
- Do not switch the shared checkout. If the caller passes an explicit PR or branch target,
mode:headlessmust run in an isolated checkout/worktree or stop instead of runninggh pr checkout/git checkout. When stopping, emitReview failed (headless mode). Reason: cannot switch shared checkout. Re-invoke with base:<ref> to review the current checkout, or run from an isolated worktree. - Not safe for concurrent use on a shared checkout. Unlike
mode:report-only, headless mutates files (appliessafe_autofixes). Callers must not run headless concurrently with other mutating operations on the same checkout. - Never commit, push, or create a PR from headless mode. The caller owns those decisions.
- End with "Review complete" as the terminal signal so callers can detect completion. If all reviewers fail or time out, emit
Code review degraded (headless mode). Reason: 0 of N reviewers returned results.followed by "Review complete".
Interactive mode rules
- Pre-load the platform question tool before any question fires. In Claude Code,
AskUserQuestionis a deferred tool — its schema is not available at session start. At the start of Interactive-mode work (before Stage 2 intent-ambiguity questions, the After-Review routing question, walk-through per-finding questions, bulk-preview Proceed/Cancel, and tracker-defer failure sub-questions), callToolSearchwith queryselect:AskUserQuestionto load the schema. Load it once, eagerly, at the top of the Interactive flow — do not wait for the first question site and do not decide it on a per-site basis. On Codex, Gemini, and Pi this preload step does not apply. - The numbered-list fallback only applies when the harness genuinely lacks a blocking question tool —
ToolSearchreturns no match
Content truncated.
When not to use it
- →When multiple conflicting mode flags are present in arguments
- →When the user wants a quick, fast, or light code review and a built-in tool exists
- →When committing, pushing, or creating a PR in autofix, report-only, or headless modes
Limitations
- →Cannot combine conflicting mode flags
- →Does not commit, push, or create a PR in autofix, report-only, or headless modes
- →Requires a built-in code review tool for quick review short-circuit
How it compares
This skill provides a structured, multi-persona code review process with automated merging and deduplication of findings, offering more complete feedback than a single reviewer.
Compared to similar skills
ce-code-review side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| ce-code-review (this skill) | 0 | 2mo | Review | Advanced |
| python-testing-patterns | 77 | 2mo | Review | Intermediate |
| dependency-upgrade | 26 | 4mo | Review | Intermediate |
| test-cases | 57 | 6mo | No flags | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
python-testing-patterns
wshobson
Implement comprehensive testing strategies with pytest, fixtures, mocking, and test-driven development. Use when writing Python tests, setting up test suites, or implementing testing best practices.
dependency-upgrade
wshobson
Manage major dependency version upgrades with compatibility analysis, staged rollout, and comprehensive testing. Use when upgrading framework versions, updating major dependencies, or managing breaking changes in libraries.
test-cases
cexll
This skill should be used when generating comprehensive test cases from PRD documents or user requirements. Triggers when users request test case generation, QA planning, test scenario creation, or need structured test documentation. Produces detailed test cases covering functional, edge case, error handling, and state transition scenarios.
reviewing-code
CaptainCrouton89
Systematically evaluate code changes for security, correctness, performance, and spec alignment. Use when reviewing PRs, assessing code quality, or verifying implementation against requirements.
wcag-audit-patterns
wshobson
Conduct WCAG 2.2 accessibility audits with automated testing, manual verification, and remediation guidance. Use when auditing websites for accessibility, fixing WCAG violations, or implementing accessible design patterns.
code-coverage-with-gcov
gadievron
Add gcov code coverage instrumentation to C/C++ projects