agentleFS
sammasaksammasak/claude-code-skills/skills/orchestrated-review/SKILL.md

orchestrated-review

Skill1 starsChanged 29 days agoMITView on GitHub

Use when reviewing an implementation after a task is complete, including after an implementer finishes a task in subagent-driven-development.

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

Show its rules and text

We split this skill into the rules it gives an agent

19 rules. About 0 are common, 13 are distinctive, and 6 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈13

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 6

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Prerequisites: verify these files exist before starting:

    line 12
  2. Distinctive:

    If any are missing, abort and tell the user.

    line 17
  3. Very specific:

    Use the prompt template at ~/knowledge/workflows/recursive-review/prompts/assessor.md, replacing:

    line 28
  4. Very specific:

    If reviewing against a task spec: add a ## Task Spec heading at the end of the rendered assessor prompt and paste the full spec text under …

    line 34
  5. Very specific:

    Edge case: if the assessor returns chunks: [], abort and tell the user: "Assessor found no reviewable files."

    line 52
  6. Distinctive:

    Gate: do not dispatch any Stage 2 Agent calls until the assessor subagent returns its full JSON output, and dispatch them in a separate …

    line 54
  7. Distinctive:

    ALL chunks go in the same single message.

    line 60
  8. Very specific:

    Use the Agent tool with subagent_type=general-purpose, model: opus, and the reviewer prompt at …

    line 68
  9. Very specific:

    NOT the assessor's paraphrase.

    line 75
  10. Very specific:

    If a reviewer returns malformed output or fails, record that category as score=0 with a single critical finding: "Reviewer failed — …

    line 92
  11. Distinctive:

    After a NOT APPROVED decision:

    line 118
  12. Distinctive:

    Always restart at Stage 1 — the assessor re-runs.

    line 119
  13. Distinctive:

    Use in place of both spec compliance and code quality review steps

    line 127
  14. Distinctive:

    Run once per task after the implementer commits

    line 129
  15. Distinctive:

    If NOT APPROVED: implementer fixes, then re-run this skill (see Re-run Semantics above).

    line 130
  16. Distinctive:

    Never dispatch reviewers before the assessor returns (categories must be known)

    line 134
  17. Distinctive:

    Never dispatch reviewers sequentially — all must run in parallel (single message)

    line 135
  18. Distinctive:

    Never skip aggregation — all reviewer outputs must be collected before determining the decision, even if some categories score low

    line 136
  19. Distinctive:

    Never combine assessor and reviewer Agent calls in the same message — Stage 2 must be dispatched in a separate response turn after the …

    line 137

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Orchestrated Code Review

Replace the fixed spec+quality two-step with emergent categories. An assessor reads the files and selects the 3–5 most relevant categories from the catalog. One specialist per category reviews in parallel. The controller aggregates and decides.

Prerequisites: verify these files exist before starting:

  • ~/knowledge/workflows/recursive-review/prompts/assessor.md
  • ~/knowledge/workflows/recursive-review/prompts/reviewer.md
  • ~/knowledge/workflows/recursive-review/categories.yaml

If any are missing, abort and tell the user.

categories.yaml structure — three top-level keys (code:, docs:, configs:), each containing named categories with description, default_weight, and applicable_to glob list. The assessor selects applicable categories per chunk and re-normalizes weights. Pass the full file contents verbatim as {{CATEGORIES_YAML}}.

Template contracts:

  • assessor.md accepts: {{FILES}} (file list), {{CATEGORIES_YAML}} (full yaml). Returns JSON with chunks[] — see expected shape below.
  • reviewer.md accepts: {{CHUNK_FILES}}, {{CATEGORY}}, {{CATEGORY_DESCRIPTION}}, {{ITERATION}}. Returns JSON with category, score, summary, findings[].

Stage 1 — Assess

Dispatch one assessor subagent using the Agent tool with subagent_type=general-purpose, model: opus. Use the prompt template at ~/knowledge/workflows/recursive-review/prompts/assessor.md, replacing:

  • {{FILES}} — the changed file paths for this task (one per line)
  • {{CATEGORIES_YAML}} — full contents of ~/knowledge/workflows/recursive-review/categories.yaml

If reviewing against a task spec: add a ## Task Spec heading at the end of the rendered assessor prompt and paste the full spec text under it. Also instruct the assessor to add a custom category:

Custom category: spec-compliance
Description: Does the implementation match the task spec exactly? Nothing missing, nothing extra.
Weight: 0.25 (drawn from the re-normalized pool)

