Generated banner for Citation Management
Generated logo for Citation Management

Citation Management

K-DenseCommunityCreated by K-Dense Inc.

  • Skill
  • Tool integration
  • Science and research
  • MIT
  • Low risk
  • Has scripts

From the author

Comprehensive citation management for academic research. Search OpenAlex, PubMed, and Google Scholar for papers, extract accurate metadata, validate citations, and generate properly formatted BibTeX entries. This skill should be used when you need to find papers, verify citation information, convert DOIs to BibTeX, or ensure reference accuracy in scientific writing.
— the description by K-Dense Inc.

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

Citation Management provides a structured approach to handling academic references. It enables users to search major databases including OpenAlex, PubMed, and Google Scholar, extract metadata from various identifiers like DOIs and PMIDs, and generate standardized BibTeX entries. The skill includes tools for validating citation accuracy, deduplicating entries, and ensuring bibliographies meet specific formatting requirements for research manuscripts.

What it does

  • Searches academic databases including OpenAlex, PubMed, and Google Scholar
  • Extracts metadata from DOIs, PMIDs, PMCID, arXiv IDs, and URLs
  • Generates and cleans BibTeX entries for research documents
  • Validates citation completeness and accuracy against publisher records
  • Deduplicates reference lists and standardizes citation keys
  • Provides audit logs for missing or incomplete bibliographic fields

When to use it

  • When building a bibliography for a thesis, manuscript, or research paper
  • When converting identifiers like DOIs or PMIDs into BibTeX format
  • When verifying the accuracy of existing citations in a document
  • When merging references from multiple sources to remove duplicates
  • When ensuring consistent citation formatting for specific journal requirements

Advantages

  • Reduces manual data entry errors by automating metadata extraction
  • Supports systematic search practices across multiple academic databases
  • Provides automated validation to identify missing or malformed citation data
  • Facilitates reproducibility by documenting search and extraction methods
  • Standardizes BibTeX output for consistent LaTeX integration

Usage examples

“Search for papers on CRISPR gene editing using OpenAlex and save the results.”
The agent executes the search script, retrieves up to 50 results, and saves them to a JSON file for further processing.
“Convert this DOI 10.1038/s41586-021-03819-2 to a BibTeX entry.”
The agent uses the DOI conversion tool to fetch metadata and output a correctly formatted BibTeX entry.
“Validate my references.bib file for a Nature submission.”
The agent checks the file for required fields, resolves DOIs, and generates a report highlighting any missing information or formatting issues.
“Clean my references.bib file by removing duplicates and rekeying entries.”
The agent processes the file to standardize citation keys and remove redundant entries, outputting a clean BibTeX file.

Install

  1. Download the skill as a ZIP:

    https://mp-staging.autogineer.com/agent-skills/k-dense-ai/citation-management/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip citation-management.zip -d .agents/skills

Documentation by K-Dense Inc.

Citation Management

Overview

Manage citations systematically throughout the research and writing process. This skill provides tools and strategies for searching academic databases (Google Scholar, PubMed), extracting accurate metadata from multiple sources (CrossRef, PubMed, arXiv), validating citation information, and generating properly formatted BibTeX entries.

Critical for maintaining citation accuracy, avoiding reference errors, and ensuring reproducible research. Integrates seamlessly with the literature-review skill for comprehensive research workflows.

When to Use This Skill

Use this skill when:

  • Searching for specific papers on Google Scholar or PubMed

  • Converting DOIs, PMIDs, or arXiv IDs to properly formatted BibTeX

  • Extracting complete metadata for citations (authors, title, journal, year, etc.)

  • Validating existing citations for accuracy

  • Cleaning and formatting BibTeX files

  • Finding highly cited papers in a specific field

  • Verifying that citation information matches the actual publication

  • Building a bibliography for a manuscript or thesis

  • Checking for duplicate citations

  • Ensuring consistent citation formatting

