Skip to content
Back to skills

Sota Auditor

ASecurity

Final authority on the truthfulness of references cited in State-of-the-Art reviews and academic papers. Activate this skill whenever the session involves auditing, correcting, or cleaning citations in a SOTA or article, or when responding to verdicts from `pdf-cascade` / `registry-doctor`. Triggers (FR + EN) : "audit SOTA", "corriger SOTA", "vérifier hallucinations", "purger refs", "déclarer une ref véridique ou hallucinée", "audit references", "verify citations", "purge hallucinations", "/p...

  • 5 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added June 9, 2026
researchpythongobashreactrefactoringgitapi

Works with

  • terminal
  • api
  • mcp

Security analysis

A100/100

Scanned June 9, 2026

npx -y skills add roomi-fields/paper-trail --skill sota-auditor --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Sota Auditor?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Sota Auditor
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/roomi-fields-sota-auditor/badge)](https://www.skillsdirectory.com/skills/roomi-fields-sota-auditor)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: sota-auditor
description: >
  Final authority on the truthfulness of references cited in State-of-the-Art
  reviews and academic papers. Activate this skill whenever the session
  involves auditing, correcting, or cleaning citations in a SOTA or article,
  or when responding to verdicts from `pdf-cascade` / `registry-doctor`.
  Triggers (FR + EN) : "audit SOTA", "corriger SOTA", "vérifier hallucinations",
  "purger refs", "déclarer une ref véridique ou hallucinée", "audit
  references", "verify citations", "purge hallucinations", "/paper-trail:audit-sota".
  Does NOT download (that's pdf-cascade) and does NOT write (that's sota-writer
  / paper-writer). Decides VRAI vs HALLUCINATION and applies consequences
  (correct attribution, transition to sota_cited_confirmed, or retract +
  purge from SOTA). Binary decision, no grey zone.
---

# Skill : SOTA Auditor

## Why this skill exists

Citation hallucinations in academic publications (fabricated quotes,
inverted attributions, misidentified authors) are the failure mode this
plugin exists to prevent. The plugin's mechanical guards (FSM, page 1
validation, cascade) reduce the surface area, but **semantic decisions
remain human-driven** : « does this ref really exist ? Is this claim
really in this paper ? Is this the right author ? »

`sota-auditor` is the role that makes those decisions. It is the
**final authority** on the truthfulness of references cited in SOTAs /
articles. It can :

- Confirm a citation (transition `page1_validated → sota_cited_confirmed`)
- Retract a fabrication (transition `* → retracted` with reason)
- Correct an attribution (modify the SOTA + the ref frontmatter)
- Rollback a technical transition by `pdf-cascade` if a homonymy was
  missed

## The supreme rule

**For each problematic reference, the decision is binary :**

- **VRAI** → confirm (correct attribution if needed), transition to
  `sota_cited_confirmed` once the specific claim has been validated
- **HALLUCINATION** → transition to `retracted` with **mandatory
  WebSearch documenting the absence** (≥ 2 independent sources
  confirming inexistence or error), then **purge the citation** from
  the SOTA(s) where it appears

**No grey zone.** No "roughly correct that we can rephrase". No
"keep it just in case". An unverifiable citation is a research debt
that eventually explodes.

## When to activate

- The user asks for an audit of a SOTA or article bibliography
- `pipeline doctor` reports invariant violations on cited refs
- `pdf-cascade` returned `blocked_human:title_mismatch` or
  `blocked_human:cascade_exhausted` on important refs
- `pipeline events --to retracted` lists newly retracted refs
- Before paper submission (pre-submission audit)
- The user mentions "vérité", "hallucination", "purger", "retraiter"
- `/paper-trail:audit-sota` command is invoked

## Worker B transitions the auditor can drive

The auditor has authority over these FSM transitions. Other transitions
are reserved for `pdf-cascade` (technical) or `sota-writer` (creation).

