ablation-planner
Use when main results pass result-to-claim (claim_supported=yes or partial) and ablation studies are needed for paper submission.
Double-blind bibliographic cross-check: one agent extracts each cited entry verbatim from the local .bib, a second independently re-fetches the same paper's record from the web while blind to the .bib, and a third extractor emits a mechanical field-by-field delta to catch
$ npx -y skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill citation-crosscheck --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/citation-crosscheckContext preview
The summary Claude sees to decide when to auto-load this skill.
Double-blind bibliographic cross-check: one agent extracts each cited entry verbatim from the local .bib, a second independently re-fetches the same paper's record from the web while blind to the .bib, and a third extractor emits a mechanical field-by-field delta to catch
name: citation-crosscheck description: "Double-blind bibliographic cross-check: one agent extracts each cited entry verbatim from the local .bib, a second independently re-fetches the same paper's record from the web while blind to the .bib, and a third extractor emits a mechanical field-by-field delta to catch dropped/re-ordered authors, wrong years, wrong venues, and bad DOIs/arXiv ids. The main agent (never a shard) assigns the MATCH/MINOR/MISMATCH verdict per reference, and exports a side-by-side spreadsheet. Use when user says \"citation crosscheck\", \"double-blind citation check\", \"verify bib against scholar\", \"bib field audit\", \"引用交叉核对\", or before submission when bibliography FIELD accuracy (not just existence) must be certified." argument-hint: "[paper-directory-or-bib-file] [--xlsx <path>] [--cited-only|--all]" allowed-tools: Bash(*), Read, Grep, Glob, Write, Agent, WebFetch, WebSearch
> 🔒 **Do not wrap this skill in `/loop`, `/schedule`, or `CronCreate`.** It is > verdict-bearing — it emits a per-reference verdict that gates `.bib` edits (an evidence > instrument, not a cross-model acquittal; see the acceptance-gate note in Step 2). > Re-running it on a timer adds no signal (the verdict changes only when the > *bibliography* changes). > Schedule the external wait that precedes it: bibliography finalized → run once. See > [`shared-references/external-cadence.md`](../shared-references/external-cadence.md).
`citation-audit` is a single cross-model reviewer that judges three things holistically: existence, metadata, and **context-fit** (is the cited paper used for a claim it actually supports?). This skill does **not** do context-fit. It does one thing that a single reviewer cannot do reliably: an **adversarial, double-blind, field-level diff** of the local `.bib` entry against an *independently reconstructed* record.
The failure mode it targets is the hand-entry error that survives a plausibility read: a **dropped or re-ordered author**, a **wrong year**, a **swapped venue**, a **DOI that 404s**. A single reviewer that sees the `.bib` entry tends to anchor on it and rate it "looks correct." Two agents that never see each other's output cannot anchor — a discrepancy only survives if *both* independent records agree, and the verifier reports exactly where they diverge.
In practice it catches dropped/re-ordered authors, wrong years, and bad DOIs that a single-pass audit rated "looks clean" — while `NEEDS_WEBCHECK` stops it from false-flagging a legitimate non-arXiv (blog / tech-report) citation as fabricated. Use it **in addition to** `citation-audit`, not instead: `citation-audit` protects your *review score* (context-fit); this protects against the *integrity red flag* of a wrong or fabricated reference (existence + fields).
| | `citation-audit` | `citation-crosscheck` (this) | |---|---|---| | Owns | existence + metadata + **context-fit** | **existence + field accuracy**, adversarially | | Method | one cross-model reviewer | **two blind extractors + a mechanical field-diff** | | Reads the .tex claims? | yes | no (bibliographic only) | | Deliverable | KEEP/FIX/REPLACE/REMOVE per entry | **side-by-side .xlsx** + MATCH/MINOR/MISMATCH | | Best at catching | wrong-context citation | dropped/re-ordered author, wrong year/venue/DOI |
first author, plus its opaque `dedup_key` (a run-local ordinal that carries no bibliographic content), and MUST NOT read the `.bib` or any repo file. This is the whole point; do not relax it.
NeurIPS/PMLR proceedings, OpenReview. Report what the fetched page shows; never fabricate a field.
`MATCH` (bibliographically equivalent, cosmetic-only) / `MINOR` (formatting or a preprint-vs-published venue, no correction required) / `MISMATCH` (real discrepancy: wrong/missing author, wrong year, wrong venue, wrong id) / `NEEDS_WEBCHECK` (B could not confirm existence, but the entry is a `@misc`/blog/tech-report whose `url` B's index-based search structurally cannot see — the main agent must fetch that `url` in Step 4 before any verdict; **never** downgrade such an entry straight to `MISMATCH`).
covers uncited `.bib` entries.
`cx_A_ourbib`, `cx_B_web`, `cx_C_fielddiff`, and the gate's `cx_gate.json` — kept for audit).
# Search the paper's own source tree, not the whole repo: bundled author-kit /
# template .tex carry demo \cite{...} that inflate the set. Set PAPER_DIR to the dir of
# the main .tex (\documentclass + \bibliography); recurse (cites often live in
# sections/*.tex); exclude vendored/example dirs.
PAPER_DIR="<dir of the paper's main .tex>"
cd "$PAPER_DIR"
python3 - <<'PY'
import re, pathlib
# Skip vendored/example/template trees: bundled author kits carry demo \cite{...}.
# NOTE: this is a NAME match — a dir you *want* audited must not match (rename it or
# narrow SKIP), e.g. `examples_of_results/` would be skipped.
SKIP = re.compile(r'(?i)(^|/)(.*template.*|.*upstream.*|.*example.*|.*vendor.*)(/|$)')
# Verbatim-ish blocks AND inline \verb|...| / \lstinline are code samples, not citations.
VERB = re.compile(r'\\begin\{(verbatim|lstlisting|minted|Verbatim)\}.*?\\end\{\1\}', re.S)
# The optional arg may itself contain brackets: \lstinline[language={[LaTeX]TeX}]|...|
VERBINLINE = re.compile(r'\\(?:verb|lstinline)\*?'
r'(?:\[(?:[^\[\]]|\[· · · · · · · · 💬 Join Community · 🌱 ARIS is a methodology, not a platform. What matters is the research workflow — take it wherever you go.
Use when main results pass result-to-claim (claim_supported=yes or partial) and ablation studies are needed for paper submission.
Quick single-paper lookup via AlphaXiv LLM-optimized summaries with tiered source fallback. Use when user says "explain this…
Analyze ML experiment results, compute statistics, generate comparison tables and insights. Use when user says "analyze results",…
Search, download, and summarize academic papers from arXiv. Use when user says "search arxiv", "download paper", "fetch arxiv",…
Autonomously improve a generated paper via GPT-6-Astra xhigh review → implement fixes → recompile, for 2 rounds. Use when user…
Autonomous research review loop using any OpenAI-compatible LLM API. Configure via llm-chat MCP server or environment variables.…