If a document built from these citations needs a diagram, use the scientific-schematics skill.


Core Workflow

Citation management follows a systematic process. Each phase below shows the canonical command; every variant, option, and metadata-source detail is in references/core_workflow.md.

Find relevant papers. Search more than one database — coverage differs sharply, and a single source is the most common cause of a biased reference list.

# OpenAlex: multidisciplinary REST API; optional OPENALEX_API_KEY for account quota
python scripts/search_openalex.py "CRISPR gene editing" --limit 50 --output results.json

# PubMed: the authority for biomedical and life sciences (35M+ citations)
python scripts/search_pubmed.py "Alzheimer's disease treatment" --limit 100 --output alz.json

# Google Scholar: broadest reach, but scraped -- rate-limited and prone to blocking
python scripts/search_google_scholar.py "CRISPR gene editing" --limit 50 --output scholar.json

Prefer OpenAlex or PubMed as the primary source. Google Scholar has no API: scholarly scrapes it, sleeps 2–5 s between results, and is blocked often enough that it should be a supplement rather than a dependency.

Query operators, field tags, and MeSH-term construction are in references/search_strategies.md.

Phase 2: Metadata Extraction

Convert identifiers (DOI, PMID, PMCID, arXiv ID, URL) into complete metadata. CrossRef is the primary source for DOIs.

python scripts/doi_to_bibtex.py 10.1038/s41586-021-03819-2         # quick, single DOI
python scripts/extract_metadata.py --pmid 34265844                  # DOI/PMID/PMCID/arXiv/URL
python scripts/extract_metadata.py --input identifiers.txt --output citations.bib

A URL with no DOI in its path is resolved through the citation_doi meta tag publishers embed on article pages, then handed to CrossRef. Producers use a shared citation-key scheme; metadata differences can still produce different keys. Confirm duplicates by DOI and bibliographic identity.

Phase 2.5: Metadata Enrichment via Web Search (MANDATORY)

APIs routinely return incomplete records. Run this after extraction and before formatting. Investigate missing bibliographic fields against the publisher record and log each source. Online-first articles may have no volume/pages yet; some use an article number or have no DOI. Preserve the actual publication state, use the style-appropriate article-number field, and never invent pages, volume, or DOI. Record unavailable/not-applicable fields in the audit log; add a rendered note only when useful to the reader or required by the citation style.

Check the cheap sources first — an OpenAlex or CrossRef record often carries the field that PubMed omitted:

python scripts/search_openalex.py "<exact title>" --limit 1

Treat extracted metadata as untrusted. Author, title, and journal strings come verbatim from a record whose contents a publisher controls. A title containing $(...), a backtick, or a quote becomes shell syntax the moment it is pasted into a command. Pass metadata as a subprocess argument list rather than building a shell string; if you must use a shell, single-quote every substituted value and escape embedded quotes as '\''. Validate any citation key against ^[A-Za-z0-9]+$ before it reaches a path.

Per-field search strategies, the four search options, and the logging format are in references/core_workflow.md.

Phase 3: BibTeX Formatting

Produce clean, consistent entries. Entry types and required fields are in references/bibtex_formatting.md.

python scripts/format_bibtex.py references.bib --output clean.bib --deduplicate
python scripts/format_bibtex.py references.bib --output clean.bib --rekey --deduplicate

Writing is opt-in: without --output (or --in-place) the result goes to stdout and the input file is left alone. Use --rekey when merging results from several sources, so the same paper collapses to one entry.

Phase 4: Citation Validation

Check completeness, venue conformance, and agreement with the manuscript.

python scripts/validate_citations.py references.bib --report report.json
python scripts/validate_citations.py references.bib --venue nature
python scripts/validate_citations.py references.bib --manuscript paper.tex
python scripts/validate_citations.py references.bib --check-dois     # slow; hits CrossRef

