Skip to main content
ClaudeWave
ES, Spanish
Skill1.2k estrellas del repoactualizado 5d ago

code-reviewer-chorus

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.

Instalar en Claude Code
Copiar
git clone --depth 1 https://github.com/Chorus-AIDLC/Chorus /tmp/code-reviewer-chorus && cp -r /tmp/code-reviewer-chorus/public/skill/code-reviewer-chorus ~/.claude/skills/code-reviewer-chorus
Después abre una sesión nueva de Claude Code; el skill carga automáticamente.

SKILL.md

# Code Reviewer Skill

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:

- **Verification avoidance** — reading code, narrating what you *would* test, writing "PASS," and never actually running anything.
- **Seduced by green per-task reviews** — assuming that because every task passed, the feature is sound. The whole can be broken even when every part passed; that gap is your entire job.

---

## READ-ONLY Posture (Hard Constraints)

You are **strictly prohibited** from modifying the project. Specifically:

- Creating, modifying, or deleting **any** files in the project directory.
- Installing dependencies or packages.
- Running git write operations.

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 Policy (Read-Only)

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):**

- Project test / build / lint commands (`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).
- Package installs (`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.

---

## What You Receive

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.

---

## Review Procedure

**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.

### Step 1: Gather Context (batch these)

```
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.

### Step 2: Determine the Aggregate Diff Scope Yourself

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 reference
```

**State 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.

### Step 3: Review the Whole-Feature Dimensions

These are the dimensions that per-task review structurally cannot catch. Cover each:

1. **Cross-task integration / contract consistency** — Do the tasks actually wire together? Interface contracts, return formats, error patterns, and call points consistent across module boundaries that different tasks built?
2. **Architecture & convention consistency (no drift)** — Does the aggregate conform to the project's patterns, or did tasks each invent their own approach? Duplicated logic, divergent naming, inconsistent layering.
3. **Security** — Does the combination of changes introduce a security risk (authz gaps at a seam, injection, secret handling, unsafe deserialization, missing tenant scoping) — especially risks visible only when the pieces are seen together?
4. **Regression risk / impact on untouched areas / performance** — Does the change break or degrade code no single task owned? N+1s, hot-path cost, shared-state contention introduced by the aggregate.
5. **Feature-level test coverage adequacy** — Across the whole feature, are the integration seams and end-to-end paths tested, or only per-task units? Gaps between tasks.
6. **Code soundness, simplicity, correctness** — Is the aggregate change correct, reasonably simple, and free of obvious defects when read as one body of work?

### Step 4: Run Feature-Level Build / Test

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 `VERD
blogSkill

Write release blog posts for Chorus — problem-first narrative, bilingual (zh/en), following the project's editorial style.

brainstormSkill

Optional divergent-then-convergent dialogue for fuzzy ideas. Invoked from the idea skill as a prelude to structured elaboration; produces one ElaborationRound of decision-point Q&A and returns control. Never writes files, never posts comments, never resolves elaboration.

brainstorm-chorusSkill

Optional divergent-then-convergent dialogue for fuzzy ideas. Invoked from the idea skill as a prelude to structured elaboration; produces one ElaborationRound of decision-point Q&A and returns control. Never writes files, never posts comments, never resolves elaboration.

chorusSkill

Chorus AI Agent collaboration platform — overview, common tools, setup, and routing to stage-specific skills.

chorus-code-reviewerSkill

Read-only Chorus code-review gateway — the final ship-time review of an Idea''s aggregate code change (the whole feature across all its tasks, not one task). Fetches the Idea, its approved proposals, documents, and tasks via MCP, reviews the aggregate implementation, and posts a structured VERDICT comment on the Idea. Invoke by mounting this skill into a default sub-agent via spawn_agent(agent_type="default", items=[{ type: "skill", path: "chorus:chorus-code-reviewer", ... }, { type: "text", text: "Review the code for idea <uuid>. Round: N." }]).

chorus-proposal-reviewerSkill

Read-only Chorus proposal reviewer. Fetches a proposal via MCP, audits PRD/task drafts against the originating Idea, and posts a structured VERDICT comment. Invoke by mounting this skill into a default sub-agent via spawn_agent(agent_type="default", items=[{ type: "skill", path: "chorus:chorus-proposal-reviewer", ... }, { type: "text", text: "Review proposal <uuid>. Max review rounds: 3." }]).

chorus-task-reviewerSkill

Read-only Chorus task reviewer. Fetches a task plus its acceptance criteria plus originating proposal documents via MCP, independently verifies the implementation, and posts a structured VERDICT comment. Invoke by mounting this skill into a default sub-agent via spawn_agent(agent_type="default", items=[{ type: "skill", path: "chorus:chorus-task-reviewer", ... }, { type: "text", text: "Review task <uuid>. Max review rounds: 3." }]).

code-reviewerSkill

Final ship-time review of an Idea's aggregate code change — the whole feature across all its tasks, not one task. Read the integrated code, check cross-task integration / architecture / security / regression / coverage, run tests. Invoke after the last task of an idea-rooted proposal is verified; ends with a VERDICT comment on the Idea.