Skills › Scientific Agent Skills › citation-management › citation_checklist.md
citation_checklist.md
385 lines · skills/citation-management/assets/citation_checklist.md at 5f2bc03
Most marks come from matching words in the file, so treat them as pointers.
1# Citation Quality Checklist
3Use this checklist to ensure your citations are accurate, complete, and properly formatted before final submission.
Citation Quality Checklist
Use this checklist to ensure your citations are accurate, complete, and properly formatted before final submission.
Raw lines 1 to 4Pre-Submission Checklist
Raw lines 5 to 67### ✓ Metadata Accuracy
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
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
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
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
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
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.)
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
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
Runs code python scripts/format_bibtex.py :68
Automated Validation
Raw lines 70 to 7172### 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.bibWhat this does:
- Removes duplicates
- Standardizes formatting
- Fixes common issues (page ranges, DOI format, etc.)
- Sorts by year (newest first)
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 \
--verboseWhat this does:
- Checks required fields
- Checks DOI registration; investigate
doi_unverifiedwarnings separately - Detects duplicates
- Validates syntax
- Generates detailed report
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.jsonAddress any:
- Errors: Must fix (missing fields, broken DOIs, syntax errors)
- Warnings: Should fix (missing recommended fields, formatting issues)
- Duplicates: Remove or consolidate
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 --verboseGoal: Zero errors, minimal warnings
Raw lines 115 to 122Runs code python scripts/validate_citations.py :118
Manual Review Checklist
Raw lines 123 to 124125### 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
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
Field-Specific Checks
Raw lines 160 to 161162### 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
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
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
Final Pre-Submission Steps
Raw lines 183 to 184185### 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
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
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)
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
Quality Metrics
Raw lines 214 to 215216### 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
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
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
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_DOIRaw lines 247 to 260Runs 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.12345Raw lines 261 to 273Runs 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.bibRaw lines 274 to 282Runs 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.bibRaw lines 283 to 293Runs code python scripts/format_bibtex.py :287
Runs code python scripts/validate_citations.py :291
Long-Term Best Practices
Raw lines 294 to 295296### 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
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
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
Tool Quick Reference
Raw lines 317 to 318319### 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.bibRaw lines 319 to 332Runs 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 \
--verboseRaw lines 333 to 347Runs 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.bibRaw lines 348 to 361Runs 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:
- Run
format_bibtex.py --deduplicate - Run
validate_citations.py - Fix all errors
- Compile successfully
Recommended:
- Format, deduplicate, and sort
- Validate with
--check-dois - Fix all errors and warnings
- Manually verify top citations
- Re-validate after fixes
Best Practice:
- Validate throughout research process
- Use automated tools consistently
- Keep bibliography clean and organized
- Document any special cases
- 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