Skip to content
Back to skills

Literature Search

ASecurity

Find the literature for a research question by querying OpenAlex, Semantic Scholar, arXiv, and CrossRef from the shell with curl (no keys, no MCP), deduplicating by DOI, ranking by relevance, citations, and recency, and producing a reading list with verified identifiers ready for paper-reader and bibtex-manager. Use when starting a literature review, checking whether a gap is real, or looking for the papers that cite or are cited by a known key paper.

  • 5 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 24, 2026
ai-agentsgoshellapidatabase

Works with

  • api
  • mcp

Security analysis

A92/100
  • mediumUses curl or wget to download content

Pro scans all 2 files and shows the line behind each finding

Scanned September 24, 2026

npx -y skills add KhaledSaeed18/dotclaude --skill literature-search --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Literature Search?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Literature Search
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/khaledsaeed18-literature-search/badge)](https://www.skillsdirectory.com/skills/khaledsaeed18-literature-search)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: literature-search
description: "Find the literature for a research question by querying OpenAlex, Semantic Scholar, arXiv, and CrossRef from the shell with curl (no keys, no MCP), deduplicating by DOI, ranking by relevance, citations, and recency, and producing a reading list with verified identifiers ready for paper-reader and bibtex-manager. Use when starting a literature review, checking whether a gap is real, or looking for the papers that cite or are cited by a known key paper."
argument-hint: "(optional) the research question or search terms; add --since YEAR or --limit N"
---

Search the literature the way a librarian would: several databases, explicit search strings, deduplication, and a record of what was searched so the process can be reported. Every result must carry a real identifier (DOI, arXiv id, or OpenAlex id) that resolves. A paper you cannot resolve does not go on the list.

## Sources and how to query them

All are free and need no API key. Use `curl -s` with a `User-Agent` header and a `mailto` where the API asks for one (OpenAlex and CrossRef give a faster "polite pool" with it). Read [reference/apis.md](reference/apis.md) for the exact endpoints, parameters, and the fields to keep.

| Source | Best for | Endpoint |
| --- | --- | --- |
| OpenAlex | broad coverage, citation counts, concepts, open-access links | `api.openalex.org/works?search=...` |
| Semantic Scholar | CS and AI, citation graph, TL;DR, influential citations | `api.semanticscholar.org/graph/v1/paper/search?query=...` |
| arXiv | preprints, latest ML/systems work | `export.arxiv.org/api/query?search_query=...` |
| CrossRef | resolving a DOI to full metadata, verifying a reference | `api.crossref.org/works/<doi>` |

Respect rate limits: at most one request per second per source without a key; back off on HTTP 429.

## Procedure

1. **Build the search strings.** From the research question, extract two to four concept groups (the phenomenon, the method, the setting, the population). For each group list synonyms and abbreviations. Combine as `(a OR a') AND (b OR b')`. Record every string; the thesis method chapter will report them.
2. **Query each source** with each string, most specific first. Keep the top 50 per query per source at most. Filter by year only when the student asks (`--since`), and say so in the log.
3. **Normalise and deduplicate.** Key on lowercase DOI; fall back to arXiv id, then to normalised title (lowercase, ASCII, no punctuation) plus first author surname. Merge fields across sources: prefer CrossRef for bibliographic fields, OpenAlex for citation count and OA link, Semantic Scholar for abstract and TL;DR.
4. **Snowball once.** For the three to five most relevant hits, fetch their references and their citing works from Semantic Scholar (`/paper/<id>/references`, `/paper/<id>/citations`) and add anything that appears twice or more.
5. **Rank.** Score = relevance (title and abstract term overlap with the concept groups) with a bonus for citation count normalised by age, and a small bonus for recency. Show the formula used. Never rank purely by citations: the newest relevant work has few.
6. **Screen titles and abstracts** against the inclusion criteria the student states (or propose criteria and ask). Mark each as include, exclude with reason, or unsure.
7. **Verify** every included identifier resolves: `curl -sI https://doi.org/<doi>` returns 3xx, or the arXiv abs page returns 200. Drop anything that does not.

## Output

Write two files (default under `research/`), and summarise in the reply:

- `search-log.md`: date, sources, every search string, result counts per source, inclusion criteria, and the snowballing seeds. This is a method-chapter artifact.
- `reading-list.md`: one entry per included paper, ranked:

  ```
  ## 1. Title (Year)
  Authors. Venue. DOI: 10.xxxx/yyyy  | arXiv: 2401.01234  | cited by 142  | OA: url
  Why it is here: one sentence tying it to the research question.
  Abstract: (verbatim, from the source)
  ```

Offer the next steps: `bibtex-manager` to turn the list into a `.bib`, `paper-reader` for structured notes on each, `citation-graph` to expand from the key papers.

## Rules

- Never fabricate a paper, author, venue, or identifier. If an API returns nothing, say so and widen the search string.
- Never paraphrase an abstract as if it were the paper's finding; the reading happens in `paper-reader`.
- Report negative results: "no paper matched string 3 in any source" is useful for the gap argument.

Files in this skill

  • SKILL.md4.4 KB
  • reference/apis.md3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.