| Transition | Conditions |
|---|---|
| `page1_validated → sota_cited_confirmed` | Section read, verb verified, verbatim quotes if present, verdict ∈ {CONFIRMED, NUANCED}, textual evidence cited |
| `* → retracted` | WebSearch mandatory (≥ 2 independent sources confirming absence/error), `retracted_reason` ∈ {hallucination, homonymy_purged, off_topic, duplicate}, purge from ALL SOTAs (verifiable by absence in markdown files) |
| **Rollback** of a `pdf-cascade` technical transition | If an invariant is violated downstream (late homonymy discovery, false attribution found, off-domain missed) |

The auditor **never triggers** `∅ → candidate` (writer's job) nor the
technical transitions `candidate → uid_resolved → pdf_acquired →
page1_validated` (pdf-cascade's job, invokable as sub-task).

## Inputs the auditor reacts to

Sources of « refs to audit » in the paper-trail workflow :

1. **`pipeline doctor` invariants** — violations on cited refs (especially
   I11 cited_in orphans, I12 reciprocity broken, I14 transition from
   terminal)
2. **`pipeline events --to retracted` or `--to page1_validated`** — refs
   that have moved recently and need attention
3. **`pdf-cascade` blocked outputs** — refs in `blocked_human:title_mismatch`
   or `blocked_human:cascade_exhausted`
4. **User-driven request** — "audit this SOTA", "audit this paper"
5. **`/paper-trail:audit-sota <path>`** command output
6. **`pipeline doctor --correlate-rtfm`** — RTFM signals that an
   acquired PDF has format/OCR issues

## 5-step method per problematic ref

Apply in order — don't skip steps.

### Step 1 — Locate in the SOTA / paper

`grep -n` or `Read` to find the exact line(s) where the ref is cited.
A ref is often cited multiple times — check each occurrence.

If the "ref" is cited nowhere in the actual SOTA (extraction false
positive), it's a strong signal it was never a real citation.

### Step 2 — Read the context

Read the complete sentence(s) citing the ref. What does the SOTA claim
about this reference ? What argument depends on it ? What's the nuance
(verb used, type of argument) ?

This reading is crucial : context tells you whether a candidate matches
or not, and how to cleanly rephrase if needed.

### Step 3 — Verify existence and attribution

Choices depending on the case :

- **Multiple candidates from `pdf-cascade`** (title-fallback returned
  N matches) : compare each candidate's title to the SOTA context.
  Pick the one matching the sentence meaning. If none matches → step 4
  without candidate.
- **Fuzzy match by `pdf-cascade`** : read the top match's title. If
  semantic overlap with context is strong → confirm. Otherwise → step 4.
- **No candidate found by cascade** : external search (paper-search MCP
  on multiple platforms, WebSearch on Google Scholar, arXiv) with the
  title, context keywords, author. Give yourself 2 searches before
  concluding hallucination.
- **Acronym / capitalized non-author** (e.g., "MARBLE", "HaMSE",
  "CCG", "MIDI") : analyze if it's (a) an extraction false positive
  (section title captured as ref), (b) a corporate author legitimate
  (W3C, AMEI, etc.), or (c) an attribution error in the SOTA (the
  acronym is a system name, not the author).

For verifications, use the `paper-search` MCP rather than inferring
from internal knowledge — the `citation-receipts` skill details that
protocol.

### Step 4 — Binary decision

One of two outcomes :

**VRAI** : the ref exists, the SOTA can rely on it.
- If the attribution in the SOTA is correct → no SOTA edit needed
- If the attribution is wrong (wrong author, wrong year) → **correct
  the SOTA** (edit the `.md` file). Keep the claim, fix the names/year
- Update the registry : transition the ref to `sota_cited_confirmed`
  via `pipeline run --ref <slug>` (with appropriate FSM
  acknowledgment), or directly edit the frontmatter and run `pipeline
  doctor` to verify

**HALLUCINATION** : the ref doesn't exist (nothing found after serious
searches) or isn't attributable to an identifiable author.
- **Remove the citation from the SOTA** (`Edit` the `.md`). Do not
  rephrase, soften, or "[citation needed]" — remove the citation and
  reword the sentence so it stands without it. If the entire sentence
  depends on this ref, **delete the entire sentence**.
- Update the ref's frontmatter : `state: retracted` +
  `retracted_reason: hallucination` (or `homonymy_purged`, `duplicate`,
  `off_topic`, `extraction_artifact_*`)

### Step 5 — Verify the consequence in the registry

After any state change :

```bash
python -m pipeline doctor --severity warn
# Should report 0 violations on the touched refs
# I11/I12 reciprocity should be coherent

python -m pipeline events --since YYYY-MM-DD --ref <slug>
# Audit trail of the state change
```

If `pipeline doctor` reports a downstream violation (e.g., I12 SOTA still
cites a now-retracted ref), the audit is not complete : fix the SOTA
markdown until the doctor is clean.

## `/paper-trail:audit-sota --purge` automation

If invoked with `--purge`, the auditor :

1. Reads the target SOTA(s)
2. Extracts all cited refs (via the adapter — wikilinks Obsidian or
   markdown links flat)
3. For each cited ref :
   - If state = `sota_cited_confirmed` or `page1_validated` → KEEP
   - If state = `retracted` → **AUTO-REMOVE** the citation from the SOTA
     + add a note at the bottom of the SOTA listing what was removed
   - If state = `blocked_human:cascade_exhausted` → KEEP (the ref is
     real but inaccessible, leave the citation but flag as INACCESSIBLE
     in audit report)
   - If state = `candidate` / `uid_resolved` / etc. → KEEP + flag as
     UNCONFIRMED in audit report
4. Outputs a markdown audit report classifying each ref
5. If `--purge`, applies the AUTO-REMOVE actions in a `.bak` copy first

## What this skill does NOT do

- **Doesn't download sources** (`pdf-cascade`'s job)
- **Doesn't invent an author** from context ("it sounds like Freedman
  could have written this"). Either verification confirms, or it's a
  hallucination
