/supergraph:review
SkillDev toolsPlan-aware graph-enhanced code review before merge. CRITICAL issues block merge. Use after fix/verify.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the /supergraph:review skill
What this skill tells your AI
The instructions your AI receives, as published by datit309/supergraph in plugins/supergraph/skills/review/SKILL.md and read by ahel’s review.
Final gate before merge. Graph-enhanced review with plan awareness.
Prerequisites
/supergraph:fixcompleted (tests pass, lint clean)
Usage
/supergraph:review | plan auth-login | plan auth-login task 2
Steps
0. Announce
"🔍 /supergraph:review — starting graph-enhanced code review..."
1. Select Plan Context
0 plans → skip | 1 → use | >1 → ask | plan <slug> → match.
Parse tasks, scope to task N if provided.
2. Capture Git Range
BASE_SHA=$(git rev-parse origin/master || git rev-parse origin/main || git rev-parse HEAD~1)
HEAD_SHA=$(git rev-parse HEAD)
git diff --stat "$BASE_SHA..$HEAD_SHA" && git diff --name-only "$BASE_SHA..$HEAD_SHA"
Use plan checkpoint commits as range if available. No changed files → check plan for incomplete tasks.
3. Graph Analysis (tiered)
Reindex first for CBM_PROJECT (see references/codebase-memory-contract.md#Lifecycle): index_status; if stale/degraded → index_repository (skip if BASE_SHA unchanged and .supergraph-env fresh). Then codebase-memory-mcp detect_changes, trace_path, get_graph_schema.
Tiered recipes (pick by blast radius):
- Micro (≤2 files, <20 lines, no hub/bridge):
cycles+test-gapsonly (0.04s) - Standard (≤5 files, no cross-boundary):
cycles/hubs/test-gaps+ optionalcross-boundary - Full (>5 files or hub/bridge/cross-boundary): all
cycles, hubs, bridges, test-gaps, complexity, cross-boundary(0.12s). Per file:query_graph(query_type="tests", target=file).
3b. Serena (optional, selective): See serena/SKILL.md:Setup. If scan not run, call initial_instructions first. Only for hub/bridge or complexity>10 files: find_referencing_symbols/find_implementations per symbol and get_diagnostics_for_file per file. Otherwise skip. Pass as "Serena findings". Skip if unavailable.
4. Dispatch Code Reviewer (tiered, parallel with tests)
Tiered (pick by blast radius):
- Micro (≤2 files, <20 lines, no hub/bridge): skip code-reviewer agent —
tests+lint+cycles+test-gapsđủ,Criticalchỉ từtests/lint/circular(LLM 30-60s saved) - Standard (≤5 files, no cross-boundary): Stage1 Spec Compliance only, parallel with tests
- Full (>5 files or hub/bridge/cross-boundary): 2-stage (Spec→Quality), parallel with tests. Join before Step 6.
Agent(subagent_type="supergraph:code-reviewer", prompt="Review BASE_SHA..HEAD_SHA. Spec first, then quality (Standard: Stage1 only). BASE_SHA/HEAD_SHA, git diff --stat + git diff (first 300 lines, or --name-only + snippets for large diffs), Graph: hubs/bridges/surprise/flows/gaps, Serena findings, Plan requirements. Output: strengths, Critical/Important/Minor, verdict YES|WITH_FIXES|NO")
5. Verify Tests + Lint (parallel with Step 4 when reviewer runs)
Run $TEST_CMD and $LINT_CMD; if reviewer skipped (Micro), run tests alone. Dedup: if verify just passed with same HEAD_SHA and <120s ago and git diff unchanged, reuse verify evidence; else rerun fresh. Failures → add to Critical. Join both before Classify.
6. Classify Issues
| Severity | Sources | Action |
|---|---|---|
| Critical | Reviewer Critical, tests/lint fail, circular deps, broken hub API, surprise>0.7, in_progress tasks | Block merge |
| Important | Reviewer Important, surprise 0.5-0.7, missing hotspot tests, bridge node without validation, stuck tasks | Fix unless risk accepted |
| Minor | Reviewer Minor, clean graph, good coverage | Note only |
7. Checklist
| Gate | Check |
|---|---|
| Blast radius | All affected files handled? |
| Hub safety | Callers tested? API compatible? |
| Bridge | Cross-community impact? |
| Surprise | >0.7 investigate, 0.5-0.7 document |
| Gaps | Untested hotspots? |
| TDD | RED/GREEN evidence? |
8. Act on Feedback
Critical → fix immediately, no exceptions. Important → fix unless user accepts risk. Push back with evidence, not opinion. Minor → note, optional.
When human gives review feedback:
- Clarify ALL unclear items first, implement together
- Grep codebase before implementing suggested "professional" features (YAGNI)
- Push back gracefully if reviewer is wrong — technical reasoning + tests/proof
- Never performative agreement ("You're absolutely right!")
9. Generate Verdict
## Review Report
- Verdict: PASS | NEEDS_CHANGES | BLOCKED
- Changed: N files | Blast radius: M
- Hub/Bridge: [list/none] | Surprise: [list/none]
- Tests: PASS|FAIL | Lint: PASS|FAIL
- Critical: N | Important: N | Minor: N
- Reasoning: [summary]
Verdict rules:
PASS→ 0 Critical, reviewer YESNEEDS_CHANGES→ 0 Critical, >0 Important or reviewer WITH_FIXESBLOCKED→ >0 Critical or reviewer NO
10. Update Plan
PASS + all tasks reviewed → mark Status: completed, add review log.
BLOCKED → mark affected tasks stuck, append blocker list.
10b. Update CONTEXT.md (if review surfaced new domain invariants)
If review revealed undocumented domain rules, invariants, or terminology:
printf '\n## <term or invariant>\n[what was discovered]\n' >> CONTEXT.md
Examples: hidden ordering constraints, shared state assumptions, boundary rules between modules.
Serena memory (optional — for non-PASS verdicts): On BLOCKED or NEEDS_CHANGES, persist findings for the next fix cycle:
mcp__serena__write_memory(
title="<plan-slug>-review-verdict",
content="Verdict: [BLOCKED|NEEDS_CHANGES]. Critical: [...]. Callers affected: [...]. Diagnostics: [...]"
)
Skip if Serena unavailable or verdict is PASS.
11. Handoff
PASS → ready to merge.
NEEDS_CHANGES → /supergraph:fix, then re-review. Max 2 cycles, then escalate.
BLOCKED → escalate immediately, no auto-fix.
Rules
- Dispatch code-reviewer per tier (Micro skip, Standard Stage1, Full 2-stage); always join with tests before Classify
- Critical issues block merge — no exceptions
- Hub/bridge changes need extra scrutiny
- Max 2 fix-review cycles, then escalate
- Never pass if tests or lint fail
- Surprise connections must be investigated or documented
Signals
- GitHub stars
- 22
- Forks
- 5
- Last commit
- Sep 2026
- Hacker News mentions
- 20
Advanced
- Catalog kind
- skill
- Gateway key
review-datit309- Source
- github.com/datit309/supergraph