Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Global consistency review for survey drafts: terminology, cross-section coherence, and scope/citation hygiene. **Trigger**: global review, consistency check, coherence audit, 术语一致性, 全局回看, 章节呼应, 拷打 writer. **Use when**: Draft exists and you want a final evidence-first coherence pass before LaTeX/PDF.
.claude/skills/willoscar-global-reviewer/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 10% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 1101% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 297% | 0% |
| case-19 | ✗→✓ | ▲ Improved | 113% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 95% | 0% |
Purpose: make the draft read like a coherent paper (not stitched subsections) and make problems auditable.
Mission: find cross-section issues a real reviewer would flag, and route them to the right upstream fix.
Do:
Avoid:
Mission: spot stitched-island structure and front-matter weaknesses that cause it.
Do:
Avoid:
textYou are a meticulous reviewer for a survey manuscript. Your job is to surface cross-section problems that would matter to a real reader/reviewer: - missing or underspecified evidence for claims - scope drift and taxonomy inconsistency - weak front matter (boundary/methodology not stated, so H3s carry repeated disclaimers) - stitched-island structure (no argument chain across sections) Constraints: - do not invent facts or citations - do not add new citation keys - treat missing evidence as a failure signal: route upstream instead of writing around it Output style: - bullets-first - actionable, route-to-skill recommendations
This is not “polish for style”. It is a contract check:
output/DRAFT.mdoutline/outline.ymloutline/taxonomy.ymloutline/mapping.tsvoutline/claim_evidence_matrix.mdcitations/ref.biboutput/GLOBAL_REVIEW.md (bullets-first report; always written)output/DRAFT.md (optional safe edits; only when edits are low-risk)Owns:
Does not own:
1) Check structure against outline/outline.yml
2) Check scope vocabulary against outline/taxonomy.yml
3) Check coverage signals via outline/mapping.tsv
4) Spot-check claims using outline/claim_evidence_matrix.md
5) Sanity-check citation keys against citations/ref.bib
output/GLOBAL_REVIEW.md must be bullets-first and contain these headings verbatim (so gates can verify them):
## A. Input integrity / placeholder leakage## B. Narrative and argument chain## C. Scope and taxonomy consistency## D. Citations and verifiability (claim -> evidence)## E. Tables and structural outputsInclude a top line:
- Status: PASS (or - Status: OK) only after all blocking issues are addressed.Look for:
…, TODO, “enumerate 2-4 …”, “scope/design space/evaluation practice”)Action:
Goal: every section does an argument move.
Check:
This subsection ...) and slide navigation (Next, we ...).Action (safe edits allowed):
Bad:
Next, we move from planning to memory.Better:
Planning specifies how decisions are made; memory determines what information those decisions can reliably condition on under a fixed protocol.Check:
Action:
Write a small claim-evidence table (5–10 rows):
claim | section | citations | evidence_field | evidence_levelFlag:
Action:
Check:
Action:
When the report finds issues, recommend the smallest fix path:
paper-notes → evidence-draft → anchor-sheet → writer-context-pack)writer-selfloop / subsection-polisher / draft-polisher)section-mapper / evidence-binder) then rewrite the affected sectionscitation-diversifier → citation-injector (then draft-polisher)If and only if edits are low-risk and do not change citation keys:
This skill includes a deterministic helper script that generates a gate-compliant output/GLOBAL_REVIEW.md from the current draft and context (no invented facts/citations).
uv run python .codex/skills/global-reviewer/scripts/run.py --helpuv run python .codex/skills/global-reviewer/scripts/run.py --workspace <workspace>--workspace <dir>--unit-id <U###> (optional; for logs)--inputs <semicolon-separated> (rare override; prefer defaults)--outputs <semicolon-separated> (rare override; default writes output/GLOBAL_REVIEW.md)--checkpoint <C#> (optional)uv run python .codex/skills/global-reviewer/scripts/run.py --workspace <workspace>Freeze policy:
output/GLOBAL_REVIEW.refined.ok to prevent overwrites.Notes:
Fix:
citation-verifier and ensure citations/ref.bib contains every cited key in output/DRAFT.md.Fix:
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 4,511 | 6,139 | +36% | 1 | 1 | 0% | 242 | 2,812 | +1062% | 0 | 0 | — |
case-02 | fail→fail | 4,859 | 6,956 | +43% | 1 | 1 | 0% | 402 | 2,702 | +572% | 0 | 0 | — |
case-03 | fail→fail | 4,481 | 5,867 | +31% | 1 | 1 | 0% | 188 | 2,593 | +1279% | 0 | 0 | — |
case-04 | fail→pass | 18,610 | 9,427 | -49% | 1 | 1 | 0% | 3,596 | 3,939 | +10% | 0 | 0 | — |
case-05 | fail→pass | 6,160 | 10,121 | +64% | 1 | 1 | 0% | 344 | 4,131 | +1101% | 0 | 0 | — |
case-06 | fail→fail | 4,931 | 5,307 | +8% | 1 | 1 | 0% | 271 | 2,575 | +850% | 0 | 0 | — |
case-07 | pass→pass | 8,663 | 3,855 | -56% | 1 | 1 | 0% | 1,371 | 3,076 | +124% | 0 | 0 | — |
case-08 | pass→pass | 7,526 | 3,633 | -52% | 1 | 1 | 0% | 1,259 | 2,879 | +129% | 0 | 0 | — |
case-09 | pass→pass | 7,586 | 5,254 | -31% | 1 | 1 | 0% | 1,443 | 3,290 | +128% | 0 | 0 | — |
case-10 | fail→pass | 4,596 | 4,723 | +3% | 1 | 1 | 0% | 798 | 3,167 | +297% | 0 | 0 | — |
case-19 | fail→pass | 9,630 | 5,285 | -45% | 1 | 1 | 0% | 1,469 | 3,130 | +113% | 0 | 0 | — |
case-11 | fail→pass | 10,542 | 5,660 | -46% | 1 | 1 | 0% | 1,624 | 3,167 | +95% | 0 | 0 | — |
case-12 | fail→pass | 11,151 | 3,775 | -66% | 1 | 1 | 0% | 1,593 | 2,897 | +82% | 0 | 0 | — |
case-13 | fail→pass | 8,903 | 5,344 | -40% | 1 | 1 | 0% | 1,599 | 3,147 | +97% | 0 | 0 | — |
case-14 | fail→pass | 21,129 | 1,612 | -92% | 1 | 1 | 0% | 1,072 | 2,535 | +136% | 0 | 0 | — |
case-15 | pass→pass | 4,215 | 4,362 | +3% | 1 | 1 | 0% | 842 | 3,175 | +277% | 0 | 0 | — |
case-16 | fail→pass | 8,850 | 7,718 | -13% | 1 | 1 | 0% | 1,440 | 3,687 | +156% | 0 | 0 | — |
case-17 | pass→pass | 10,371 | 5,070 | -51% | 1 | 1 | 0% | 1,693 | 3,084 | +82% | 0 | 0 | — |
case-18 | fail→pass | 6,510 | 3,897 | -40% | 1 | 1 | 0% | 1,036 | 3,095 | +199% | 0 | 0 | — |
case-20 | pass→pass | 12,225 | 7,002 | -43% | 1 | 1 | 0% | 1,781 | 3,486 | +96% | 0 | 0 | — |
case-21 | pass→fail | 5,114 | 4,760 | -7% | 1 | 1 | 0% | 670 | 3,105 | +363% | 0 | 0 | — |
case-22 | pass→pass | 4,506 | 4,172 | -7% | 1 | 1 | 0% | 775 | 2,963 | +282% | 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, and 16 counted toward the lift figure. The other 6 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +41 percentage points is the difference between those two pass rates over the 16 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
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.