- **Doesn't soften a sentence to mask a hallucination** ("we say
  suggests instead of proves"). An unverifiable citation is invalid
  at 100%, not "to rephrase"
- **Doesn't touch SOTAs without a truthfulness reason**. No stylistic
  refactoring, no editorial improvement, no formatting updates. The
  only motive for editing a SOTA from this skill is : correct a false
  attribution or remove a hallucination
- **Doesn't proceed when doubt persists** without flagging to the
  user. If after serious external research you can't decide
  VRAI/HALLUCINATION, mark the ref `blocked_human:pending_decision`
  and move on

## Relationships with other skills

| Skill | Relationship |
|---|---|
| `citation-receipts` | **Complementary (downstream)**. Once a ref is declared VRAI, citation-receipts validates each individual citation (verbatim quote check, verb check, attribution check) |
| `sota-writer` | **Upstream**. The writer creates new SOTAs ; the auditor audits what was written |
| `paper-writer` | **Upstream**. Same for papers. Before submission, run a complete `sota-auditor` audit on the paper's bibliography |
| `pdf-cascade` | **Sub-task**. If the auditor decides a ref is VRAI but not yet acquired, invokes pdf-cascade to download |
| `registry-doctor` | **Audit support**. The auditor consults `pipeline doctor` to identify violations and confirms fixes by re-running doctor |

## Pre-submission audit checklist

Before a paper is submitted, run a complete `sota-auditor` pass on all
source SOTAs of the paper :

1. `pipeline doctor --severity error` returns 0 violations on cited
   refs
2. All citations in the paper resolve to refs in
   `sota_cited_confirmed`
3. `pipeline events --since <session_start>` shows no surprising
   transition
4. The registry has no `blocked_human:title_mismatch` on refs cited
   by the paper

If any of these conditions isn't met → the paper is not ready for
submission.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.