Skill Tracer
Skills › Scientific Agent Skills › citation-management › citation_checklist.md

citation_checklist.md

385 lines · skills/citation-management/assets/citation_checklist.md at 5f2bc03

Open on GitHub

Most marks come from matching words in the file, so treat them as pointers.

1# Citation Quality Checklist
2
3Use this checklist to ensure your citations are accurate, complete, and properly formatted before final submission.
4

Citation Quality Checklist

Use this checklist to ensure your citations are accurate, complete, and properly formatted before final submission.

Raw lines 1 to 4
5## Pre-Submission Checklist
6

Pre-Submission Checklist

Raw lines 5 to 6
7### ✓ Metadata Accuracy
8
9- [ ] All author names are correct and properly formatted
10- [ ] Article titles match the actual publication
11- [ ] Journal/conference names are complete (not abbreviated unless required)
12- [ ] Publication years are accurate
13- [ ] Volume and issue numbers are correct
14- [ ] Page ranges are accurate

✓ Metadata Accuracy

  • [ ] All author names are correct and properly formatted
  • [ ] Article titles match the actual publication
  • [ ] Journal/conference names are complete (not abbreviated unless required)
  • [ ] Publication years are accurate
  • [ ] Volume and issue numbers are correct
  • [ ] Page ranges are accurate
Raw lines 7 to 15
16### ✓ Required Fields
18- [ ] All @article entries have: author, title, journal, year
19- [ ] All @book entries have: author/editor, title, publisher, year
20- [ ] All @inproceedings entries have: author, title, booktitle, year
21- [ ] Modern papers (2000+) include DOI when available
22- [ ] All entries have unique citation keys

✓ Required Fields

  • [ ] All @article entries have: author, title, journal, year
  • [ ] All @book entries have: author/editor, title, publisher, year
  • [ ] All @inproceedings entries have: author, title, booktitle, year
  • [ ] Modern papers (2000+) include DOI when available
  • [ ] All entries have unique citation keys
Raw lines 16 to 23
24### ✓ DOI Verification
26- [ ] All DOIs are properly formatted (10.XXXX/...)
27- [ ] DOIs resolve correctly to the article
28- [ ] No DOI prefix in the BibTeX field (no "doi:" or "https://doi.org/")
29- [ ] Metadata from CrossRef matches your BibTeX entry
30- [ ] Run: `python scripts/validate_citations.py references.bib --check-dois`

✓ DOI Verification

  • [ ] All DOIs are properly formatted (10.XXXX/...)
  • [ ] DOIs resolve correctly to the article
  • [ ] No DOI prefix in the BibTeX field (no "doi:" or "https://doi.org/")
  • [ ] Metadata from CrossRef matches your BibTeX entry
  • [ ] Run: python scripts/validate_citations.py references.bib --check-dois
Raw lines 24 to 31
Runs code python scripts/validate_citations.py :30
32### ✓ Formatting Consistency
34- [ ] Page ranges use double hyphen (--) not single (-)
35- [ ] No "pp." prefix in pages field
36- [ ] Author names use "and" separator (not semicolon or ampersand)
37- [ ] Capitalization protected in titles ({AlphaFold}, {CRISPR}, etc.)
38- [ ] Month names use standard abbreviations if included
39- [ ] Citation keys follow consistent format

✓ Formatting Consistency

  • [ ] Page ranges use double hyphen (--) not single (-)
  • [ ] No "pp." prefix in pages field
  • [ ] Author names use "and" separator (not semicolon or ampersand)
  • [ ] Capitalization protected in titles ({AlphaFold}, {CRISPR}, etc.)
  • [ ] Month names use standard abbreviations if included
  • [ ] Citation keys follow consistent format
Raw lines 32 to 40
41### ✓ Duplicate Detection
43- [ ] No duplicate DOIs in bibliography
44- [ ] No duplicate citation keys
45- [ ] No near-duplicate titles
46- [ ] Preprints updated to published versions when available
47- [ ] Run: `python scripts/validate_citations.py references.bib`

