ce-code-review
The facts
Its description
Review a named diff or PR for bugs, regressions, tests, and standards. Use when asked to review code or when a shipping skill needs a review receipt. Use when asked to apply this review's findings locally. Use ce-resolve-pr-feedback for feedback already left on a PR.
The description the agent reads to decide when to use it.
When it starts
An agent would pick this skill when someone asks it to review code — a named diff, branch, or PR — for bugs, regressions, tests, and standards, or when a shipping skill needs a review receipt, or when someone asks it to apply this review's findings to the local checkout. The description sends feedback already left on a PR to ce-resolve-pr-feedback instead.
Things a person might say (the model's guesses)
- “Can you review my branch before I merge it?”
- “Review PR #482 for bugs and missing tests.”
- “Review this diff and apply the fixes locally.”
A model's summary of when it is used.
What it takes when started
[mode:agent] [apply:local] [blank to review current branch, or provide PR link]
What to type after its name when you start it.
Starts other agents
4 lines mention starting other agents
Lines in the file that mention starting another agent. Found by matching words, so treat them as pointers.
Files it mentions
references/modes-and-output.md, references/scope.md, references/depth-paths.md, references/intent-and-plan.md, references/persona-catalog.md, references/select-and-route.md, references/cross-model-review.md (first 5 of 7 lines)
Files the text names, such as ones to read or write. Found by matching words, so treat them as pointers.
Stops for a person
2 lines stop to ask a person
Lines that stop and wait for a person before going on. Found by matching words, so treat them as pointers.
What it leads to
- calls ce-noslop when the leaf can invoke skills finish-review.md, line 122
- an alternative: ce-resolve-pr-feedback for feedback already left on a PR line 3
Other skills this one hands off to, calls, requires or offers instead, as a model read them.
What leads to it
- ce-optimize hands off to this ce-optimize/wrap-up.md, line 36
- ce-debug calls this interactive mode, when the diff scope is known to be this fix ce-debug/post-fix-handoff.md, line 17
- ce-work calls this standalone shipping only ce-work/shipping-workflow.md, line 29
- ce-worktree calls this when the user picks the worktree option ce-worktree, line 16
- lfg calls this on the code-change routes lfg, line 43
- ce-resolve-pr-feedback is an alternative to this before feedback exists ce-resolve-pr-feedback, line 3
Other skills that hand off to this one, call it, require it or offer it instead, as a model read them.
Names skills outside this collection
- ce-work-beta dispatch-reviewers.md, line 59
Skills the text names that are not in this collection, as a model read them.
Licence
MIT, from LICENSE
The terms its author shares it under, which let it be shown here.
Other files in this skill (38) Close
- references/action-class-rubric.md
- references/cross-model-recovery.md
- references/cross-model-review.md
- references/depth-paths.md
- references/diff-scope.md
- references/dispatch-reviewers.md
- references/findings-schema.json
- references/finish-input.md
- references/finish-review.md
- references/intent-and-plan.md
- references/modes-and-output.md
- references/persona-catalog.md
- references/review-output-template.md
- references/scope.md
- references/select-and-route.md
- references/subagent-template.md
- references/validator-batch-template.md
- references/personas/adversarial-reviewer.md
- references/personas/agent-native-reviewer.md
- references/personas/api-contract-reviewer.md
- references/personas/correctness-reviewer.md
- references/personas/data-migration-reviewer.md
- references/personas/deployment-verification-agent.md
- references/personas/julik-frontend-races-reviewer.md
- references/personas/learnings-researcher.md
- references/personas/maintainability-reviewer.md
- references/personas/performance-reviewer.md
- references/personas/previous-comments-reviewer.md
- references/personas/project-standards-reviewer.md
- references/personas/reliability-reviewer.md
- references/personas/security-reviewer.md
- references/personas/swift-ios-reviewer.md
- references/personas/testing-reviewer.md
- scripts/cross-model-adversarial-review.sh
- scripts/findings-mechanics.py
- scripts/packs-resolve.py
- scripts/review-scope.py
- scripts/run-log.py
The text
Most marks come from matching words in the file, so treat them as pointers.
Code Review
Help the caller deliver a correct change within the agreed scope. Find defects and improvements whose consequences justify action; judge the code against its intended behavior and project requirements, not a preferred rewrite. Serious defects remain important even when the diff is small. An adequate change needs no findings.
Done when: required review and validation are complete, retained findings are supported by the source, and the caller has a clear result with any remaining coverage limits. Apply only when the invocation authorizes it, under the rules below.
Raw lines 1 to 12Artifact Root
<!-- ce-docs-root:start --> **Resolve the CE artifact root <root> before composing any artifact path.**
- Read
docs_rootfrom<repo-root>/.compound-engineering/config.yamlonly (<repo-root>=git rev-parse --show-toplevel). Do not read it fromconfig.local.yaml. Unset -><root>isdocs, exactly as before. - Validate a set value: a repo-relative directory whose real, symlink-resolved path stays inside the repo and is neither the repo root nor under
.git/. Otherwise stop with an error namingdocs_rootand the value -- never fall back todocs. - Use
<root>as the sole artifact location: create it if absent, compose each path as<root>/<subdir>with this skill's own subdirectory, and never also readdocs.
<!-- ce-docs-root:end -->
Raw lines 13 to 22Execution spine
Follow these steps in order; the references supply the detail but never change the order. Read each reference when you enter the step whose own work it governs; a read made before that step does not satisfy it, and a reference you only hand to a leaf is not one you read.
- Read
references/modes-and-output.mdfirst. It settles arguments, conflicts, the quick-review short-circuit, the Review depth gate, and what this invocation returns. - Stage 1. Read
references/scope.mdand resolve the reviewed diff, the scope mode, and the deterministic scope signals. Then apply that Review depth gate before Stage 2. Lite ends the run without the later spine references; lite and focused each run from this context byreferences/depth-paths.md. - Stage 2. Read
references/intent-and-plan.md, write the intent summary every reviewer receives, and discover the plan Stage 6 verifies requirements against. - Stage 3. Read
references/persona-catalog.mdandreferences/select-and-route.md, then select the reviewers the change's risks call for, find the applicable standards files, and decide how the adversarial review will run. - Stage 3d. When adversarial is selected for a local reviewed tree, start and persist the sanctioned cross-model job that
references/cross-model-review.mddefines, before any local persona dispatch. Invoking this skill is itself the authorization for its configured or allowlisted peer route, once you have made the required disclosure of the recipient and of the code that leaves the machine. Do not ask the user to confirm a second time, and do not skip the peer because the user did not repeat that authorization. An explicit user prohibition on external review overrides it, as does a checkout that setscross_model_review_mode: offwith no live opt-in; both are resolved before you bind a route. A started peer replaces the local adversarial persona at this stage, and only a real failure to scope, allowlist, reach, authenticate, or start it leaves the local fallback in the roster; a later stage may still restore the local reviewer under the conditions that reference states. - Stage 4. Read
references/dispatch-reviewers.md. Dispatch the selected local reviewers as one concurrent batch collected in this turn, sized to the host's active-agent cap. Every successful launch is collected only when its terminal outcome is in hand: a valid compact return is consumed, a tool error or malformed output is recorded as a failed reviewer, and a launch acknowledgement alone is not a result. Use the host's blocking collection capability for asynchronous receipts within the bound that reference states, after which an uncollected reviewer is a failed reviewer; a terminal outcome may arrive as the call's return, a blocking wait's return, or a host-delivered terminal message that names the launch and carries its payload; a progress update is not one. If launched work cannot be collected reliably, stop it, and for any persisted peer (the cross-model job) run the cleanup its reference describes before returning the failure result, and never end the turn on progress to await it. Detaching local review into a polled background job is forbidden. The cross-model peer is the only detached work, and it may overlap this batch. - Stages 5 and 6. Once every reviewer result is in, write the finish input
references/finish-input.mddefines and stay in that reference: it owns the validator launch and the run-artifact list. Dispatch in sequence the two leaf subagents it names, each seeded withreferences/finish-review.md, which the leaves read from disk and you do not open: a merge leaf that folds in the peer's findings once and merges from the run dir, then, after you launch and collect the validator it selected, a report leaf that renders the report. Neither leaf launches a subagent; you launch every one. Emit the report leaf's return verbatim as this skill's response. Never synthesize directly from raw reviewer artifacts, and never merge or render in the dispatch context. In the multi-agent path, emit only this skill's report: do not also invoke a harness-native findings or reporting tool, which belongs to the quick-review short-circuit alone.
Operating principles
- Report-only by default; never push. A bare
ce-code-reviewinvocation produces findings and does not apply them. Entering the apply stage requiresapply:local, or an explicit user request in the invoking prompt to apply or fix this review's findings; a deprecatedmode:autofixtoken is neither.mode:agentnever mutates the tree, even when nested inside a workflow that later applies findings. Never push, open PRs, or file tickets in any mode. - No blocking prompts. Never use
AskUserQuestion,request_user_input,ask_user, or other blocking question tools. Infer intent, plan, and scope from explicit tokens, git state, PR metadata, and conversation. Note uncertainty in Coverage or the verdict — do not stop to ask. - Explicit mutations only. Never run
gh pr checkout,git checkout,git switch, or similar branch-switch commands. Passing a PR number, URL, or branch name selects review scope, not permission to mutate the working tree. Uncommitted work can only be reviewed from the checkout that holds it, so to review it on a feature branch, stay on that branch (or check it out yourself) and passbase:or no target. - Report outcomes, not machinery. What you show the user is about the review: what is being examined, which coverage is included and the one-line reason for each conditional lens, the independent cross-model pass, and the findings. Name what the user would recognize, such as a PR number, a reviewer's concern, or a peer model. This skill's internal labels, dispatch bookkeeping, and setup narration stay out of user-facing text. Never claim more about the peer than its receipt attests. This governs what you surface and suppress, not the wording; use your own voice.
From EveryInc/compound-engineering-plugin at 3449230, 2026-10-31. Skills read by DeepSeek V4.1 Flash on 2026-11-04. Summary and techniques by Claude Opus 5.5 on 2026-11-06.