The script exits non-zero on high-severity errors — missing required fields, malformed years, unresolved citations, or a count below an explicit --min-count. Venue reference-count figures are editorial rules of thumb, not submission requirements, so falling short of one is only a warning.

Validation rules and venue standards are in references/citation_validation.md.

Phase 5: Integration with Writing Workflow

Search, extract, format, validate, then cite. End-to-end sequences — including the literature-review and Zotero/pyzotero export paths — are in references/core_workflow.md and references/example_workflows.md.

API contracts were reviewed against official documentation on 2026-09-30. See references/api_contracts.md for endpoints, authentication, pagination, and verification limits. Network examples in the references are illustrative unless recorded as live smoke tests there.

Reference Files

Common Pitfalls to Avoid

  1. Single source bias: Only using one database

    • Solution: Search at least OpenAlex and PubMed, then merge with format_bibtex.py --rekey --deduplicate

  2. Accepting metadata blindly: Not verifying extracted information

    • Solution: Spot-check extracted metadata against original sources

  3. Ignoring DOI errors: Broken or incorrect DOIs in bibliography

    • Solution: Run validation before final submission

  4. Inconsistent formatting: Mixed citation key styles, formatting

    • Solution: Use format_bibtex.py to standardize

  5. Duplicate entries: Same paper cited multiple times with different keys

    • Solution: Use duplicate detection in validation

  6. Missing required fields: Incomplete BibTeX entries (volume, pages, DOI missing)

    • Solution: Check the publisher record, distinguish missing from not applicable or not yet assigned, and log unresolved fields without inventing metadata.

  7. Outdated preprints: Citing preprint when published version exists

    • Solution: Check if preprints have been published, update to journal version

  8. Special character issues: Broken LaTeX compilation due to characters

    • Solution: Use proper escaping or Unicode in BibTeX

  9. No validation before submission: Submitting with citation errors

    • Solution: Always run validation as final check

  10. Manual BibTeX entry: Typing entries by hand

    • Solution: Always extract from metadata sources using scripts

Integration with Other Skills

Literature Review Skill

Citation Management provides the technical infrastructure for Literature Review:

  • Literature Review: Multi-database systematic search and synthesis

  • Citation Management: Metadata extraction and validation

Combined workflow:

  1. Use literature-review for systematic search methodology

  2. Use citation-management to extract and validate citations

  3. Use literature-review to synthesize findings

  4. Use citation-management to ensure bibliography accuracy

Scientific Writing Skill

Citation Management ensures accurate references for Scientific Writing:

  • Export validated BibTeX for use in LaTeX manuscripts

  • Verify citations match publication standards

  • Format references according to journal requirements

Venue Templates Skill

Citation Management works with Venue Templates for submission-ready manuscripts:

  • Different venues require different citation styles

  • Generate properly formatted references

  • Validate citations meet venue requirements

Resources

Bundled Resources

References (in references/):

  • google_scholar_search.md: Complete Google Scholar search guide

  • pubmed_search.md: PubMed and E-utilities API documentation

  • metadata_extraction.md: Metadata sources and field requirements

  • citation_validation.md: Validation criteria and quality checks

  • bibtex_formatting.md: BibTeX entry types and formatting rules

Scripts (in scripts/):

  • search_openalex.py: OpenAlex search client (optional account API key)

  • search_pubmed.py: PubMed E-utilities API client

  • search_google_scholar.py: Google Scholar search automation

  • extract_metadata.py: Universal metadata extractor

  • validate_citations.py: Citation validation and verification

  • format_bibtex.py: BibTeX formatter and cleaner

  • doi_to_bibtex.py: Quick DOI to BibTeX converter

  • _common.py: shared BibTeX parser, renderer, and citation-key scheme

Assets (in assets/):

  • bibtex_template.bib: Example BibTeX entries for all types

  • citation_checklist.md: Quality assurance checklist

External Resources

Search Engines:

Metadata APIs:

Tools and Validators:

Citation Styles:

Dependencies