✓ Duplicate Detection

  • [ ] No duplicate DOIs in bibliography
  • [ ] No duplicate citation keys
  • [ ] No near-duplicate titles
  • [ ] Preprints updated to published versions when available
  • [ ] Run: python scripts/validate_citations.py references.bib
Raw lines 41 to 48
Runs code python scripts/validate_citations.py :47
49### ✓ Special Characters
51- [ ] Accented characters properly formatted (e.g., {\"u} for ü)
52- [ ] Mathematical symbols use LaTeX commands
53- [ ] Chemical formulas properly formatted
54- [ ] No unescaped special characters (%, &, $, #, etc.)

✓ Special Characters

  • [ ] Accented characters properly formatted (e.g., {\"u} for ü)
  • [ ] Mathematical symbols use LaTeX commands
  • [ ] Chemical formulas properly formatted
  • [ ] No unescaped special characters (%, &, $, #, etc.)
Raw lines 49 to 55
56### ✓ BibTeX Syntax
58- [ ] All entries have balanced braces {}
59- [ ] Fields are separated by commas (a trailing comma is valid)
60- [ ] Valid entry types (@article, @book, etc.)
61- [ ] Run: `python scripts/validate_citations.py references.bib`

✓ BibTeX Syntax

  • [ ] All entries have balanced braces {}
  • [ ] Fields are separated by commas (a trailing comma is valid)
  • [ ] Valid entry types (@article, @book, etc.)
  • [ ] Run: python scripts/validate_citations.py references.bib
Raw lines 56 to 62
Runs code python scripts/validate_citations.py :61
63### ✓ File Organization
65- [ ] Bibliography sorted in logical order (by year, author, or key)
66- [ ] Consistent formatting throughout
67- [ ] No formatting inconsistencies between entries
68- [ ] Run: `python scripts/format_bibtex.py references.bib --sort year`

✓ File Organization

  • [ ] Bibliography sorted in logical order (by year, author, or key)
  • [ ] Consistent formatting throughout
  • [ ] No formatting inconsistencies between entries
  • [ ] Run: python scripts/format_bibtex.py references.bib --sort year
Raw lines 63 to 69
Runs code python scripts/format_bibtex.py :68
70## Automated Validation

Automated Validation

Raw lines 70 to 71
72### Step 1: Format and Clean
74```bash
75python scripts/format_bibtex.py references.bib \
76 --deduplicate \
77 --sort year \
78 --descending \
79 --output clean_references.bib
80```
82**What this does**:
83- Removes duplicates
84- Standardizes formatting
85- Fixes common issues (page ranges, DOI format, etc.)
86- Sorts by year (newest first)

Step 1: Format and Clean

python scripts/format_bibtex.py references.bib \
  --deduplicate \
  --sort year \
  --descending \
  --output clean_references.bib

What this does:

  • Removes duplicates
  • Standardizes formatting
  • Fixes common issues (page ranges, DOI format, etc.)
  • Sorts by year (newest first)
Raw lines 72 to 87
Runs code python scripts/format_bibtex.py :75
88### Step 2: Validate
90```bash
91python scripts/validate_citations.py clean_references.bib \
92 --check-dois \
93 --report validation_report.json \
94 --verbose
95```
97**What this does**:
98- Checks required fields
99- Checks DOI registration; investigate `doi_unverified` warnings separately
100- Detects duplicates
101- Validates syntax
102- Generates detailed report

Step 2: Validate

python scripts/validate_citations.py clean_references.bib \
  --check-dois \
  --report validation_report.json \
  --verbose

What this does:

  • Checks required fields
  • Checks DOI registration; investigate doi_unverified warnings separately
  • Detects duplicates
  • Validates syntax
  • Generates detailed report
Raw lines 88 to 103
Runs code python scripts/validate_citations.py :91
104### Step 3: Review Report
106```bash
107cat validation_report.json
108```
110**Address any**:
111- **Errors**: Must fix (missing fields, broken DOIs, syntax errors)
112- **Warnings**: Should fix (missing recommended fields, formatting issues)
113- **Duplicates**: Remove or consolidate

Step 3: Review Report

cat validation_report.json

Address any:

  • Errors: Must fix (missing fields, broken DOIs, syntax errors)
  • Warnings: Should fix (missing recommended fields, formatting issues)
  • Duplicates: Remove or consolidate
Raw lines 104 to 114
115### Step 4: Final Check
117```bash
118python scripts/validate_citations.py clean_references.bib --verbose
119```
121**Goal**: Zero errors, minimal warnings

Step 4: Final Check

python scripts/validate_citations.py clean_references.bib --verbose

Goal: Zero errors, minimal warnings

Raw lines 115 to 122
Runs code python scripts/validate_citations.py :118
123## Manual Review Checklist

Manual Review Checklist

Raw lines 123 to 124
125### Critical Citations (Top 10-20 Most Important)
127For your most important citations, manually verify:
129- [ ] Visit DOI link and confirm it's the correct article
130- [ ] Check author names against the actual publication
131- [ ] Verify year matches publication date
132- [ ] Confirm journal/conference name is correct
133- [ ] Check that volume/pages match

Critical Citations (Top 10-20 Most Important)

For your most important citations, manually verify:

  • [ ] Visit DOI link and confirm it's the correct article
  • [ ] Check author names against the actual publication
  • [ ] Verify year matches publication date
  • [ ] Confirm journal/conference name is correct
  • [ ] Check that volume/pages match
Raw lines 125 to 134
135### Common Issues to Watch For
137**Missing Information**:
138- [ ] No DOI for papers published after 2000
139- [ ] Missing volume or page numbers for journal articles
140- [ ] Missing publisher for books
141- [ ] Missing conference location for proceedings
143**Formatting Errors**:
144- [ ] Single hyphen in page ranges (123-145 → 123--145)
145- [ ] Ampersands in author lists (Smith & Jones → Smith and Jones)
146- [ ] Unprotected acronyms in titles (DNA → {DNA})
147- [ ] DOI includes URL prefix (https://doi.org/10.xxx → 10.xxx)
149**Metadata Mismatches**:
150- [ ] Author names differ from publication
151- [ ] Year is online-first instead of print publication
152- [ ] Journal name abbreviated when it should be full
153- [ ] Volume/issue numbers swapped
155**Duplicates**:
156- [ ] Same paper cited with different citation keys
157- [ ] Preprint and published version both cited
158- [ ] Conference paper and journal version both cited

Common Issues to Watch For

Missing Information:

  • [ ] No DOI for papers published after 2000
  • [ ] Missing volume or page numbers for journal articles
  • [ ] Missing publisher for books
  • [ ] Missing conference location for proceedings

Formatting Errors:

  • [ ] Single hyphen in page ranges (123-145 → 123--145)
  • [ ] Ampersands in author lists (Smith & Jones → Smith and Jones)
  • [ ] Unprotected acronyms in titles (DNA → {DNA})
  • [ ] DOI includes URL prefix (https://doi.org/10.xxx → 10.xxx)

Metadata Mismatches:

  • [ ] Author names differ from publication
  • [ ] Year is online-first instead of print publication
  • [ ] Journal name abbreviated when it should be full
  • [ ] Volume/issue numbers swapped

Duplicates:

  • [ ] Same paper cited with different citation keys
  • [ ] Preprint and published version both cited
  • [ ] Conference paper and journal version both cited
Raw lines 135 to 159
160## Field-Specific Checks

Field-Specific Checks

Raw lines 160 to 161
162### Biomedical Sciences
164- [ ] PubMed Central ID (PMCID) included when available
165- [ ] MeSH terms appropriate (if using)
166- [ ] Clinical trial registration number included (if applicable)
167- [ ] All references to treatments/drugs accurately cited

Biomedical Sciences

  • [ ] PubMed Central ID (PMCID) included when available
  • [ ] MeSH terms appropriate (if using)
  • [ ] Clinical trial registration number included (if applicable)
  • [ ] All references to treatments/drugs accurately cited
Raw lines 162 to 168
169### Computer Science
171- [ ] arXiv ID included for preprints
172- [ ] Conference proceedings properly cited (not just "NeurIPS")
173- [ ] Software/dataset citations include version numbers
174- [ ] GitHub links stable and permanent

Computer Science

  • [ ] arXiv ID included for preprints
  • [ ] Conference proceedings properly cited (not just "NeurIPS")
  • [ ] Software/dataset citations include version numbers
  • [ ] GitHub links stable and permanent
Raw lines 169 to 175
176### General Sciences
178- [ ] Data availability statements properly cited
179- [ ] Retracted papers identified and removed
180- [ ] Preprints checked for published versions
181- [ ] Supplementary materials referenced if critical

General Sciences

  • [ ] Data availability statements properly cited
  • [ ] Retracted papers identified and removed
  • [ ] Preprints checked for published versions
  • [ ] Supplementary materials referenced if critical
Raw lines 176 to 182
183## Final Pre-Submission Steps

Final Pre-Submission Steps

Raw lines 183 to 184
185### 1 Week Before Submission
187- [ ] Run full validation with DOI checking
188- [ ] Fix all errors and critical warnings
189- [ ] Manually verify top 10-20 most important citations
190- [ ] Check for any retracted papers

1 Week Before Submission

  • [ ] Run full validation with DOI checking
  • [ ] Fix all errors and critical warnings
  • [ ] Manually verify top 10-20 most important citations
  • [ ] Check for any retracted papers
Raw lines 185 to 191
192### 3 Days Before Submission
194- [ ] Re-run validation after any manual edits
195- [ ] Ensure all in-text citations have corresponding bibliography entries
196- [ ] Ensure all bibliography entries are cited in text
197- [ ] Check citation style matches journal requirements

3 Days Before Submission

  • [ ] Re-run validation after any manual edits
  • [ ] Ensure all in-text citations have corresponding bibliography entries
  • [ ] Ensure all bibliography entries are cited in text
  • [ ] Check citation style matches journal requirements
Raw lines 192 to 198
199### 1 Day Before Submission
201- [ ] Final validation check
202- [ ] LaTeX compilation successful with no warnings
203- [ ] PDF renders all citations correctly
204- [ ] Bibliography appears in correct format
205- [ ] No placeholder citations (Smith et al. XXXX)

1 Day Before Submission

  • [ ] Final validation check
  • [ ] LaTeX compilation successful with no warnings
  • [ ] PDF renders all citations correctly
  • [ ] Bibliography appears in correct format
  • [ ] No placeholder citations (Smith et al. XXXX)
Raw lines 199 to 206
207### Submission Day
209- [ ] One final validation run
210- [ ] No last-minute edits without re-validation
211- [ ] Bibliography file included in submission package
212- [ ] Figures/tables referenced in text match bibliography

Submission Day

  • [ ] One final validation run
  • [ ] No last-minute edits without re-validation
  • [ ] Bibliography file included in submission package
  • [ ] Figures/tables referenced in text match bibliography
Raw lines 207 to 213
214## Quality Metrics

Quality Metrics

Raw lines 214 to 215
216### Excellent Bibliography
218- ✓ Assigned DOIs included; DOI-less publications explicitly verified
219- ✓ Zero validation errors
220- ✓ Zero missing required fields
221- ✓ Zero broken DOIs
222- ✓ Zero duplicates
223- ✓ Consistent formatting throughout
224- ✓ All citations manually spot-checked

Excellent Bibliography

  • ✓ Assigned DOIs included; DOI-less publications explicitly verified
  • ✓ Zero validation errors
  • ✓ Zero missing required fields
  • ✓ Zero broken DOIs
  • ✓ Zero duplicates
  • ✓ Consistent formatting throughout
  • ✓ All citations manually spot-checked
Raw lines 216 to 225
226### Acceptable Bibliography
228- ✓ Available DOI metadata checked against authoritative records
229- ✓ Zero high-severity errors
230- ✓ Minor warnings only (e.g., missing recommended fields)
231- ✓ Key citations manually verified
232- ✓ Compilation succeeds without errors

Acceptable Bibliography

  • ✓ Available DOI metadata checked against authoritative records
  • ✓ Zero high-severity errors
  • ✓ Minor warnings only (e.g., missing recommended fields)
  • ✓ Key citations manually verified
  • ✓ Compilation succeeds without errors
Raw lines 226 to 233
234### Needs Improvement
236- ✗ Missing DOIs for recent papers
237- ✗ High-severity validation errors
238- ✗ Broken or incorrect DOIs
239- ✗ Duplicate entries
240- ✗ Inconsistent formatting
241- ✗ Compilation warnings or errors

Needs Improvement

  • ✗ Missing DOIs for recent papers
  • ✗ High-severity validation errors
  • ✗ Broken or incorrect DOIs
  • ✗ Duplicate entries
  • ✗ Inconsistent formatting
  • ✗ Compilation warnings or errors
Raw lines 234 to 242
243## Emergency Fixes
245If you discover issues at the last minute:

Emergency Fixes

If you discover issues at the last minute:

Raw lines 243 to 246
247### Broken DOI
249```bash
250# Find correct DOI
251# Option 1: Search CrossRef
252# https://www.crossref.org/
254# Option 2: Search on publisher website
255# Option 3: Google Scholar
257# Re-extract metadata
258python scripts/extract_metadata.py --doi CORRECT_DOI
259```

Broken DOI

# Find correct DOI
# Option 1: Search CrossRef
# https://www.crossref.org/

# Option 2: Search on publisher website
# Option 3: Google Scholar

# Re-extract metadata
python scripts/extract_metadata.py --doi CORRECT_DOI
Raw lines 247 to 260
Runs code python scripts/extract_metadata.py :258
261### Missing Information
263```bash
264# Extract from DOI
265python scripts/extract_metadata.py --doi 10.xxxx/yyyy
267# Or from PMID (biomedical)
268python scripts/extract_metadata.py --pmid 12345678
270# Or from arXiv
271python scripts/extract_metadata.py --arxiv 2103.12345
272```

Missing Information

# Extract from DOI
python scripts/extract_metadata.py --doi 10.xxxx/yyyy

# Or from PMID (biomedical)
python scripts/extract_metadata.py --pmid 12345678

# Or from arXiv
python scripts/extract_metadata.py --arxiv 2103.12345
Raw lines 261 to 273
Runs code python scripts/extract_metadata.py :265
274### Duplicate Entries
276```bash
277# Auto-remove duplicates
278python scripts/format_bibtex.py references.bib \
279 --deduplicate \
280 --output fixed_references.bib
281```

Duplicate Entries

# Auto-remove duplicates
python scripts/format_bibtex.py references.bib \
  --deduplicate \
  --output fixed_references.bib
Raw lines 274 to 282
Runs code python scripts/format_bibtex.py :278
283### Formatting Errors
285```bash
286# Auto-fix common issues
287python scripts/format_bibtex.py references.bib \
288 --output fixed_references.bib
290# Then validate
291python scripts/validate_citations.py fixed_references.bib
292```

Formatting Errors

# Auto-fix common issues
python scripts/format_bibtex.py references.bib \
  --output fixed_references.bib

# Then validate
python scripts/validate_citations.py fixed_references.bib
Raw lines 283 to 293
Runs code python scripts/format_bibtex.py :287
Runs code python scripts/validate_citations.py :291
294## Long-Term Best Practices

Long-Term Best Practices

Raw lines 294 to 295
296### During Research
298- [ ] Add citations to bibliography file as you find them
299- [ ] Extract metadata immediately using DOI
300- [ ] Validate after every 10-20 additions
301- [ ] Keep bibliography file under version control

During Research

  • [ ] Add citations to bibliography file as you find them
  • [ ] Extract metadata immediately using DOI
  • [ ] Validate after every 10-20 additions
  • [ ] Keep bibliography file under version control
Raw lines 296 to 302
303### During Writing
305- [ ] Cite as you write
306- [ ] Use consistent citation keys
307- [ ] Don't delay adding references
308- [ ] Validate weekly

During Writing

  • [ ] Cite as you write
  • [ ] Use consistent citation keys
  • [ ] Don't delay adding references
  • [ ] Validate weekly
Raw lines 303 to 309
310### Before Submission
312- [ ] Allow 2-3 days for citation cleanup
313- [ ] Don't wait until the last day
314- [ ] Automate what you can
315- [ ] Manually verify critical citations

Before Submission

  • [ ] Allow 2-3 days for citation cleanup
  • [ ] Don't wait until the last day
  • [ ] Automate what you can
  • [ ] Manually verify critical citations
Raw lines 310 to 316
317## Tool Quick Reference

Tool Quick Reference

Raw lines 317 to 318
319### Extract Metadata
321```bash
322# From DOI
323python scripts/doi_to_bibtex.py 10.1038/nature12345
325# From multiple sources
326python scripts/extract_metadata.py \
327 --doi 10.1038/nature12345 \
328 --pmid 12345678 \
329 --arxiv 2103.12345 \
330 --output references.bib
331```

Extract Metadata

# From DOI
python scripts/doi_to_bibtex.py 10.1038/nature12345

# From multiple sources
python scripts/extract_metadata.py \
  --doi 10.1038/nature12345 \
  --pmid 12345678 \
  --arxiv 2103.12345 \
  --output references.bib
Raw lines 319 to 332
Runs code python scripts/doi_to_bibtex.py :323
Runs code python scripts/extract_metadata.py :326
333### Validate
335```bash
336# Basic validation
337python scripts/validate_citations.py references.bib
339# With DOI checking (slow but thorough)
340python scripts/validate_citations.py references.bib --check-dois
342# Generate report
343python scripts/validate_citations.py references.bib \
344 --report validation.json \
345 --verbose
346```

Validate

# Basic validation
python scripts/validate_citations.py references.bib

# With DOI checking (slow but thorough)
python scripts/validate_citations.py references.bib --check-dois

# Generate report
python scripts/validate_citations.py references.bib \
  --report validation.json \
  --verbose
Raw lines 333 to 347
Runs code python scripts/validate_citations.py :337
348### Format and Clean
350```bash
351# Format and fix issues
352python scripts/format_bibtex.py references.bib
354# Remove duplicates and sort
355python scripts/format_bibtex.py references.bib \
356 --deduplicate \
357 --sort year \
358 --descending \
359 --output clean_refs.bib
360```

Format and Clean

# Format and fix issues
python scripts/format_bibtex.py references.bib

# Remove duplicates and sort
python scripts/format_bibtex.py references.bib \
  --deduplicate \
  --sort year \
  --descending \
  --output clean_refs.bib
Raw lines 348 to 361
Runs code python scripts/format_bibtex.py :352
362## Summary
364**Minimum Requirements**:
3651. Run `format_bibtex.py --deduplicate`
3662. Run `validate_citations.py`
3673. Fix all errors
3684. Compile successfully
370**Recommended**:
3711. Format, deduplicate, and sort
3722. Validate with `--check-dois`
3733. Fix all errors and warnings
3744. Manually verify top citations
3755. Re-validate after fixes
377**Best Practice**:
3781. Validate throughout research process
3792. Use automated tools consistently
3803. Keep bibliography clean and organized
3814. Document any special cases
3825. Final validation 1-3 days before submission
384**Remember**: Citation errors reflect poorly on your scholarship. Taking time to ensure accuracy is worthwhile!

Summary

Minimum Requirements:

  1. Run format_bibtex.py --deduplicate
  2. Run validate_citations.py
  3. Fix all errors
  4. Compile successfully

Recommended:

  1. Format, deduplicate, and sort
  2. Validate with --check-dois
  3. Fix all errors and warnings
  4. Manually verify top citations
  5. Re-validate after fixes

Best Practice:

  1. Validate throughout research process
  2. Use automated tools consistently
  3. Keep bibliography clean and organized
  4. Document any special cases
  5. Final validation 1-3 days before submission

Remember: Citation errors reflect poorly on your scholarship. Taking time to ensure accuracy is worthwhile!

Raw lines 362 to 385