Agent skill

Search Lit

by Aperivue in Aperivue/medsci-skills

A skill your agent uses when finding papers or building a reference list.

MITAuto-check passedResearch & Science

Install Search Lit

skills CLI
$ npx skills add Aperivue/medsci-skills --skill search-lit -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Aperivue/medsci-skills search-lit --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Aperivue/medsci-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/search-lit .claude/skills/search-lit && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
search-lit
GitHub stars
333
Token cost
~4.7k tokens
SKILL.md length
2,114 words
Files
32 (incl. scripts, references)
Skills in repo
54
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when finding papers or building a reference list.

  • Works in 7 steps: Search Strategy → Execute Search → 5: Citation Searching (Snowballing) → …
  • Building a reference list
  • SKILL.md covers Search Tools: MCP (Primary) +…, Workflow, Specialized Search Modes and Error Handling, plus 1 more section
  • Runs Python and Shell scripts from its folder; calls python3 and bash; reaches api.crossref.org; needs NCBI_API_KEY

What it does

Search Lit is an agent skill from Aperivue/medsci-skills. Use when finding papers or building a reference list. Searches PubMed, Semantic Scholar and bioRxiv/medRxiv, includes only references verified through an API, and generates BibTeX. Auditing an existing reference list is /verify-refs.

Its SKILL.md is about 4.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 36 other files, including scripts and reference files (for example `references/embase_browser.md`, `references/parse_pubmed.py` and `references/pubmed_eutils.sh`).

It sits in Research & Science, covering Academic paper search and Citation management. It works with PubMed, LaTeX, Semantic Scholar and Model Context Protocol. The repository describes itself as: Agent Skills for medical research — literature search, reporting-guideline & citation checks, statistics, publication figures, submission. Works with Claude Code, Codex, Cursor &… The licence is MIT.

When your agent uses it

  • Building a reference list
  • Tasks that involve Academic paper search
  • Tasks that involve Citation management

Example prompts

  • “/search-lit”

Requirements

  • Python 3
  • A Bash shell
  • A credential in NCBI_API_KEY

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Search Strategy
  2. Execute Search
  3. 5: Citation Searching (Snowballing)
  4. Deep Read
  5. Citation Management
  6. Full-Text Retrieval
  7. Gap Analysis

What it can do on your machine

