Agent skill · Content & Marketing

literature-search

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.

gaashergithub.com/gaasherGitHub ↗
claude-codeships scriptsMIT
Install
npx skills add gaasher/Agent-Loop-Skills --skill literature-search --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 13
SKILL.md size: 6 KB
Bundled scripts: yes
Version: 0.1.0
Requires: Requires Python 3.9+
Path: loops/literature-search/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 146
Language: Python

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# 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.p

What's inside
Steps it walks through
  1. How a loop uses it
  2. Subcommands
  3. API keys (the shared convention — optional, never block)
  4. Constraints
Ships with 12 files
  • 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
More from Agent-Loop-Skills
All skills →
About this skill
What does the literature-search skill do?

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.

How do I install it?

Run `npx skills add gaasher/Agent-Loop-Skills --skill literature-search --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From gaasher/Agent-Loop-Skills, a repository with 146 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going