Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Structured pull-request review across six fixed dimensions — correctness, clarity, consistency, coverage, complexity, and change-scope — producing a per-dimension verdict plus severity-tagged findings. Use when reviewing a PR diff or running the collaboration PR lifecycles.
.claude/skills/a5c-ai-six-dimension-code-review/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | -36% | 0% |
| case-01 | ✗→✓ | ▲ Improved | -21% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -54% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -57% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -42% | 0% |
The rubric hardcoded as the DIMENSIONS array in ../../code-review/six-dimension-review.js (@process specializations/collaboration/code-review/six-dimension-review) and depended on by ../../github/pr-lifecycle-feature.js. Each dimension is reviewed independently and in parallel; one lens per pass.
race conditions, null/undef hazards, error-path gaps?
non-obvious. Flag cleverness that sacrifices readability.
architectural boundaries in the repo?
the right paths? Any coverage gaps for edge cases?
premature abstraction, unused flexibility?
refactor+feature, or churn that belongs in a separate PR?
Each dimension pass returns:
json{ "findings": [ { "severity": "block", "path": "src/example.ts", "line": 42, "detail": "…", "suggestion": "…" } ], "summary": "string" }
severity is one of block, nit, or info. The process aggregates the six passes into a per-dimension verdict map plus two flattened lists — blockingFindings (every block finding, tagged with its dimension) and nits (every nit finding, likewise tagged) — and a joined summary. The review succeeds only when blockingFindings is empty.
../../code-review/validator.js uses a different, broader dimension set — quality, architecture, tests, security, ux, business — and materialises non-blocking findings as deferred debt on disk. This skill documents the six-dimension rubric only; the two are not interchangeable.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-07 | fail→pass | 14,827 | 8,180 | -45% | 1 | 1 | 0% | 1,692 | 1,080 | -36% | 0 | 0 | — |
case-01 | fail→pass | 16,741 | 11,131 | -34% | 1 | 1 | 0% | 2,265 | 1,781 | -21% | 0 | 0 | — |
case-22 | pass→pass | 18,588 | 8,519 | -54% | 1 | 1 | 0% | 2,427 | 1,166 | -52% | 0 | 0 | — |
case-02 | fail→fail | 13,642 | 12,399 | -9% | 1 | 1 | 0% | 1,418 | 1,882 | +33% | 0 | 0 | — |
case-03 | fail→pass | 20,707 | 9,750 | -53% | 1 | 1 | 0% | 2,993 | 1,391 | -54% | 0 | 0 | — |
case-04 | pass→pass | 38,988 | 19,846 | -49% | 1 | 1 | 0% | 2,393 | 3,375 | +41% | 0 | 0 | — |
case-05 | pass→pass | 19,652 | 21,172 | +8% | 1 | 1 | 0% | 3,299 | 4,180 | +27% | 0 | 0 | — |
case-06 | fail→pass | 18,066 | 9,396 | -48% | 1 | 1 | 0% | 2,281 | 988 | -57% | 0 | 0 | — |
case-08 | pass→pass | 16,500 | 7,474 | -55% | 1 | 1 | 0% | 2,037 | 1,012 | -50% | 0 | 0 | — |
case-09 | fail→pass | 13,001 | 6,537 | -50% | 1 | 1 | 0% | 1,422 | 829 | -42% | 0 | 0 | — |
case-10 | fail→pass | 15,538 | 7,187 | -54% | 1 | 1 | 0% | 1,848 | 932 | -50% | 0 | 0 | — |
case-11 | pass→pass | 21,185 | 15,971 | -25% | 1 | 1 | 0% | 2,505 | 2,333 | -7% | 0 | 0 | — |
case-12 | pass→pass | 20,833 | 19,515 | -6% | 1 | 1 | 0% | 2,582 | 2,963 | +15% | 0 | 0 | — |
case-13 | pass→pass | 19,082 | 8,078 | -58% | 1 | 1 | 0% | 2,380 | 1,028 | -57% | 0 | 0 | — |
case-14 | pass→pass | 19,024 | 11,195 | -41% | 1 | 1 | 0% | 2,311 | 1,522 | -34% | 0 | 0 | — |
case-15 | fail→pass | 20,202 | 17,249 | -15% | 1 | 1 | 0% | 2,491 | 2,434 | -2% | 0 | 0 | — |
case-16 | pass→pass | 19,608 | 16,283 | -17% | 1 | 1 | 0% | 2,359 | 2,393 | +1% | 0 | 0 | — |
case-17 | pass→pass | 13,141 | 7,127 | -46% | 1 | 1 | 0% | 1,438 | 927 | -36% | 0 | 0 | — |
case-18 | fail→pass | 20,276 | 9,079 | -55% | 1 | 1 | 0% | 2,671 | 1,223 | -54% | 0 | 0 | — |
case-19 | fail→pass | 17,757 | 16,236 | -9% | 1 | 1 | 0% | 2,012 | 2,121 | +5% | 0 | 0 | — |
case-20 | pass→pass | 16,094 | 6,877 | -57% | 1 | 1 | 0% | 2,135 | 914 | -57% | 0 | 0 | — |
case-21 | fail→pass | 14,770 | 7,115 | -52% | 1 | 1 | 0% | 2,010 | 879 | -56% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +45 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.