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.
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…
$ npx skills add gaasher/Agent-Loop-Skills --skill literature-search -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install gaasher/Agent-Loop-Skills literature-search --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "literature-search" agent skill from https://github.com/gaasher/Agent-Loop-Skills/tree/main/loops/literature-search into .claude/skills/literature-search/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "literature-search", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/gaasher/Agent-Loop-Skills/tree/main/loops/literature-searchType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add gaasher/Agent-Loop-Skills --skill literature-search -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install gaasher/Agent-Loop-Skills literature-search --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gaasher/Agent-Loop-Skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/loops/literature-search .agents/skills/literature-search && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "literature-search" agent skill from https://github.com/gaasher/Agent-Loop-Skills/tree/main/loops/literature-search into .agents/skills/literature-search/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "literature-search", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add gaasher/Agent-Loop-Skills --skill literature-search -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install gaasher/Agent-Loop-Skills literature-search --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gaasher/Agent-Loop-Skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/loops/literature-search .cursor/skills/literature-search && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "literature-search" agent skill from https://github.com/gaasher/Agent-Loop-Skills/tree/main/loops/literature-search into .cursor/skills/literature-search/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "literature-search", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/gaasher/Agent-Loop-Skills.git --path loops/literature-search--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add gaasher/Agent-Loop-Skills --skill literature-search -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install gaasher/Agent-Loop-Skills literature-search --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gaasher/Agent-Loop-Skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/loops/literature-search .gemini/skills/literature-search && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "literature-search" agent skill from https://github.com/gaasher/Agent-Loop-Skills/tree/main/loops/literature-search into .gemini/skills/literature-search/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "literature-search", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install gaasher/Agent-Loop-Skills literature-searchInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add gaasher/Agent-Loop-Skills --skill literature-search -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/gaasher/Agent-Loop-Skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/loops/literature-search .github/skills/literature-search && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "literature-search" agent skill from https://github.com/gaasher/Agent-Loop-Skills/tree/main/loops/literature-search into .github/skills/literature-search/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "literature-search", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add gaasher/Agent-Loop-Skills --skill literature-search -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install gaasher/Agent-Loop-Skills literature-search --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gaasher/Agent-Loop-Skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/loops/literature-search .opencode/skills/literature-search && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "literature-search" agent skill from https://github.com/gaasher/Agent-Loop-Skills/tree/main/loops/literature-search into .opencode/skills/literature-search/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "literature-search", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
literature-searchA 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. 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.
Read from SKILL.md and the folder at commit f1169e6. It shows what the files ask for, not the result of running them.
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.
Ships script files (Python), which the agent can run.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
OPENROUTER_API_KEYBGPT_API_KEYS2_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires Python 3.9+
From compatibility in the SKILL.md frontmatter.
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.
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.
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.
The full file from gaasher/Agent-Loop-Skills at commit f1169e6, republished under its MIT licence (© gaasher). 678 words, ~1,473 tokens.
.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.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.
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-wordpython3 .../lit_search.pyin a variable and calling$VARtries to exec one long (nonexistent) filename. Use the executable single-token form above, call the script path directly, or split explicitly (${=VAR}in zsh).
| Subcommand | Use |
|---|---|
<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|recommend | walk 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.
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.
KEY=VALUE lines; # comments; blank lines ignored; 0600 perms.export).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.python3.../ escapes, no docs/ links.{"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
SKILL.md and 12 other files in loops/literature-search of gaasher/Agent-Loop-Skills.
Open the folder on GitHubat commit f1169e6
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Literature Search this skillgaasher/Agent-Loop-Skills | 174 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Paper Research on arXivXiaomiMiMo/MiMo-Code | 14k | — | ~1.5k | Automated safety check: Pass | MIT | |
| Literature Review AgentAr9av/PaperOrchestra | 679 | 1 repos | ~5.2k | Automated safety check: Pass | Custom licence | |
| Daily arXiv Paper Briefjuliye2025/evil-read-arxiv | 1.7k | — | ~4.3k | Automated safety check: Pass | None | |
| Literature ReviewK-Dense-AI/scientific-agent-skills | 48k | 1 repos | ~3.2k | Automated safety check: Notes | MIT | |
| PaperSeek Literature SearchMingfengHong/paperseek | 0 | — | ~1.6k | Automated safety check: Pass | Apache-2.0 |
XiaomiMiMo/MiMo-Code
Searches arXiv, fetches metadata, generates BibTeX, downloads PDFs and finds citations and related papers using a bundled Python script.
Ar9av/PaperOrchestra
Step 3 of the PaperOrchestra pipeline (arXiv:2604.05018). An agent skill from Ar9av/PaperOrchestra.
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.
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.
MingfengHong/paperseek
Routes literature searches through the PaperSeek launcher, picks suitable scholarly sources, parses JSON output and keeps API keys out of the chat.
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.
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…
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.
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…
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.
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.
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.
Works with
Categories
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.
Literature Search fits situations like: A loop needs scholarly literature — paper discovery; full-text snippet search; citation-graph traversal; single-paper reads.
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.
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.
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.
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+.
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.
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.
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.
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.
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.
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.