Read from SKILL.md and the folder at commit 3b14ae2. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 2 files in scripts/ (Python and Shell, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • python3
    • bash

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.crossref.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • NCBI_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Search Lit loads about 4.7k tokens when it runs, and up to ~16k if it reads all its reference files. Until then it costs about 61 tokens; SKILL.md has 2,114 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~61
When it runs · the whole SKILL.md, loaded when a task matches
~4.7k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~16k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from Aperivue/medsci-skills at commit 3b14ae2, republished under its MIT licence (© Aperivue). 2,114 words, ~4,720 tokens.

Download SKILL.mdSave it as .claude/skills/search-lit/SKILL.md (or your agent's skills folder). This skill also uses 31 other files; get the full folder from GitHub.
name
search-lit
description
Use when finding papers or building a reference list. Searches PubMed, Semantic Scholar and bioRxiv/medRxiv, includes only references verified through an API, and generates BibTeX. Auditing an existing reference list is /verify-refs.
metadata.triggers
literature search, find papers, citation, references, bibliography, PubMed search, related work

Literature Search Skill

Every reference you produce must come from a live database result — never generate a citation from memory alone, because a recalled citation can look real and not exist.

Search Tools: MCP (Primary) + E-utilities (Fallback)

Primary: MCP Tools (Claude.ai Remote)
DatabaseMCP ToolPurpose
PubMedmcp__claude_ai_PubMed__search_articlesSearch by query, MeSH terms
PubMedmcp__claude_ai_PubMed__get_article_metadataFull metadata for a PMID
PubMedmcp__claude_ai_PubMed__find_related_articlesRelated articles for a PMID
PubMedmcp__claude_ai_PubMed__lookup_article_by_citationVerify a citation
PubMedmcp__claude_ai_PubMed__convert_article_idsConvert between PMID/DOI/PMCID
Semantic Scholarmcp__claude_ai_Scholar_Gateway__semanticSearchSemantic search across all fields
bioRxiv/medRxivmcp__claude_ai_bioRxiv__search_preprintsSearch preprint servers
bioRxiv/medRxivmcp__claude_ai_bioRxiv__get_preprintFull preprint metadata
CrossRefWebFetch with https://api.crossref.org/works/{DOI}DOI verification
Fallback: NCBI E-utilities (Direct API via Bash)

If any mcp__claude_ai_PubMed__* call returns an error containing "terminated", "not found", "not available", or "not connected", switch ALL subsequent PubMed calls in this session to the bundled E-utilities scripts. Do not retry MCP after a disconnect — it will not recover within the same conversation.

bash
EUTILS="${CLAUDE_SKILL_DIR}/references/pubmed_eutils.sh"
PARSER="${CLAUDE_SKILL_DIR}/references/parse_pubmed.py"

# Search PubMed (returns PMIDs)
bash "$EUTILS" search "diagnostic test accuracy meta-analysis radiology" 20 \
  | python3 "$PARSER" esearch

# Get article summaries as markdown table
bash "$EUTILS" fetch_json "16168343,16085191,31462531" \
  | python3 "$PARSER" esummary

# Get detailed metadata
bash "$EUTILS" fetch "16168343" \
  | python3 "$PARSER" efetch

# Generate BibTeX entries
bash "$EUTILS" fetch "16168343,16085191" \
  | python3 "$PARSER" bibtex

# Verify a citation by exact title
bash "$EUTILS" cite_lookup "Bivariate analysis of sensitivity and specificity" \
  | python3 "$PARSER" esearch

# Find related articles for a PMID
bash "$EUTILS" related "16168343" 10 \
  | python3 "$PARSER" esummary

The script sleeps 350 ms between calls (NCBI allows 3 requests/s without an API key, 10/s with NCBI_API_KEY); keep batch calls sequential.

MCP ToolE-utilities CommandParser Mode
search_articlessearch <query> [retmax]esearch
get_article_metadatafetch <pmids>efetch or bibtex
find_related_articlesrelated <pmid> [retmax]esummary
lookup_article_by_citationcite_lookup <title>esearch → fetch
convert_article_idsNot available (use CrossRef DOI lookup)—

Workflow

Phase 1: Search Strategy
  1. Get the research topic, question, or manuscript section that needs references.
  2. Build the query from the key concepts (Population, Intervention/Exposure, Comparison, Outcome), with MeSH terms for PubMed: (concept1 OR synonym1) AND (concept2 OR synonym2).
  3. Set scope: date range (default: last 10 years unless the user specifies), article types, and language (default: English).
  4. Present the Boolean query, databases, and filters to the user.

Gate: Wait for user approval before running searches.

  1. Search PubMed (search_articles, Boolean query), Semantic Scholar (semanticSearch, natural language query), and bioRxiv/medRxiv (search_preprints) when preprints are relevant.
  2. Deduplicate across databases by DOI or title similarity.
  3. Present the results in this table, and write the same rows to references/search_results.tsv:
| # | Title | Authors (first + last) | Year | Journal | PMID/DOI | Relevance |
|---|-------|----------------------|------|---------|----------|-----------|
| 1 | ...   | Kim J, ... Lee S     | 2024 | Radiology | 12345678 | High      |
  1. Ask the user to select which papers to include.
Record what the source said existed, not only what you downloaded

A wrong haul raises no error, and a PRISMA flow built on a wrong number is fiction that nothing downstream contradicts. Check both of these:

  • A count that equals a page cap exactly. Every source reports a total: esearchresult.count, opensearch:totalResults, meta.count. Record api_total beside downloaded, and fail loudly when downloaded < api_total, or when downloaded equals a page or loop cap exactly (e.g. a loop's own if start >= 2000: break reporting 2,000 records). Print TRUNCATED and refuse to write the search record.
  • A boolean that was never applied. OpenAlex's search= is a relevance-ranked free-text parameter that silently ignores AND/OR; filter=title_and_abstract.search: honours them. Run the query once more with one mandatory clause negated. If the hit count does not drop, the boolean is being ignored — the engine is ranking, not filtering.

PubMed via E-utilities is the one place where the naive pattern is safe. Everywhere else, do both.

A DOI in a screening row is not necessarily that row's DOI

When the pipeline filled a doi column (matched against Crossref by title similarity) rather than receiving it with the record, a wrong match is a valid, resolvable DOI for a different paper. Resolve it and read the title back before any decision rests on it:

bash
python3 "${CLAUDE_SKILL_DIR}/scripts/check_doi_record_match.py" --table 2_Screening/round3.tsv \
        --email <contact> --json qc/doi_record_match.json

DOI_NOT_THIS_RECORD is a DOI that resolves to another paper; DOI_IS_CONTAINER resolves to an issue, supplement or proceedings rather than an article; DOI_IS_UPDATE_NOTICE resolves to a correction, erratum or retraction notice (Crossref update-to) rather than to the article it updates; DOI_UNRESOLVED is reported rather than dropped. This runs at screening, where a wrong DOI is still cheap; /verify-refs audits a finished reference list.

Phase 2.5: Citation Searching (Snowballing)

Optional; recommended for systematic reviews and thorough background work (PRISMA item 7, "records identified through citation searching"). Expand a seed set along the citation graph with the Semantic Scholar Graph API helper:

bash
python3 "${CLAUDE_SKILL_DIR}/references/snowball.py" \
  --seed DOI:10.1000/synthetic.example,PMID:00000000 \
  --direction all \
  --pool references/library.bib \
  --out references/library.bib
  • Directions: backward (references the seeds cite), forward (papers citing the seeds), similar (S2 recommendations), or all (default). Dedup is against the --pool and within the harvested set, by DOI and normalized title.
  • Trust flag: candidates are written verified=false + verified_by=semantic_scholar. Run /verify-refs (or Phase 4 verification) on each before citing it.
  • Output contract: appends to references/library.bib only; the script hard-refuses manuscript/_src/refs.bib.
  • PRISMA line: the script prints Records identified through citation searching (snowballing): N raw (backward=…, forward=…, similar=…); after dedup against existing pool: M new candidates. Record M in the PRISMA flow's citation-searching box.
  • Incomplete runs: when any seed/direction fetch fails, or the source says more records exist past --limit (a next page), the script prints a FAILED or TRUNCATED line per seed/direction, ends the PRISMA line with INCOMPLETE, and exits 1. Those counts are a lower bound. Do not record them; re-run (or raise --limit) until the run exits 0.
Phase 3: Deep Read

For each selected paper, retrieve full metadata (get_article_metadata for PubMed, get_preprint for bioRxiv) and extract the study design, sample size/dataset, key methods, primary findings (with specific numbers), and the authors' stated limitations. For several papers, present a literature matrix for review:

| Paper | Design | N | Key Finding | Limitation | Relevance to Our Study |
|-------|--------|---|-------------|------------|----------------------|
Phase 4: Citation Management
Verification
  1. NEVER fabricate a DOI or PMID. If you cannot find one, mark the reference [UNVERIFIED - NEEDS MANUAL CHECK].
  2. Cross-check every reference against the API result: first and last author, publication year, journal, article title (exact, not paraphrased), and volume/pages when available. Flag each field that does not match.
  3. Confirm each DOI resolves with WebFetch https://api.crossref.org/works/{DOI} (on CrossRef errors, follow Error Handling).
BibTeX Generation

Generate an entry for every reference, verified or not, with an explicit verified flag:

bibtex
@article{FirstAuthorLastName_Year_ShortKey,
  author    = {Last1, First1 and Last2, First2 and Last3, First3},
  title     = {Full Title As Retrieved From Database},
  journal   = {Journal Name},
  year      = {2024},
  volume    = {310},
  number    = {2},
  pages     = {e234567},
  doi       = {10.1001/jama.2024.12345},
  pmid      = {12345678},
  verified  = {true},
  verified_by = {pubmed+crossref},
  verified_on = {2026-04-24},
}
verified (required on every entry)Meaning
trueDOI or PMID confirmed via PubMed/CrossRef; title, authors, year all match
falseParsed from text, but the API lookup failed or returned a mismatch; the manuscript MUST show [UNVERIFIED - NEEDS MANUAL CHECK]
manualUser explicitly added it despite the lookup failure; still unverified

verified_by lists the confirming sources (pubmed, crossref, semantic_scholar, or a combination); verified_on is the ISO date of the most recent successful verification. No downstream script reads these fields — /verify-refs re-checks every entry — so they record trust rather than grant it.

BibTeX key convention: FirstAuthorLastName_Year_OneWord (e.g., Kim_2024_Validation). The key is provisional: Better BibTeX assigns the citable key when /lit-sync imports the entry into Zotero.

Output
  1. Append the entries to references/library.bib (do not overwrite) — the candidate pool /lit-sync imports into Zotero. NEVER write to manuscript/_src/refs.bib, because /lit-sync (via Better BibTeX) is its sole writer.
  2. Print a summary with verification status:
Verified:    12 references (verified=true)
Unverified:   1 reference  (verified=false) [NEEDS MANUAL CHECK]
Total:       13 references
Phase 4b: Zotero Library Integration

Importing into Zotero belongs to /lit-sync, which owns Zotero writes and references/zotero_collection.json: hand it references/library.bib. If a Zotero MCP server is connected, you may read from it here — zotero_search_items (by DOI) to mark candidates already in the library, zotero_get_annotations to reference the user's prior reading notes.

Phase 5: Full-Text Retrieval

Delegate to /fulltext-retrieval, the single home of the open-access cascade; do not re-implement OA fetching here. Pass the verified candidate DOIs from references/library.bib:

bash
ENGINE="${CLAUDE_SKILL_DIR}/../fulltext-retrieval/fetch_oa.py"
# extract DOI + Title (and PMID/FirstAuthor when available) → worklist.tsv
python3 "$ENGINE" worklist.tsv -o pdfs/ -e <contact-email> --report pdfs/retrieval_report.json

Put the verified bibliographic title in the worklist rather than a DOI-only list. Keep source_identity and file_sha256 from the retrieval report with the record. Download success and title agreement alone do not verify the PDF: inspect conflicts, unresolved/unavailable evidence, and files whose hashes have changed before citing them. Missing identity fields in older reports mean unassessed; even consistent is advisory front-matter corroboration, not verification of the paper's claims.

For Zotero-resident PDFs and proxy-aware retrieval, use /lit-sync Phase 2.7. For DOIs in pdfs/manual_needed.txt, use only institutional access (your library's own subscriptions, proxy or VPN), interlibrary loan, or the corresponding author. Never bypass paywalls or publisher access controls, and do not configure unauthorized PDF mirrors.

Show full SKILL.md (838 more words)Show less
Phase 6: Gap Analysis

When called during manuscript writing, extract the manuscript's inline citations, compare them with the search results, and report specific gaps: key papers not cited, outdated references with newer versions, and missing methodological references (statistical methods, reporting guidelines).


Specialized Search Modes

Mode: Manuscript Paper Reference Pool

Supplies a manuscript's reference pool — typically invoked by /write-paper Step 7.3c (or /self-review Phase 2.5c-2) when the reference-adequacy gate finds the draft under target or a named method uncited; usable directly for an original-research bibliography.

For an original-research article, return 25–40 verified candidates, not the ~10 a quick search settles on. If the field is genuinely sparse, say so explicitly rather than returning a thin list silently. Respect a narrower journal reference cap or user scope when one is given.

Cover six candidate categories:

  1. Background / disease burden / clinical context — why the question matters.
  2. Gap-defining prior studies — the work the manuscript extends or contradicts.
  3. Comparator / comparable-design cohorts — studies the Results will be measured against.
  4. Methods / statistical canonical sources — the originating reference for every named method, model, score, equation, or diagnostic criterion (e.g. competing-risk model, multiple imputation, E-value, eGFR equation, concordance statistic). This category clears Methods named-method gaps.
  5. Reporting-guideline sources — STROBE, TRIPOD(+AI), CONSORT, PRISMA(-DTA), STARD, etc.
  6. Interpretation / mechanism / limitation support — grounds Discussion claims.

For each candidate, report PMID/DOI, verification status, candidate category, the target manuscript section, and a one-line why it is needed. Entries go through Phase 4 into references/library.bib only. This mode produces candidates: the user decides inclusion, and it does not insert references into the manuscript bib.

Mode: Crowding Check

Run before a study is designed. A background search ("what has been written about this topic") leaves the trap open; ask four narrower questions instead:

Ask ofVerdict
the research questiontaken / partly taken / open
the sampling frame (what population, which records, which years)taken / partly taken / open
the measurement axis (what is being coded or measured, and at what granularity)taken / partly taken / open
the target journalalready published there / adjacent / open

Give each its own verdict: a design can be original on one axis and fully occupied on another, and collapsing the four into one answer hides that. The journal row is not vanity: a design once matched an existing paper on frame, coding axis and journal — its own first choice. Most of the time this mode narrows a claim rather than ending a project (e.g. from "nobody has looked at this" to "nobody has decomposed it by provenance"), and the narrowed claim survives review.

Search the way a competitor would: the exact frame, the exact measure, and the journal's own site, not only the topic. Report the four verdicts and the papers behind each, then let the user decide.

For systematic reviews or comprehensive literature sections:

  1. Document the full search strategy (PRISMA-compliant).
  2. Record: database, date of search, query string, number of results.
  3. Track inclusion/exclusion at each screening step.
  4. Output a PRISMA flow diagram data summary.
Mode: Quick Cite

For a single reference the user describes ("that 2023 paper by Smith about AI in chest X-ray"): search PubMed and Semantic Scholar with the details, present the top 3 candidates, and generate the BibTeX entry for the one the user confirms.

From a PMID or DOI, get related papers with find_related_articles plus Semantic Scholar citation-based recommendations, ranked by relevance. For a structured, dedup-aware, PRISMA-countable expansion (backward + forward + similar), use Phase 2.5: Citation Searching with references/snowball.py instead.

Mode: Embase Browser Automation

Embase has no public API. Read ${CLAUDE_SKILL_DIR}/references/embase_browser.md when the search must include Embase — it has the Chrome-automation export steps, the CSV row format, and the PubMed → Embase query translation.


Error Handling

  • If a search returns 0 results, broaden the query (remove one concept or use broader MeSH terms) and retry.
  • CrossRef HTTP errors (token-saving rules):
    • 403 (rate-limited): Do NOT retry. Skip CrossRef → verify via PubMed title search instead.
    • 303 (redirect): Follow the redirect if possible. If not, skip CrossRef → PubMed fallback.
    • After the first CrossRef 403/303 in a session, skip CrossRef for ALL remaining references and go directly to PubMed title verification, to avoid N×retry token waste.
    • Do not print raw error messages ("Request failed with status code 403."). Report one summary line at the end: CrossRef unavailable for {N} references (rate-limited). Verified via PubMed instead.
  • If a DOI does not resolve via CrossRef (after the rules above), search PubMed by title to confirm the reference exists.
  • If a reference cannot be verified by any method, state: "This reference could not be verified. Please check manually before submission." Never silently include an unverified reference.

Known limits

  • check_doi_record_match.py compares titles at a similarity threshold and reads structured Crossref fields (type, update-to). A study protocol, or part 2 of a multi-part paper, whose title differs from the row's by a word or a number is not separated from the paper the row describes; no structured field marks it. Treat a silent run as "no mismatch detected", not as proof that every DOI is right.

© Aperivue, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 31 other files (scripts, references) in skills/search-lit of Aperivue/medsci-skills.

  • SKILL.md
  • references/embase_browser.md
  • references/parse_pubmed.py
  • references/pubmed_eutils.sh
  • references/snowball.py
  • references/snowball_challenge/expected/snowball.bib
  • references/snowball_challenge/fixture/DOI_10_0_seed1.backward.json
  • references/snowball_challenge/fixture/DOI_10_0_seed1.forward.json
  • references/snowball_challenge/fixture/DOI_10_0_seed1.similar.json
  • references/snowball_challenge/fixture/DOI_10_0_seed_err.backward.json
  • references/snowball_challenge/fixture/DOI_10_0_seed_trunc.forward.json
  • references/snowball_challenge/fixture/library.bib
  • references/snowball_challenge/problem.md
  • references/snowball_challenge/verify.sh
  • scripts/check_doi_record_match.py
  • scripts/check_doi_record_match_challenge
  • … and 16 more

Open the folder on GitHubat commit 3b14ae2

Compare with similar skills

Search Lit next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Search Lit compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Search Lit this skillAperivue/medsci-skills333—~4.7kAutomated safety check: PassMIT
Nature Academic Searchjing1312/nature-figure-skill171—~1.3kAutomated safety check: NotesMIT
Ai4scholar ResearchDrchronx/ai-agent-research-starter-kit139—~1.4kAutomated safety check: PassCustom licence
Nature Academic Searchwp-a/nature-academic-search304—~1.4kAutomated safety check: PassMIT
Literature ReviewNorman-bury/research-writing-skill3.4k—~2.2kAutomated safety check: NotesMIT
Nature Academic SearchTai609/NebulaMat100—~1.2kAutomated safety check: PassCustom licence

Similar skills

  • Nature Academic Search

    jing1312/nature-figure-skill

    Multi-source literature search, citation verification, MeSH search strategy, citation file management (.nbib/.ris/.bib conversion), and reference management (BibTeX, related articles, ID conversion)…

    171 GitHub stars~1.3k tokensUpdated 1 mo ago
    Research & ScienceAuto-check: notes
  • Ai4scholar Research

    Drchronx/ai-agent-research-starter-kit

    Use AI4Scholar for real scholarly literature tasks through MCP or the OpenClaw plugin: paper search, Google Scholar/Semantic Scholar/PubMed/arXiv/bioRxiv/medRxiv queries, PDF download and reading…

    139 GitHub stars~1.4k tokensUpdated 4 mo ago
    Research & ScienceAuto-check passed
  • Nature Academic Search

    wp-a/nature-academic-search

    A skill your agent uses when users ask to 找文献、做文献检索、查论文、查临床试验、核验引用、去重文献、设计 PubMed/MeSH 检索式、追踪上下游引文、解析 DOI/PMID/PMCID/arXiv/OpenAlex/Semantic Scholar/NCT ID, 或导出 RIS、BibTeX、NBIB、ENW;also use for…

    304 GitHub stars~1.4k tokensUpdated 9 days ago
    Research & ScienceAuto-check passed
  • Literature Review

    Norman-bury/research-writing-skill

    A skill your agent uses when writing literature review sections - guides searching, organizing, and synthesizing academic sources

    3.4k GitHub stars~2.2k tokensUpdated 4 mo ago
    Research & ScienceAuto-check: notes
  • Nature Academic Search

    Tai609/NebulaMat

    Multi-source literature search, citation verification, strict independent other-citation audits, article-level citation metric tables, influential citer profiling with citation-context extraction…

    100 GitHub stars~1.2k tokensUpdated 1 mo ago
    Research & ScienceAuto-check passed
  • Pubmed

    lamm-mit/scienceclaw

    Search PubMed for scientific literature and retrieve abstracts

    246 GitHub stars~817 tokensUpdated 1 mo ago
    Research & ScienceAuto-check passed

More from Aperivue/medsci-skills

All 54 skills in this repo
  • Obsidian Paper Vault

    Aperivue/medsci-skills

    A skill your agent uses when turning a folder of research PDFs into Obsidian notes, even if Obsidian is not named.

    333 GitHub stars~1.6k tokensUpdated 5 days ago
    Auto-check passed
  • Clean Data

    Aperivue/medsci-skills

    A skill your agent uses when a clinical CSV/Excel dataset needs profiling and cleaning before analysis (missing values, outliers, duplicates, type mismatches).

    333 GitHub stars~2k tokensUpdated 5 days ago
    Auto-check passed
  • Design Study

    Aperivue/medsci-skills

    A skill your agent uses when checking a radiology or medical AI study design before drafting or submission.

    333 GitHub stars~3.9k tokensUpdated 5 days ago
    Auto-check passed
  • Fill Icmje Coi

    Aperivue/medsci-skills

    A skill your agent uses when each author needs an ICMJE Conflict of Interest disclosure form (coidisclosure.docx) for submission.

    333 GitHub stars~1.5k tokensUpdated 5 days ago
    Auto-check passed
  • Fill Protocol

    Aperivue/medsci-skills

    A skill your agent uses when an institutional Word form (.doc/.docx IRB protocol, ethics application, grant template) must be filled without breaking its styles, tables, fonts or page layout.

    333 GitHub stars~1.7k tokensUpdated 5 days ago
    Auto-check passed
  • Find Cohort Gap

    Aperivue/medsci-skills

    A skill your agent uses when looking for research topics a longitudinal cohort database can answer (NHIS, UK Biobank, an institutional EMR or registry).

    333 GitHub stars~2.9k tokensUpdated 5 days ago
    Auto-check passed

Questions about Search Lit

What does Search Lit do?

A skill your agent uses when finding papers or building a reference list. Search Lit is an agent skill from Aperivue/medsci-skills. Use when finding papers or building a reference list.

When should I use Search Lit?

Search Lit fits situations like: building a reference list; tasks that involve Academic paper search; tasks that involve Citation management.

How do I install Search Lit in Claude Code?

Run `npx skills add Aperivue/medsci-skills --skill search-lit -a claude-code`. Or copy the skill folder (skills/search-lit in Aperivue/medsci-skills) into .claude/skills/search-lit in your project. Claude Code loads it when a task matches its description.

How do I install Search Lit in Codex?

Run `npx skills add Aperivue/medsci-skills --skill search-lit -a codex`. Or copy the skill folder (skills/search-lit in Aperivue/medsci-skills) into .agents/skills/search-lit in your project. Codex loads it when a task matches its description.

Can I use Search Lit in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Aperivue/medsci-skills --skill search-lit -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/search-lit, .gemini/skills/search-lit, .github/skills/search-lit and .opencode/skills/search-lit in your project.

What does Search Lit need to run?

Going by SKILL.md and its folder, Search Lit needs Python and a shell for the scripts in its folder, the command-line tools its instructions call (python3 and bash) and credentials named NCBI_API_KEY. Our summary lists: Python 3; A Bash shell; A credential in NCBI_API_KEY.

Does Search Lit access the network?

SKILL.md names 1 domain. In commands or code: api.crossref.org; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Search Lit safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Search Lit use?

Search Lit is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Search Lit use?

About 4.7k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 11k tokens, read only when the agent opens those files.

What are the alternatives to Search Lit?

Skills that share tags, products or a category with Search Lit: Nature Academic Search (jing1312/nature-figure-skill, 171 stars), Ai4scholar Research (Drchronx/ai-agent-research-starter-kit, 139 stars), Nature Academic Search (wp-a/nature-academic-search, 304 stars) and Literature Review (Norman-bury/research-writing-skill, 3.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Search Lit?

Aperivue (a GitHub organization) maintains it in Aperivue/medsci-skills, which has 333 GitHub stars. The repository holds 54 skills in this directory. The repository was last updated on October 5, 2026.

Source: Aperivue/medsci-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.