Ads paper search
Use when searching for scientific papers in astronomy, astrophysics, space physics, heliophysics, or planetary science — finding literature by topic/author/year, looking up citations or references of a paper, exporting BibTeX, resolving a bibcode/DOI/arXiv ID, or computing citation metrics. Connects to the NASA ADS (Astrophysics Data System, ui.adsabs.harvard.edu) API.From its SKILL.md
npx -y skills add xnchu/ads-paper-search --skill ads-paper-searchAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
5.5 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it
NASA ADS Paper Search
Overview
Search the NASA Astrophysics Data System (ADS / SciX) — the standard literature
database for astronomy, astrophysics, space physics, and planetary science
(~15M records). This skill wraps the ADS API (https://api.adsabs.harvard.edu/v1)
via a bundled stdlib-only Python script.
Setup (one-time, per user)
A personal ADS API token is required (free). The script looks for it in:
ADS_API_TOKENenvironment variable (use this on claude.ai or in CI)~/.ads/token— written by thesetupsubcommand below
If a command exits with "No ADS API token found", relay its setup steps to the user and ask for their token:
- Create a free account at https://ui.adsabs.harvard.edu/
- Copy the token from https://ui.adsabs.harvard.edu/user/settings/token
- Run
python3 scripts/ads.py setup THEIR_TOKEN— this verifies the token against the API and saves it to~/.ads/token(mode 600), so setup never needs to happen again.
Never hardcode a token into this skill or share one token between users — ADS tokens are personal and rate limits (5000 requests/day) are per-account.
Quick reference
Run all commands with python3 scripts/ads.py (paths relative to this skill's
directory). Add --json for raw JSON, -h for full options.
| Task | Command |
|---|---|
| Search papers | search 'QUERY' --rows 10 --sort "citation_count desc" |
| Search with abstracts | search 'QUERY' --abstract |
| Look up bibcode(s) | get 2016SSRv..199....5B [more...] |
| BibTeX export | export bibtex 2016SSRv..199....5B [more...] |
| Papers citing X | citations BIBCODE --rows 25 |
| Papers cited by X | references BIBCODE --rows 25 |
| Just a citation count | citations BIBCODE --rows 1 — total is in the # N citations header |
| Citation metrics / h-index | metrics BIBCODE [more...] |
Sort options: score desc (relevance, default), citation_count desc,
date desc (newest first), read_count desc.
Query syntax essentials
Unfielded terms search title+abstract+keywords. Combine with AND (implicit),
OR, NOT, parentheses. Quote phrases.
| Field | Example |
|---|---|
| Author | author:"Smith, J" — first author: author:"^Smith, J" |
| Year / range | year:2024, year:2019-2024 |
| Title / abstract | title:"magnetic reconnection", abs:"radiation belt" |
| Full text | full:"chorus waves" |
| Journal | bibstem:ApJ, bibstem:JGRA, bibstem:GeoRL |
| Object (SIMBAD) | object:"Sgr A*" |
| Identifiers | bibcode:2022ApJ...930L..12E, doi:10.1126/science.aaf2939, arXiv:2101.01234 (as unfielded term or identifier:) |
| Refereed only | add property:refereed |
| Open access | property:openaccess |
| Collection | collection:astronomy / physics / heliophysics / planetary_science |
| Citation graph | citations(bibcode:X), references(bibcode:X), reviews(topic), useful(...), similar(...), trending(...) |
Example — highly-cited recent first-author papers on radiation belts:
python3 scripts/ads.py search 'author:"^Li, W" abs:"radiation belt" year:2020-2026 property:refereed' \
--sort "citation_count desc" --rows 10
Full field list and operators: see references/search-syntax.md.
Workflow guidance
- Literature search: start broad, check the reported total count, then
narrow with fields (
year:,bibstem:,property:refereed) or paginate with--start. Fetch abstracts (--abstract) only for the shortlist. - "Find THE paper": prefer
--sort "citation_count desc"for foundational work,date descfor latest results. - Review articles:
reviews(TOPIC)or adddoctype:review/property:refereed. - Follow the citation graph: use
citations/referencessubcommands on a key paper to expand a literature review in both directions. - Paper URL: any result links as
https://ui.adsabs.harvard.edu/abs/<BIBCODE>/abstract.
Common mistakes
- Author names need quotes and "Last, First" order:
author:"Chu, X", notauthor:Chu X. Use^inside the quotes for first-author. - Bibcodes are case-sensitive and exactly 19 characters; don't reconstruct them by hand — get them from search results.
- Escape
&in shell: bibcodes like1979A&A....75..228Lmust be quoted in bash. collection:filters silently drop relevant records (e.g.collection:physicsexcludes mission/instrument papers indexed only under astronomy). Search without a collection filter first; add one only if the unfiltered results are noisy.- Rate limits: 5000 requests/day for search. The script warns when <100
remain. Batch bibcodes into one
get/export/metricscall instead of looping. - Large downloads:
--rowsmax is 2000 per request; paginate with--start.
Direct API (no script)
If the script is unavailable, call the API directly:
curl -H "Authorization: Bearer $ADS_API_TOKEN" \
"https://api.adsabs.harvard.edu/v1/search/query?q=exoplanet+atmospheres&fl=bibcode,title,year&rows=5"
Full API docs: https://ui.adsabs.harvard.edu/help/api/api-docs.html
What ships with it: 2 files
13.9 KB alongside SKILL.md, 1 of them executable
references/
- search-syntax.md4.7 KB
scripts/
- ads.pyruns9.2 KB
Gives 0 of the 12 instructions most marketing audience skills give in ~1.4k tokens
Counted across 690 of the 894 authors here whose files we hold, read 2026-08-07
- Apply Poppins font to headingsin 41 of 690, across 6 files
- Apply Lora font to body textin 41 of 690, across 6 files
- Use Arial fallback for headingsin 39 of 690, across 4 files
- Use Georgia fallback for body textin 39 of 690, across 4 files
- Maintain text hierarchy and formattingin 39 of 690, across 4 files
- Use accent colors for non-text shapesin 38 of 690, across 3 files
- Use RGB values for precise color matchingin 38 of 690, across 3 files
- Use brand colors for primary text and backgroundsin 36 of 690, across 1 file
- Read product marketing context file before asking questions, starting, or auditingin 35 of 690, across 23 files
- Use active voice instead of passive voicein 26 of 690, across 10 files
- Implement or generate appropriate JSON-LD structured datain 24 of 690, across 17 files
- Prioritize clarity over clevernessin 22 of 690, across 8 files
Said here and by no other author read
- use ads api token from environment or config file
- run python3 scripts/ads.py with subcommands for searches
- use setup subcommand to save api token
- format author names as last name first in quotes
- get bibcodes from search results never by hand
- search without collection filters first
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.