Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Build and maintain a verified literature-survey corpus for a research paper -- BibTeX entries, published-manuscript PDFs, text extractions for AI consumption, per-paper survey notes (~30-50 lines each), and a collection log tracking verification status and corrections. Use when starting a new paper that needs a substantial literature review, when adding new references to an existing paper, or when migrating an unverified bib file to a verified one.
.claude/skills/a-attia-literature-survey/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-08 | ✗→✓ | ▲ Improved | 104% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 105% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 82% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 117% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 123% | 0% |
Load this skill when the user is:
notes
vs which are still placeholders
A research paper's bibliography drives credibility. Stale, mis-attributed, or unverified entries embarrass the author at submission time. This skill defines a 5-step workflow for building a verified literature corpus and a deliverables structure that future-you (or a collaborator) can audit and extend.
The five steps:
references/bibliography.bib.references/pdf/<citekey>.pdf.notes/survey_<citekey>.md.references/_collection_log.md.Each step is described in detail below, plus the directory layout, the survey-note template, and the collection-log template.
<paper-repo>/
references/
bibliography.bib -- BibTeX (tracked); every entry verified
_collection_log.md -- per-paper verification status + corrections + notes
pdf/ -- published-manuscript PDFs (gitignored)
<citekey>.pdf
<citekey>-supp.pdf -- supplementary material where applicable
.txt/ -- pdftotext -layout extractions (gitignored)
<citekey>.txt
notes/
survey_<citekey>.md -- per-paper survey note (~30-50 lines)
README.md -- index of survey notes (by section, by affinity)The references/pdf/ directory and its .txt/ cache should be gitignored; the bibtex + collection log + survey notes are tracked.
Add the entry to references/bibliography.bib. Required fields: must include venue + page numbers + DOI or arXiv ID. Reject placeholder entries (e.g. "Author, A. (year). Title. Some Venue. [VERIFY]"); these go in a separate "pending" section of the bib file or are tagged with note = {pending verification}.
Verification criteria for an entry to be considered "verified":
two differ)
entry is genuinely arXiv-only
the arXiv abstract page)
short-tag, e.g. foster2021dad)
When a verified entry corrects an earlier unverified entry, document the correction in the collection log (Step 5). Do NOT silently overwrite.
Drop the published-manuscript PDF into references/pdf/<citekey>.pdf, where <citekey> matches the BibTeX citekey exactly. Supplementary material goes as <citekey>-supp.pdf.
The PDFs are gitignored (they're typically large; copyright varies; not appropriate for tracked content). The references/pdf/ directory itself should also be gitignored (or the directory tracked but the *.pdf glob ignored, depending on your project's convention -- see the .gitignore template in templates/paper-skeleton/).
If the published PDF is paywalled and only an arXiv preprint is available, use the preprint and explicitly document this in the collection log so a future reader knows to upgrade when access becomes available.
Most AI agents cannot consume PDF binaries directly. Generate a layout-preserving text extraction once, then read it whenever a deep dive is needed:
bashmkdir -p references/pdf/.txt pdftotext -layout references/pdf/<citekey>.pdf references/pdf/.txt/<citekey>.txt
pdftotext ships with poppler-utils (Linux: apt install poppler-utils; macOS: brew install poppler). The -layout flag preserves the two-column structure of typical academic papers, which makes the output much more readable than the default flow-mode extraction.
For supplementary material, repeat with <citekey>-supp.pdf -> .txt/<citekey>-supp.txt.
The .txt/ directory is gitignored; it is a regenerable cache.
Batch conversion of all PDFs in one go:
bashmkdir -p references/pdf/.txt for pdf in references/pdf/*.pdf; do base=$(basename "$pdf" .pdf) pdftotext -layout "$pdf" "references/pdf/.txt/${base}.txt" done
Read the .txt extraction, then write notes/survey_<citekey>.md to ~30-50 lines covering the structure in references/survey-note-template.md (loaded on demand from this skill's references/ subfolder when needed).
The survey note is the primary artefact of this workflow: it is what future-you reads when drafting the paper's related-work section, and it is what a collaborator reads to get up to speed without re-reading every PDF.
Briefly, a good survey note has these sections:
Load references/survey-note-template.md from this skill for the full template + a worked example.
Append a row to references/_collection_log.md documenting:
"v3 of the arXiv preprint is significantly different from v1")
The collection log serves as the audit trail. When a reviewer asks "how did you decide on this citation?" or when you discover a mis-attribution months later, the log is where you check.
Load references/collection-log-template.md from this skill for the template.
acceptable in references/bibliography.bib only if they are tagged explicitly (e.g. note = {pending verification}) and marked in the collection log as such.
well-written survey notes is more useful than a long one with 25 superficial ones. If a note would just restate the abstract, skip it and link the abstract instead.
section, re-open the survey note (and if needed the .txt extraction) rather than relying on memory or your initial summary.
author list, wrong year, wrong arXiv ID), log it explicitly in _collection_log.md. Do NOT silently fix it -- the audit trail is what makes the corpus trustworthy.
$...$ inline,$$...$$ display) for any equations transcribed from the source. ASCII-art math is forbidden in survey notes.
Both are read by the user when drafting the paper, by co-authors when re-orienting, and (sometimes) by reviewers. They follow the conventions in the human-facing-doc-authoring skill (audience split, narrative prose over telegraphic fragments, tables where they aid scanning, date-stamps, no personal-path leaks). When producing or substantially revising either artefact, also load ~/.scicomp-research-skills/skills/human-facing-doc-authoring/SKILL.md for the universal conventions and the per-doc-type self-review checklist.
When the user invokes this skill, the agent should:
if it does not exist.
(interactively or in batch).
the paper's plan-of-record / Section 1 reading list).
references/survey-note-template.md -- the canonical survey-notetemplate + worked example.
references/collection-log-template.md -- the canonicalcollection-log template + worked example.
templates/paper-skeleton/ (in this repository, sibling of skills/)-- a starter paper-repo skeleton that pre-creates the references/ and notes/ directory structure.
~/.scicomp-research-skills/skills/human-facing-doc-authoring/SKILL.md-- universal conventions for human-facing docs. The survey-note + collection-log templates above embody these conventions; load the human-facing-doc-authoring skill when authoring or revising either artefact and you want the cross-cutting checklist.
~/.scicomp-research-skills/skills/agent-resource-discipline/SKILL.md-- a literature-survey pass typically processes many PDFs and iterates across sessions, so it is one of the heaviest token consumers in this ecosystem. Load this skill (and in particular its references/pdf-lifecycle.md and references/persistent-memory.md) at the start of any non-trivial literature pass: it codifies the one-shot pdftotext + survey-note-first lookup pattern, the context-window budget for handling many references, and the first-/ last-action index-update protocol that makes a multi-session pass cheap.
Created 2026-05-13 by A. Attia. Distilled from the literature-survey workflow developed for the rl-oed paper (14 references verified across 3 sections of the paper's plan-of-record). Revised 2026-05-13 (added Workflow rule #6 + See-also pointer to human-facing-doc-authoring skill, since survey notes and the collection log are human-facing artefacts). Revised 2026-05-13 (added See-also pointer to agent-resource-discipline skill, since a literature-survey pass is PDF-heavy + multi-session and therefore benefits explicitly from the PDF-lifecycle + persistent-memory + context-window-budget protocols that skill codifies).
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 3,502 | 4,981 | +42% | 1 | 1 | 0% | 335 | 3,140 | +837% | 0 | 0 | — |
case-12 | pass→pass | 11,487 | 3,828 | -67% | 1 | 1 | 0% | 2,199 | 3,433 | +56% | 0 | 0 | — |
case-02 | fail→fail | 15,801 | 5,245 | -67% | 1 | 1 | 0% | 3,685 | 2,993 | -19% | 0 | 0 | — |
case-03 | fail→fail | 3,540 | 4,768 | +35% | 1 | 1 | 0% | 264 | 2,962 | +1022% | 0 | 0 | — |
case-04 | pass→pass | 11,505 | 4,419 | -62% | 1 | 1 | 0% | 2,271 | 3,599 | +58% | 0 | 0 | — |
case-05 | pass→pass | 9,843 | 7,787 | -21% | 1 | 1 | 0% | 1,801 | 4,301 | +139% | 0 | 0 | — |
case-06 | fail→fail | 10,037 | 3,748 | -63% | 1 | 1 | 0% | 1,697 | 3,555 | +109% | 0 | 0 | — |
case-07 | pass→pass | 11,780 | 2,871 | -76% | 1 | 1 | 0% | 1,900 | 3,224 | +70% | 0 | 0 | — |
case-08 | fail→pass | 10,271 | 7,316 | -29% | 1 | 1 | 0% | 1,993 | 4,069 | +104% | 0 | 0 | — |
case-09 | fail→pass | 8,704 | 4,719 | -46% | 1 | 1 | 0% | 1,792 | 3,679 | +105% | 0 | 0 | — |
case-10 | pass→pass | 8,385 | 6,851 | -18% | 1 | 1 | 0% | 1,633 | 4,114 | +152% | 0 | 0 | — |
case-11 | pass→pass | 9,966 | 4,341 | -56% | 1 | 1 | 0% | 1,889 | 3,600 | +91% | 0 | 0 | — |
case-13 | fail→pass | 10,948 | 5,721 | -48% | 1 | 1 | 0% | 2,174 | 3,957 | +82% | 0 | 0 | — |
case-14 | fail→fail | 16,753 | 11,812 | -29% | 1 | 1 | 0% | 3,466 | 5,168 | +49% | 0 | 0 | — |
case-15 | fail→pass | 9,177 | 5,635 | -39% | 1 | 1 | 0% | 1,766 | 3,826 | +117% | 0 | 0 | — |
case-16 | fail→pass | 7,671 | 3,707 | -52% | 1 | 1 | 0% | 1,558 | 3,482 | +123% | 0 | 0 | — |
case-17 | fail→pass | 11,883 | 7,455 | -37% | 1 | 1 | 0% | 2,548 | 3,798 | +49% | 0 | 0 | — |
case-18 | fail→pass | 9,340 | 5,714 | -39% | 1 | 1 | 0% | 2,077 | 3,859 | +86% | 0 | 0 | — |
case-19 | pass→pass | 9,102 | 2,418 | -73% | 1 | 1 | 0% | 1,991 | 3,160 | +59% | 0 | 0 | — |
case-20 | pass→pass | 10,091 | 8,210 | -19% | 1 | 1 | 0% | 2,032 | 4,281 | +111% | 0 | 0 | — |
case-21 | pass→fail | 13,070 | 13,549 | +4% | 1 | 1 | 0% | 2,823 | 5,563 | +97% | 0 | 0 | — |
case-22 | fail→fail | 3,727 | 5,567 | +49% | 1 | 1 | 0% | 755 | 3,183 | +322% | 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 19 counted toward the lift figure. The other 3 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 +27 percentage points is the difference between those two pass rates over the 19 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.