Required Python Packages
uv pip install requests  # HTTP access to CrossRef, PubMed, OpenAlex, arXiv

BibTeX parsing, rendering, deduplication, and validation are standard library (scripts/_common.py). format_bibtex.py needs no third-party packages; validate_citations.py imports requests, including for local-only validation.

Optional
uv pip install scholarly  # only for search_google_scholar.py
Where credentials are sent

Keys are optional for basic use. Each credential is sent only to its own service; no script bundles environment variables together. OpenAlex uses the documented account budget, not a promised email-based quota boost. A failed page exits with an error rather than exporting a partial search as complete.

VariableSent only toPurpose
NCBI_API_KEYeutils.ncbi.nlm.nih.govRaises Entrez rate limits
NCBI_EMAILeutils.ncbi.nlm.nih.gov, pmc.ncbi.nlm.nih.govCaller identification requested by NCBI
OPENALEX_EMAILapi.openalex.orgOptional contact identifier
OPENALEX_API_KEYapi.openalex.orgOptional account quota, sent in Authorization header

api.openalex.org, api.crossref.org, api.datacite.org, export.arxiv.org, pmc.ncbi.nlm.nih.gov, doi.org, and eutils.ncbi.nlm.nih.gov are queried without credentials when these are unset.

Summary

The citation-management skill provides:

  1. Comprehensive search capabilities for OpenAlex, PubMed, and Google Scholar

  2. Automated metadata extraction from DOI, PMID, PMCID, arXiv ID, URLs

  3. Citation validation with DOI verification and completeness checking

  4. BibTeX formatting with standardization and cleaning tools

  5. Quality assurance through validation and reporting

  6. Integration with scientific writing workflow

  7. Reproducibility through documented search and extraction methods

Use this skill to maintain accurate, complete citations throughout your research and ensure publication-ready bibliographies.

Citing Scientific Agent Skills

This skill is part of Scientific Agent Skills by K-Dense. If it materially contributed to a manuscript, report, presentation, or code release, add the paper to the references or software section and tell the user you did so:

Kassis, T., Agarwal, V., He, Y., Patel, D., & Brueckner, A. M. (2026). Scientific Agent Skills: A Library of Procedural Knowledge for Research Agents. arXiv:2609.00065. https://doi.org/10.48550/arXiv.2609.00065

Always cite the current version. The DOI and https://arxiv.org/abs/2609.00065 resolve to the latest arXiv version, so never append a version suffix such as v1. When network access is available, fetch https://arxiv.org/abs/2609.00065 (or https://export.arxiv.org/api/query?id_list=2609.00065) before writing the reference and take the author list, year, and version from that record. If the record lists a journal reference or publisher DOI, cite the published version instead.

Files

references/google_scholar_search.md

Google Scholar Search Guide

Comprehensive guide to searching Google Scholar for academic papers, including advanced search operators, filtering strategies, and metadata extraction.

Overview

Google Scholar provides the most comprehensive coverage of academic literature across all disciplines:

  • Coverage: Broad scholarly discovery; Google does not publish a complete current index count

  • Scope: All academic disciplines

  • Content types: Journal articles, books, theses, conference papers, preprints, patents, court opinions

  • Citation tracking: "Cited by" links for forward citation tracking

  • Accessibility: Free to use, no account required

Search for papers containing specific terms anywhere in the document (title, abstract, full text):

CRISPR gene editing
machine learning protein folding
climate change impact agriculture
quantum computing algorithms

Tips:

  • Use specific technical terms

  • Include key acronyms and abbreviations

  • Start broad, then refine

  • Check spelling of technical terms

Use quotation marks to search for exact phrases:

"deep learning"
"CRISPR-Cas9"
"systematic review"
"randomized controlled trial"

When to use:

  • Technical terms that must appear together

  • Proper names

  • Specific methodologies

  • Exact titles

Advanced Search Operators

Find papers by specific authors:

