Agent skill

Literature Search

by gaasher in gaasher/Agent-Loop-Skills

A skill your agent uses when a loop needs scholarly literature — paper discovery, novelty checks, full-text snippet search, citation-graph traversal, single-paper reads, or experimental-result…

MITAuto-check passedResearch & Science

Install Literature Search

skills CLI
$ npx skills add gaasher/Agent-Loop-Skills --skill literature-search -a claude-code

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

GitHub CLI
$ gh skill install gaasher/Agent-Loop-Skills literature-search --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/gaasher/Agent-Loop-Skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/loops/literature-search .claude/skills/literature-search && 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
literature-search
GitHub stars
174
Token cost
~1.5k tokens
SKILL.md length
678 words
Files
13
Skills in repo
20
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when a loop needs scholarly literature — paper discovery, novelty checks, full-text snippet search, citation-graph traversal, single-paper reads, or experimental-result…

  • A loop needs scholarly literature — paper discovery
  • SKILL.md covers How a loop uses it, Subcommands, API keys (the shared… and Constraints
  • Runs Python scripts from its folder; calls python3; needs OPENROUTER_API_KEY and BGPT_API_KEY
  • Full-text snippet search

What it does

Literature Search is an agent skill from gaasher/Agent-Loop-Skills. Use when a loop needs scholarly literature — paper discovery, novelty checks, full-text snippet search, citation-graph traversal, single-paper reads, or experimental-result extraction. A shared, stdlib-only CLI (tools/litsearch.py) over Semantic Scholar + arXiv (plus optional OpenAlex, Perplexity Sonar, bgpt.pro), all JSON. Not a loop itself: install it alongside the loops and let any of them call it instead of vendoring their own copy. Degrades to the caller's WebSearch/WebFetch.

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 15 other files (for example `tools/lit/__init__.py`, `tools/lit/cli.py` and `tools/lit/http.py`). Compatibility notes: Requires Python 3.9+

It sits in Research & Science, covering Academic paper search, Literature review and Web search. It works with Perplexity, arXiv, Semantic Scholar and Python. The repository describes itself as: Loop until it's better — drop-in agentic loops (autoresearch, scientific writing, data analysis, code/SQL/prompt optimization, red-teaming) as open-standard Agent Skills… The licence is MIT.

When your agent uses it

  • A loop needs scholarly literature — paper discovery
  • Full-text snippet search
  • Citation-graph traversal
  • Single-paper reads

Example prompts

  • “/literature-search”

Requirements

  • Python 3
  • A credential in OPENROUTER_API_KEY
  • A credential in BGPT_API_KEY
  • Compatibility (from SKILL.md): Requires Python 3.9+

What it can do on your machine

Read from SKILL.md and the folder at commit f1169e6. 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 script files (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

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

  • Network

    No URLs in SKILL.md.

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

  • Credentials

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

    • OPENROUTER_API_KEY
    • BGPT_API_KEY
    • S2_API_KEY

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

  • Compatibility

    Requires Python 3.9+

    From compatibility in the SKILL.md frontmatter.

Context cost

Literature Search loads about 1.5k tokens when it runs. Until then it costs about 127 tokens; SKILL.md has 678 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~127
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from gaasher/Agent-Loop-Skills at commit f1169e6, republished under its MIT licence (© gaasher). 678 words, ~1,473 tokens.

Download SKILL.mdSave it as .claude/skills/literature-search/SKILL.md (or your agent's skills folder). This skill also uses 12 other files; get the full folder from GitHub.
name
literature-search
description
Use when a loop needs scholarly literature — paper discovery, novelty checks, full-text snippet search, citation-graph traversal, single-paper reads, or experimental-result extraction. A shared, stdlib-only CLI (`tools/lit_search.py`) over Semantic Scholar + arXiv (plus optional OpenAlex, Perplexity Sonar, bgpt.pro), all JSON. Not a loop itself: install it alongside the loops and let any of them call it instead of vendoring their own copy. Degrades to the caller's WebSearch/WebFetch.
compatibility
Requires Python 3.9+
metadata.version
0.1.0

Literature Search (shared toolchain)

This skill is not a loop — it is the literature-retrieval dependency several loops use for paper discovery and novelty checks. It bundles tools/lit_search.py (a stdlib-only entrypoint) and the tools/lit/ package: Semantic Scholar (S2) for semantic search + snippets + the citation graph and arXiv for full-text reads (the keyless core), plus optional OpenAlex, Perplexity Sonar (ask), and bgpt.pro (bgpt) when their keys are set. Every subcommand prints JSON; on a terminal failure it prints {"error","fallback"} and exits non-zero so the caller degrades to its built-in WebSearch/WebFetch. No installs, Python ≥3.9.

How a loop uses it

A consuming loop resolves these once at setup and reuses them:

  • <lit_skill_dir> — where this skill is installed. After cp -r loops/* ~/.claude/skills/ it sits as a sibling of the calling loop, e.g. ~/.claude/skills/literature-search/ (adjust per host). If it cannot be resolved, the caller falls back to WebSearch/WebFetch — depending on it never hard-breaks a loop, it only enriches it.
  • <lit> — the literature CLI as a single command token: <lit_skill_dir>/tools/lit_search.py. The entrypoint is executable and carries a #!/usr/bin/env python3 shebang, so it runs directly with no python3 prefix. To reuse a cache across calls, append --cache-dir <sandbox_root>/literature/.cache after the subcommand (a per-subcommand flag, not global).
  • <lit_py> — only needed for the fallback form on a host that doesn't honour the execute bit: <lit_py> <lit_skill_dir>/tools/lit_search.py, with <lit_py> = python3 (any ≥3.9 interpreter).

Invoke <lit> as one command — keep it a single shell token. In particular zsh does not word-split unquoted variables, so storing the two-word python3 .../lit_search.py in a variable and calling $VAR tries to exec one long (nonexistent) filename. Use the executable single-token form above, call the script path directly, or split explicitly (${=VAR} in zsh).

Subcommands

SubcommandUse
<lit> search "<q>" [--year 2020-] [--min-citations N] [--limit N] [--source s2|openalex|both] [--sort relevance|citations|recent]semantic discovery — related papers (titles, TLDR, abstract, citations, arxiv_id). Defaults to --source s2 (relevance); add openalex/both to widen discovery
<lit> snippet "<q>" [--limit N]full-text passage search — pinpoint a verbatim fact/number without reading a paper
<lit> cite <paperId> --direction references|citations|recommendwalk the citation graph (backward / forward / "more like this")
<lit> fulltext <arxivId> [--mode auto|latex|pdf]deep-read one paper's methods/results (HTML > LaTeX > PDF)
<lit> ask "<question>" [--model sonar|sonar-pro|sonar-reasoning]Perplexity Sonar synthesis — a cited high-level answer (needs OPENROUTER_API_KEY; else use WebSearch)
<lit> bgpt "<q>" [--num N] [--days-back N]bgpt.pro structured experimental-result/limitations extraction (free for 50 results, then BGPT_API_KEY)
<lit> keys [--init]report which API keys are present (booleans only); --init writes/extends keys.env

The S2 + arXiv core (search/snippet/cite/fulltext) needs no keys. The optional extras (search --source openalex|both, ask, bgpt) widen discovery and synthesis when their keys are set.

Show full SKILL.md (249 more words)Show less

API keys (the shared convention — optional, never block)

This skill is the canonical home for the project's key convention (it is the installed code that implements it). Keys live in one gitignored keys.env at the project root (the nearest .git ancestor of the working dir, else the CWD), shared by every skill in the project.

  • Plain KEY=VALUE lines; # comments; blank lines ignored; 0600 perms.
  • A real OS environment variable always wins over the file (CI/power users can just export).
  • All keys are optional — a missing key degrades that one feature gracefully, down to WebSearch.
  • Secrets never enter the conversation — the user edits keys.env themselves; skills read only presence as booleans, never values.

Onboarding flow: <lit> keys (report what's present) → <lit> keys --init (create/append slots, append-only, never overwrites; prints the path) → user opens keys.env and pastes the keys they want (in-session: ! $EDITOR ./keys.env) → <lit> keys again, then proceed. Never block on keys.

  • S2_API_KEY (free) — the one most worth setting; a dedicated 1 req/s for search/snippet/cite.
  • OPENALEX_EMAIL (free, any email) — OpenAlex "polite pool" for faster --source openalex|both.
  • OPENROUTER_API_KEY (paid) — enables ask (Perplexity Sonar); without it ask is disabled.
  • BGPT_API_KEY (free for 50 results, then paid) — enables bgpt beyond the free tier.

Constraints

  • Stdlib only — never add a dependency or assume one is installed; it must run under bare python3.
  • Self-contained — everything lives under this folder; no ../ escapes, no docs/ links.
  • Fail closed to a fallback — on any source error, emit {"error","fallback"} and exit non-zero rather than raising, so callers degrade cleanly.

© gaasher, 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 12 other files in loops/literature-search of gaasher/Agent-Loop-Skills.

  • SKILL.md
  • tools/lit/__init__.py
  • tools/lit/cli.py
  • tools/lit/http.py
  • tools/lit/keys.py
  • tools/lit/normalize.py
  • tools/lit/sources/__init__.py
  • tools/lit/sources/arxiv.py
  • tools/lit/sources/bgpt.py
  • tools/lit/sources/openalex.py
  • tools/lit/sources/semantic_scholar.py
  • tools/lit/sources/sonar.py
  • tools/lit_search.py

Open the folder on GitHubat commit f1169e6

Compare with similar skills

Literature Search 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.

Literature Search compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Literature Search this skillgaasher/Agent-Loop-Skills174—~1.5kAutomated safety check: PassMIT
Paper Research on arXivXiaomiMiMo/MiMo-Code14k—~1.5kAutomated safety check: PassMIT
Literature Review AgentAr9av/PaperOrchestra6791 repos~5.2kAutomated safety check: PassCustom licence
Daily arXiv Paper Briefjuliye2025/evil-read-arxiv1.7k—~4.3kAutomated safety check: PassNone
Literature ReviewK-Dense-AI/scientific-agent-skills48k1 repos~3.2kAutomated safety check: NotesMIT
PaperSeek Literature SearchMingfengHong/paperseek0—~1.6kAutomated safety check: PassApache-2.0

Similar skills

  • Paper Research on arXiv

    XiaomiMiMo/MiMo-Code

    Searches arXiv, fetches metadata, generates BibTeX, downloads PDFs and finds citations and related papers using a bundled Python script.

    14k GitHub stars~1.5k tokensUpdated 2 days ago
    Research & ScienceAuto-check passed
  • Literature Review Agent

    Ar9av/PaperOrchestra

    Step 3 of the PaperOrchestra pipeline (arXiv:2604.05018). An agent skill from Ar9av/PaperOrchestra.

    679 GitHub starsUsed in 1 repo~5.2k tokens
    Research & ScienceAuto-check passed
  • Daily arXiv Paper Brief

    juliye2025/evil-read-arxiv

    Searches arXiv for recent papers matching your research interests, scores them and writes a daily recommendation note into an Obsidian vault.

    1.7k GitHub stars~4.3k tokensUpdated 26 days ago
    Research & ScienceAuto-check passed
  • Literature Review

    K-Dense-AI/scientific-agent-skills

    Runs systematic, scoping or narrative literature reviews across PubMed, arXiv, bioRxiv and Semantic Scholar, with citation checks and Markdown or PDF output.

    48k GitHub starsUsed in 1 repo~3.2k tokens
    Research & ScienceAuto-check: notes
  • PaperSeek Literature Search

    MingfengHong/paperseek

    Routes literature searches through the PaperSeek launcher, picks suitable scholarly sources, parses JSON output and keeps API keys out of the chat.

    0 GitHub stars~1.6k tokensUpdated yesterday
    Research & ScienceAuto-check passed
  • Local Search Fallback

    taxueseek/argo

    Zero-cost fallback for the argo search skill, wrapping 29 local engines for web, news, academic, code and reference queries when paid API quota should be saved.

    188 GitHub stars~949 tokensUpdated 4 days ago
    Productivity & AutomationAuto-check passed

More from gaasher/Agent-Loop-Skills

All 20 skills in this repo
  • Alpha Evolve

    gaasher/Agent-Loop-Skills

    A skill your agent uses when the user wants to evolve an ML model/program through population-based search rather than a single sequential refine loop — a generational evolution where parallel…

    174 GitHub stars~3.4k tokensUpdated 3 mo ago
    Auto-check passed
  • Anomaly Investigation

    gaasher/Agent-Loop-Skills

    A skill your agent uses when the user has a known, already-observed anomaly in their data — a metric spike or drop, an outlier, an unexpected number — and wants its root cause diagnosed, not guessed.

    174 GitHub stars~2.1k tokensUpdated 3 mo ago
    Auto-check passed
  • Blue Team

    gaasher/Agent-Loop-Skills

    A skill your agent uses when the user has concrete failing cases in code or a guardrail/classifier/filter/prompt/API they own — a red-team failure catalogue OR a CI/CD test-failure report (failing…

    174 GitHub stars~3.6k tokensUpdated 3 mo ago
    Auto-check passed
  • Data Analysis

    gaasher/Agent-Loop-Skills

    A skill your agent uses when the user wants an iterative, self-checking exploratory analysis of a dataset — surfacing findings that are each verified by re-running the computation, not asserted.

    174 GitHub stars~1.9k tokensUpdated 3 mo ago
    Auto-check passed
  • Hypothesis Gen

    gaasher/Agent-Loop-Skills

    A skill your agent uses when the user wants to generate and literature-vet a pool of novel, testable research hypotheses for a question or domain.

    174 GitHub stars~2.6k tokensUpdated 3 mo ago
    Auto-check passed
  • Karpathy

    gaasher/Agent-Loop-Skills

    A skill your agent uses when the user wants the LLM to do its own ML research: a fully-autonomous loop that hacks the training code, runs it, and keeps changes that lower a single scalar metric (e.g.

    174 GitHub stars~2.6k tokensUpdated 3 mo ago
    Auto-check passed

Questions about Literature Search

What does Literature Search do?

A skill your agent uses when a loop needs scholarly literature — paper discovery, novelty checks, full-text snippet search, citation-graph traversal, single-paper reads, or experimental-result…. Literature Search is an agent skill from gaasher/Agent-Loop-Skills. Use when a loop needs scholarly literature — paper discovery, novelty checks, full-text snippet search, citation-graph traversal, single-paper reads, or experimental-result extraction.

When should I use Literature Search?

Literature Search fits situations like: A loop needs scholarly literature — paper discovery; full-text snippet search; citation-graph traversal; single-paper reads.

How do I install Literature Search in Claude Code?

Run `npx skills add gaasher/Agent-Loop-Skills --skill literature-search -a claude-code`. Or copy the skill folder (loops/literature-search in gaasher/Agent-Loop-Skills) into .claude/skills/literature-search in your project. Claude Code loads it when a task matches its description.

How do I install Literature Search in Codex?

Run `npx skills add gaasher/Agent-Loop-Skills --skill literature-search -a codex`. Or copy the skill folder (loops/literature-search in gaasher/Agent-Loop-Skills) into .agents/skills/literature-search in your project. Codex loads it when a task matches its description.

Can I use Literature Search 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 gaasher/Agent-Loop-Skills --skill literature-search -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/literature-search, .gemini/skills/literature-search, .github/skills/literature-search and .opencode/skills/literature-search in your project.

What does Literature Search need to run?

Going by SKILL.md and its folder, Literature Search needs Python for the scripts in its folder, the command-line tools its instructions call (python3) and credentials named OPENROUTER_API_KEY, BGPT_API_KEY and S2_API_KEY. Our summary lists: Python 3; A credential in OPENROUTER_API_KEY; A credential in BGPT_API_KEY. Compatibility (from SKILL.md): Requires Python 3.9+.

Does Literature Search access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Literature Search 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. Review the folder before installing.

What licence does Literature Search use?

Literature Search 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 Literature Search use?

About 1.5k tokens (SKILL.md is roughly 5.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Literature Search?

Skills that share tags, products or a category with Literature Search: Paper Research on arXiv (XiaomiMiMo/MiMo-Code, 14k stars), Literature Review Agent (Ar9av/PaperOrchestra, 679 stars), Daily arXiv Paper Brief (juliye2025/evil-read-arxiv, 1.7k stars) and Literature Review (K-Dense-AI/scientific-agent-skills, 48k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Literature Search?

gaasher (a GitHub user) maintains it in gaasher/Agent-Loop-Skills, which has 174 GitHub stars. The repository holds 20 skills in this directory. The repository was last updated on June 30, 2026.

Source: gaasher/Agent-Loop-Skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.