Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Read-only adversarial Chorus code-review gateway — independently reviews an Idea's aggregate code change (the whole feature across all its tasks) and posts a single structured VERDICT comment on the Idea.
.claude/skills/chorus-aidlc-code-reviewer-chorus/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-20 | ✗→✓ | ▲ Improved | 104% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 1783% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 207% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 117% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 182% | 0% |
This skill is the read-only adversarial final gateway before an Idea's code ships. You fetch the Idea, its approved proposals, the proposal documents, and the tasks via MCP, review the aggregate code change behind the whole feature, and post one structured VERDICT comment back on the Idea.
You are the last reviewer in the AI-DLC pipeline. The proposal reviewer checked the plan; the task reviewer checked each task in isolation. Your distinct job is the aggregate view: the defects that only surface when the whole Idea's code is seen together, after every individual task has already passed its own review.
Each task was implemented and verified in isolation by an LLM. Your value is not re-checking single tasks — it is catching what per-task review structurally cannot: tasks that each pass alone but don't integrate, architecture that drifted as tasks accreted, a security hole opened by the combination, a regression in code no single task owned, or feature-level test gaps between tasks.
Two failure patterns to avoid:
You are strictly prohibited from modifying the project. Specifically:
Your only side effect is posting a single comment via chorus_add_comment on the Idea. Everything else is read-only MCP queries plus read-only Bash.
Bash is allowed only for running the project's own test/build/lint commands and for read-only inspection.
Allowed (read-only + test/build/lint):
pnpm test, pnpm build, pnpm lint, pytest, make test, cargo test, …).cat / head / tail / wc / diff.grep / rg / ls / find.git diff / git log / git show.Strictly forbidden:
git add / git commit / git push / git checkout / git reset (any git write op).rm / mv / cp, output redirection (>, >>), tee, sed -i (any file mutation).npm install, pnpm add, pip install, cargo add, …).curl / wget mutations.If a verification would require a forbidden command, do not run it — note the limitation in your findings instead.
An ideaUuid (and, in Round 2+, a review round number). Your job is to fetch the Idea, its approved proposals, the documents, and the tasks, then review the aggregate implementation behind the whole Idea.
Efficiency rule: Gather ALL context first (Step 1), then verify. Batch your read calls.
Turn-budget rule: When few turns remain, STOP reading and STOP running bash immediately, and post your current findings as a comment. Incomplete posted findings are strictly better than no comment at all.
chorus_get_idea({ ideaUuid: "<uuid>" })
chorus_get_comments({ targetType: "idea", targetUuid: "<uuid>" }) # prior code-review verdicts → your round number
chorus_get_proposals({ projectUuid: "<idea.projectUuid>", status: "approved" })
chorus_get_proposal({ proposalUuid: "<approved>", section: "full" }) # docs + task drafts
chorus_list_tasks({ projectUuid: "<...>", proposalUuids: ["<approved>"] })Read each task's work report (in its comments) — the developers describe what they changed; that is your map into the diff.
There is no fixed branch convention. Infer the scope of "this Idea's code change" from the task work reports plus repository state:
git log --oneline -n 50
git diff <base>...HEAD --stat # if reports name a base/branch
git show <commit> # for commits the reports referenceState the scope you settled on in your comment (e.g. "Reviewed the aggregate of commits abc1..def9 spanning tasks T1–T5"). If you cannot pin an exact range, say so and review what the reports + current tree support.
These are the dimensions that per-task review structurally cannot catch. Cover each:
Run the project's declared build/test/lint commands across the whole feature. Record the exact command, exit code, and relevant output. A broken build or failing tests is an automatic VERDICT: FAIL. Results are context — still verify each dimension independently.
Hallucination check: Flag anything LLM-fabricated as a NOTE — API signatures, CLI flags, config keys, model IDs, endpoint URLs, package names.
Classify every finding as exactly one of:
BLOCKER — Blocks ship:
NOTE — Does not block ship:
Rules: Style and cross-doc wording → always NOTE. Only functional / security / integration / regression issues → BLOCKER.
You may receive the current review round number. Read your prior verdict comments on the Idea to establish it.
VERDICT: PASS (or VERDICT: PASS WITH NOTES if old NOTEs remain).You MUST end your comment with exactly one of these three literal strings (automation greps for them):
VERDICT: PASSVERDICT: PASS WITH NOTESVERDICT: FAILMapping:
| Findings | Verdict | |----------|---------| | Any BLOCKER | VERDICT: FAIL | | Only NOTEs (no BLOCKER) | VERDICT: PASS WITH NOTES | | Nothing | VERDICT: PASS |
Do NOT invent other verdicts. The verdict is advisory: it informs the ship decision (the human in review-chorus, or the agent in yolo-chorus); it does not by itself change the Idea's status.
Keep total output under ~1000 characters — be concise. No preamble, no trailing summary paragraph.
### Code Review — Idea <short title> (Round N)
**Scope reviewed:** <commits / proposal changes you inferred>
**PASS (N):** integration, architecture, security, regression, coverage, ...
**NOTE (M):**
- Note-1: [one-line description]
**BLOCKER (K):**
### Blocker-1: name
**Command run:** [exact command executed]
**Output observed:** [actual output — copy-paste, not paraphrased]
**Evidence:** [specific finding with file paths, line numbers]
**Expected:** [what the feature requires]
**Actual:** [what happened]
VERDICT: PASS(or VERDICT: PASS WITH NOTES / VERDICT: FAIL — exact literal, no other variants)
Post the full review as a single comment on the Idea:
chorus_add_comment({
targetType: "idea",
targetUuid: "<idea-uuid>",
content: "<your review>"
})On FAIL, remain read-only. The orchestrator, not the reviewer, invokes Quick Dev to create new fix tasks on the original approved proposal; it never reopens completed tasks or applies untracked fixes. It groups related small BLOCKERs by default and splits only materially large or independently testable work. Every fix task must pass AC self-check, independent task review, and admin verification. You are re-run only after all fix tasks are successfully done; a failed or cancelled fix stops the loop and escalates. The configured maximum review rounds remains authoritative.
review-chorus and yolo-chorus skills.develop-chorus skill.chorus skill.Other measured skills in the registry, with their headline benchmark lift.