author:LeCun
author:"Geoffrey Hinton"
author:Church synthetic biology

Variations:

  • Single last name: author:Smith

  • Full name in quotes: author:"Jane Smith"

  • Author + topic: author:Doudna CRISPR

Tips:

  • Authors may publish under different name variations

  • Try with and without middle initials

  • Consider name changes (marriage, etc.)

  • Use quotation marks for full names

Search only in article titles:

intitle:transformer
intitle:"attention mechanism"
intitle:review climate change

Use cases:

  • Finding papers specifically about a topic

  • More precise than full-text search

  • Reduces irrelevant results

  • Good for finding reviews or methods

Use the Advanced Search window's publication field for a journal or conference. The official help does not document source: as a stable public API operator; verify the resulting venue manually. Title and date constraints are also available in Advanced Search.

Exclusion Operator

Exclude terms from results:

machine learning -survey
CRISPR -patent
climate change -news
deep learning -tutorial -review

Common exclusions:

  • -survey: Exclude survey papers

  • -review: Exclude review articles

  • -patent: Exclude patents

  • -book: Exclude books

  • -news: Exclude news articles

  • -tutorial: Exclude tutorials

OR Operator

Search for papers containing any of multiple terms:

"machine learning" OR "deep learning"
CRISPR OR "gene editing"
"climate change" OR "global warming"

Best practices:

  • OR must be uppercase

  • Combine synonyms

  • Include acronyms and spelled-out versions

  • Use with exact phrases

Use asterisk (*) as wildcard for unknown words:

"machine * learning"
"CRISPR * editing"
"* neural network"

Note: Limited wildcard support in Google Scholar compared to other databases.

Advanced Filtering

Year Range

Filter by publication year:

Using interface:

  • Click "Since [year]" on left sidebar

  • Select custom range

Using search operators:

# Not directly in search query
# Use interface or URL parameters

In script:

python scripts/search_google_scholar.py "quantum computing" \
  --year-start 2020 \
  --year-end 2024
Sorting Options

By relevance (default):

  • Google's algorithm determines relevance

  • Considers citations, author reputation, publication venue

  • Generally good for most searches

By date:

  • Most recent papers first

  • Good for fast-moving fields

  • May miss highly cited older papers

  • Click "Sort by date" in interface

By citation count (local sort of the retrieved sample, not a Scholar-wide sort):

python scripts/search_google_scholar.py "transformers" \
  --sort-by citations \
  --limit 50
Language Filtering

In interface:

  • Settings → Languages

  • Select preferred languages

Language preferences depend on the user settings; do not assume an English-only default.

Search Strategies

Finding Seminal Papers

Identify highly influential papers in a field:

  1. Search by topic with broad terms

  2. Inspect citation counts within the retrieved sample

  3. Look for review articles for comprehensive overviews

  4. Check publication dates for foundational vs recent work

Example:

"generative adversarial networks"
# Inspect the returned sample; use citation chaining to find earlier work
Finding Recent Work

Stay current with latest research:

  1. Search by topic

  2. Filter to recent years (last 1-2 years)

  3. Sort by date for newest first

  4. Set up alerts for ongoing tracking

Example:

python scripts/search_google_scholar.py "AlphaFold protein structure" \
  --year-start 2023 \
  --year-end 2024 \
  --limit 50
Finding Review Articles

Get comprehensive overviews of a field:

intitle:review "machine learning"
"systematic review" CRISPR
intitle:survey "natural language processing"

Indicators:

  • "review", "survey", "perspective" in title

  • Often highly cited

  • Published in review journals (Nature Reviews, Trends, etc.)

  • Comprehensive reference lists

Forward citations (papers citing a key paper):

  1. Find seminal paper

  2. Click "Cited by X"

  3. See all papers that cite it

  4. Identify how field has developed

Backward citations (references in a key paper):

  1. Find recent review or important paper

  2. Check its reference list

  3. Identify foundational work

  4. Trace development of ideas