Expected assessor output shape:

{"chunks": [{"id": "...", "description": "...", "files": [{"path": "...", "lines": 0, "artifact_type": "..."}], "categories": [{"name": "...", "description": "...", "weight": 0.0, "source": "catalog|proposed"}]}]}

(controller uses: chunks[].files[].path and chunks[].categories[].name/description — full schema in assessor.md)

A chunk is a logical grouping of related files the assessor clusters — treat each as an opaque list of file paths.

Edge case: if the assessor returns chunks: [], abort and tell the user: "Assessor found no reviewable files."

Gate: do not dispatch any Stage 2 Agent calls until the assessor subagent returns its full JSON output, and dispatch them in a separate response turn — never in the same message as the assessor Agent call.

Stage 2 — Review (parallel)

Dispatch all specialist reviewers in a single message. For each chunk in chunks[], dispatch one Agent call per category in that chunk's categories[] — all Agent calls for ALL chunks go in the same single message.

Force leanness on code. For any chunk whose files include a code extension (.rs .py .ts .js .go .java .rb .nix), ensure exactly one leanness reviewer is dispatched (add it if the assessor did not select it; do not duplicate it if it did) — debloat/deslop is mandatory for code, exactly as spec-compliance is forced when a spec is present. Pass its verbatim catalog description.

Use the Agent tool with subagent_type=general-purpose, model: opus, and the reviewer prompt at ~/knowledge/workflows/recursive-review/prompts/reviewer.md, replacing:

  • {{CHUNK_FILES}} — file paths in this chunk
  • {{CATEGORY}} — category name
  • {{CATEGORY_DESCRIPTION}} — for a source: catalog category, the VERBATIM description from categories.yaml (look it up by name in {{CATEGORIES_YAML}}), NOT the assessor's paraphrase. The assessor shortens descriptions into chunk one-liners; catalog categories like leanness carry load-bearing instructions (e.g. SKILL.md paths the reviewer must read) that have to reach the reviewer intact. For a source: proposed category, use the assessor's description.
  • {{ITERATION}} — always 1 in this skill — the reviewer uses it to adjust focus (iteration 1 = fresh review; higher values would focus on previously flagged issues), but this skill always passes 1; prior run context is conveyed via ## Prior Findings instead

Each reviewer returns JSON:

{"category": "...", "score": 0-100, "summary": "...", "findings": [
  {"file": "...", "line": 0, "severity": "critical|major|minor", "description": "...", "suggestion": "..."}
]}

Stage 3 — Aggregate (controller, no subagent)

Collect all reviewer JSON outputs and produce a consolidated report.

If a reviewer returns malformed output or fails, record that category as score=0 with a single critical finding: "Reviewer failed — category not assessed."

Decision (no numeric overall score is computed — the decision is determined solely by finding disposition):

  • Any critical finding → NOT APPROVED — implementer must fix all critical findings before proceeding
  • No critical, any major finding → APPROVED WITH FIXES — implementer should fix major findings
  • No critical or major findings → APPROVED

Output format:

## Review Result: [NOT APPROVED | APPROVED WITH FIXES | APPROVED]

### Scores
| Chunk | Category | Score |
|-------|----------|-------|

### Findings
| File | Line | Severity | Category | Description | Suggestion |
|------|------|----------|----------|-------------|------------|

Re-run Semantics

After a NOT APPROVED decision:

  1. Always restart at Stage 1 — the assessor re-runs; categories from the prior run are not reused
  2. Dispatch Stage 2 reviewers as normal
  3. Append a ## Prior Findings section to each reviewer prompt containing all critical and major findings from the prior run, grouped by file — this helps reviewers confirm fixes

{{ITERATION}} always stays 1 on re-runs — prior run context is conveyed exclusively via ## Prior Findings, not via the iteration counter.

When to use

  • Use in place of both spec compliance and code quality review steps
  • The spec-compliance custom category covers spec checking
  • Run once per task after the implementer commits
  • If NOT APPROVED: implementer fixes, then re-run this skill (see Re-run Semantics above).

Red flags

  • Never dispatch reviewers before the assessor returns (categories must be known)
  • Never dispatch reviewers sequentially — all must run in parallel (single message)
  • Never skip aggregation — all reviewer outputs must be collected before determining the decision, even if some categories score low
  • Never combine assessor and reviewer Agent calls in the same message — Stage 2 must be dispatched in a separate response turn after the assessor result is received

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.