Example workflow:

# Find original transformer paper
"Attention is all you need" author:Vaswani

# Check "Cited by 120,000+"
# See evolution: BERT, GPT, T5, etc.

# Check references in original paper
# Find RNN, LSTM, attention mechanism origins

For thorough coverage (e.g., systematic reviews):

  1. Generate synonym list:

    • Main terms + alternatives

    • Acronyms + spelled out

    • US vs UK spelling

  2. Use OR operators:

    ("machine learning" OR "deep learning" OR "neural networks")
  3. Combine multiple concepts:

    ("machine learning" OR "deep learning") ("drug discovery" OR "drug development")
  4. Search without date filters initially:

    • Get total landscape

    • Filter later if too many results

  5. Export results for systematic analysis:

    python scripts/search_google_scholar.py \
      '"machine learning" OR "deep learning" drug discovery' \
      --limit 500 \
      --output comprehensive_search.json

Extracting Citation Information

From Google Scholar Results Page

Each result shows:

  • Title: Paper title (linked to full text if available)

  • Authors: Author list (often truncated)

  • Source: Journal/conference, year, publisher

  • Cited by: Number of citations + link to citing papers

  • Related articles: Link to similar papers

  • All versions: Different versions of the same paper

Export Options

Manual export:

  1. Click "Cite" under paper

  2. Select BibTeX format

  3. Copy citation

Limitations:

  • One paper at a time

  • Manual process

  • Time-consuming for many papers

Automated export (using script):

# Search and export to BibTeX
python scripts/search_google_scholar.py "quantum computing" \
  --limit 50 \
  --format bibtex \
  --output quantum_papers.bib
Metadata Available

From Google Scholar you can typically extract:

  • Title

  • Authors (may be incomplete)

  • Year

  • Source (journal/conference)

  • Citation count

  • Link to full text (when available)

  • Link to PDF (when available)

Note: Metadata quality varies:

  • Some fields may be missing

  • Author names may be incomplete

  • Need to verify with DOI lookup for accuracy

Rate Limiting and Access

Rate Limits

Google Scholar has rate limiting to prevent automated scraping:

Symptoms of rate limiting:

  • CAPTCHA challenges

  • Temporary IP blocks

  • 429 "Too Many Requests" errors

Best practices:

  1. Add delays between requests: 2-5 seconds minimum

  2. Limit query volume: Don't search hundreds of queries rapidly

  3. Treat scholarly as an unofficial scraper, not a supported Google API

  4. Stop on blocking and use OpenAlex or PubMed for bulk work

  5. Respect robots.txt; Google does not provide bulk record access

In our scripts:

# Automatic rate limiting built in
time.sleep(random.uniform(2, 5))  # Client pacing, not a guaranteed safe quota
Ethical Considerations

DO:

  • Respect rate limits

  • Use reasonable delays

  • Cache results (don't re-query)

  • Use official APIs when available

  • Attribute data properly

DON'T:

  • Scrape aggressively

  • Use multiple IPs to bypass limits

  • Violate terms of service

  • Burden servers unnecessarily

  • Use data commercially without permission

Institutional Access

Benefits of institutional access:

  • Access to full-text PDFs through library subscriptions

  • Better download capabilities

  • Integration with library systems

  • Link resolver to full text

Setup:

  • Google Scholar → Settings → Library links

  • Add your institution

  • Links appear in search results

Tips and Best Practices

Search Optimization
  1. Start simple, then refine:

    # Too specific initially
    intitle:"deep learning" intitle:review
    # Publication and years: use Advanced Search controls
    
    # Better approach
    deep learning review
    # Review results
    # Add title, publication, and year controls as needed
  2. Use multiple search strategies:

    • Keyword search

    • Author search for known experts

    • Citation chaining from key papers

    • Source search in top journals

  3. Check spelling and variations:

    • Color vs colour

    • Optimization vs optimisation

    • Tumor vs tumour

    • Try common misspellings if few results

  4. Combine operators strategically:

    # Good combination
    author:Church intitle:"synthetic biology"
    # Apply 2015-2024 using the year controls
    
    # Find reviews by specific author on topic in recent years
Result Evaluation
  1. Check citation counts:

    • High citations indicate influence

    • Recent papers may have low citations but be important

    • Citation counts vary by field

  2. Verify publication venue:

    • Peer-reviewed journals vs preprints

    • Conference proceedings

    • Book chapters

    • Technical reports

  3. Check for full text access:

    • [PDF] link on right side

    • "All X versions" may have open access version

    • Check institutional access

    • Try author's website or ResearchGate

  4. Look for review articles:

    • Comprehensive overviews

    • Good starting point for new topics

    • Extensive reference lists

Managing Results
  1. Use citation manager integration:

    • Export to BibTeX

    • Import to Zotero, Mendeley, EndNote

    • Maintain organized library

  2. Set up alerts for ongoing research:

    • Google Scholar → Alerts

    • Get emails for new papers matching query

    • Track specific authors or topics

  3. Create collections:

    • Save papers to Google Scholar Library

    • Organize by project or topic

    • Add labels and notes

  4. Export systematically:

    # Save search results for later analysis
    python scripts/search_google_scholar.py "your topic" \
      --output topic_papers.json
    
    # Can re-process later without re-searching
    python scripts/extract_metadata.py \
      --input topic_papers.json \
      --output topic_refs.bib

Advanced Techniques

Boolean Logic Combinations

Combine multiple operators for precise searches:

# Highly cited reviews on specific topic by known authors
intitle:review "machine learning" ("drug discovery" OR "drug development")
author:Horvath OR author:Bengio
# Apply 2020-2024 using the year controls

# Method papers excluding reviews
intitle:method "protein folding" -review -survey

# Papers in top journals only
CRISPR
# Use Advanced Search publication and date controls; inspect actual venue
Finding Open Access Papers
# Search with generic terms
machine learning

# Filter by "All versions" which often includes preprints
# Look for green [PDF] links (often open access)
# Check arXiv, bioRxiv versions

In script: the Scholar client has no open-access filter, but each result carries an eprint_url when a free copy exists, so filter the JSON:

python scripts/search_google_scholar.py "topic" --output papers.json
python -c "import json;d=json.load(open('papers.json'));print(json.dumps([r for r in d['results'] if r['eprint_url']],indent=2))" > open_access_papers.json

OpenAlex exposes this directly as a field:

python scripts/search_openalex.py "topic" --output papers.json   # each result has is_open_access
Tracking Research Impact

For a specific paper:

  1. Find the paper

  2. Click "Cited by X"

  3. Analyze citing papers:

    • How is it being used?

    • What fields cite it?

    • Recent vs older citations?

For an author:

  1. Search author:LastName

  2. Check h-index and i10-index

  3. View citation history graph

  4. Identify most influential papers

For a topic:

  1. Search topic

  2. Sort by citations

  3. Identify seminal papers (highly cited, older)

  4. Check recent highly-cited papers (emerging important work)

Finding Preprints and Early Work
# arXiv papers
site:arxiv.org "deep learning"

# bioRxiv papers
site:biorxiv.org CRISPR

# All preprint servers
("arxiv" OR "biorxiv" OR "medrxiv") your topic

Note: Preprints are not peer-reviewed. Always check if published version exists.

Common Issues and Solutions

Too Many Results

Problem: Search returns 100,000+ results, overwhelming.

Solutions:

  1. Add more specific terms

  2. Use intitle: to search only titles

  3. Filter by recent years

  4. Add exclusions (e.g., -review)

  5. Search within specific journals

Too Few Results

Problem: Search returns 0-10 results, suspiciously few.

Solutions:

  1. Remove restrictive operators

  2. Try synonyms and related terms

  3. Check spelling

  4. Broaden year range

  5. Use OR for alternative terms

Irrelevant Results

Problem: Results don't match intent.

Solutions:

  1. Use exact phrases with quotes

  2. Add more specific context terms

  3. Use intitle: for title-only search

  4. Exclude common irrelevant terms

  5. Combine multiple specific terms

CAPTCHA or Rate Limiting

Problem: Google Scholar shows CAPTCHA or blocks access.

Solutions:

  1. Wait several minutes before continuing

  2. Reduce query frequency

  3. Use longer delays in scripts (5-10 seconds)

  4. Stop automated requests and switch to an official metadata API

  5. Consider using institutional access

Missing Metadata

Problem: Author names, year, or venue missing from results.

Solutions:

  1. Click through to see full details

  2. Check "All versions" for better metadata

  3. Look up by DOI if available

  4. Extract metadata from CrossRef/PubMed instead

  5. Manually verify from paper PDF

Duplicate Results

Problem: Same paper appears multiple times.

Solutions:

  1. Click "All X versions" to see consolidated view

  2. Choose version with best metadata

  3. Use deduplication in post-processing:

    python scripts/format_bibtex.py results.bib \
      --deduplicate \
      --output clean_results.bib

Integration with Scripts

search_google_scholar.py Usage

Basic search:

python scripts/search_google_scholar.py "machine learning drug discovery"

With year filter:

python scripts/search_google_scholar.py "CRISPR" \
  --year-start 2020 \
  --year-end 2024 \
  --limit 100

Sort by citations:

python scripts/search_google_scholar.py "transformers" \
  --sort-by citations \
  --limit 50

Export to BibTeX:

python scripts/search_google_scholar.py "quantum computing" \
  --format bibtex \
  --output quantum.bib

Export to JSON for later processing:

python scripts/search_google_scholar.py "topic" \
  --format json \
  --output results.json

# Later: extract full metadata
python scripts/extract_metadata.py \
  --input results.json \
  --output references.bib
Batch Searching

For multiple topics:

# Create file with search queries (queries.txt)
# One query per line

# Search each query
while read query; do
  python scripts/search_google_scholar.py "$query" \
    --limit 50 \
    --output "${query// /_}.json"
  sleep 10  # Delay between queries
done < queries.txt

Summary

Google Scholar is the most comprehensive academic search engine, providing:

✓ Broad coverage: All disciplines, 100M+ documents
✓ Free access: No account or subscription required
✓ Citation tracking: "Cited by" for impact analysis
✓ Multiple formats: Articles, books, theses, patents
✓ Full-text search: Not just abstracts

Key strategies:

  • Use advanced operators for precision

  • Combine author, title, source searches

  • Track citations for impact

  • Export systematically to citation manager

  • Respect rate limits and access policies

  • Verify metadata with CrossRef/PubMed

For biomedical research, complement with PubMed for MeSH terms and curated metadata.

Reviewed sources: Google Scholar Help, scholarly search_pubs API. Searches are illustrative; this refresh did not scrape Scholar or test proxy services.

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Needs: Declares allowed tools, Needs network access, Needs an API key, Needs Python

The author says: Requires Python 3.9+ with requests. Google Scholar search additionally needs scholarly. Needs network access to api.openalex.org, api.crossref.org, eutils.ncbi.nlm.nih.gov, pmc.ncbi.nlm.nih.gov, doi.org, export.arxiv.org, and api.datacite.org.

Security

What our scanner noticed· Low risk

  • Instructions that use the network
  • Scripts that your agent may run

This skill includes scripts that your agent may run. Read them before you use it.

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Created by
K-Dense Inc.
Publisher
K-Dense (Community)
Source
K-Dense-AI/scientific-agent-skills · skills/citation-management · commit a25cf9e
Licence
MIT License (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE.md)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by K-Dense Inc. or K-Dense.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download citation-management.zip