Skip to content
Back to skills

Research

ASecurity

Academic / literature research orchestrator. Routes intent -> best free tool first (arxiv, semantic_scholar, openalex, crossref, europepmc, pubmed, unpaywall, orcid, ror, dblp, openlibrary, internet_archive_search, oreilly_search), escalates to paid only when free < 3 hits. Auto-picks for "find papers on X", "prior art", "SOTA map", "who cites Y", "OA PDF for DOI", "author disambiguation", "literature review". NEVER WebFetch.

  • 15 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 6, 2026
ai-agentsgorails

Works with

  • cursor
  • cli
  • mcp

Security analysis

A100/100

Scanned October 6, 2026

npx -y skills add MikkoParkkola/nab --skill research --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Research?

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

Security grade badge for Research
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mikkoparkkola-research/badge)](https://www.skillsdirectory.com/skills/mikkoparkkola-research)

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: research
version: 2026.05.05
effort: medium
triggers: arxiv|paper|research paper|citation|SOTA|prior art|doi|literature|literature review|preprint|study|publication|h-index|scholarly|academic|semantic scholar|openalex|pubmed|europepmc|crossref|dblp|unpaywall|internet archive|oreilly|find papers|who cites|survey of|novel claim|orcid|ror
description: >
  Academic / literature research orchestrator. Routes intent -> best free tool first
  (arxiv, semantic_scholar, openalex, crossref, europepmc, pubmed, unpaywall,
  orcid, ror, dblp, openlibrary, internet_archive_search, oreilly_search),
  escalates to paid only when free < 3 hits.
  Auto-picks for "find papers on X", "prior art", "SOTA map", "who cites Y",
  "OA PDF for DOI", "author disambiguation", "literature review". NEVER WebFetch.
composes_with: autoresearch, elite-loop, "!:discover"
---

# Research Skill — Academic & Literature Orchestrator

> Replaces the 1-line `Academic: context7 | arXiv` routing in `core-minimal.md`
> with a decision matrix and tested chain patterns.
> All tools listed are **FREE** unless marked `$`. All via `mcp__gateway__gateway_execute`,
> server prefix `fulcrum:`.

## Prime directive

```
free-first -> escalate only when free<3 hits | NEVER WebFetch (~50K/call waste)
<3 hits on free  -> try exa_search($0.005, semantic)
<3 hits on exa   -> parallel_search($0.004, multi-hop)
still nothing    -> widen query / drop filters before paying more
```

## Research-type -> best-tool matrix (V evidence tested 2026-05-05)

| #   | Intent                                                       | Primary (FREE)                                                                                                                   | Secondary                                                            | Why                                                                                                                                   | Conf |
| --- | ------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ---- |
| 1   | Fresh preprints (last 6mo ML/CS)                             | `arxiv_search` sortBy=submittedDate                                                                                              | `semantic_scholar` year=2025-2026                                    | arxiv indexes preprints day-0; S2 lags ~weeks                                                                                         | V    |
| 2   | Citation graph / influence                                   | `semantic_scholar` fields=citationCount                                                                                          | `openalex_search_works`                                              | S2 returns clean citationCount inline                                                                                                 | V    |
| 3   | Specific author's works                                      | `openalex_get_author`                                                                                                            | `semantic_scholar` + name                                            | OpenAlex returns h-index + works_count + ORCID in one call; S2 needs paper->author hop                                                | I    |
| 4   | OA PDF for a DOI                                             | `unpaywall_find_open`                                                                                                            | `europepmc_search` (for biomed)                                      | Unpaywall is THE canonical "is this free?" DB (~50M); does NOT index arXiv DOIs                                                       | V    |
| 5   | Biomedical / clinical                                        | `europepmc_search`                                                                                                               | `pubmed_search`+`pubmed_fetch_article`                               | EPMC returns hasPDF/inEPMC/OA inline; PubMed only gives PMID list                                                                     | V    |
| 6   | CS-specific (established work)                               | `semantic_scholar`+`arxiv_search`                                                                                                | `dblp_search`                                                        | DBLP only indexes formally-published venues (0 hits on "Hebbian LLM memory" 2026-04-24); trap for fresh queries                       | V    |
| 7   | Math-specific                                                | `arxiv_search` cat:math.\*                                                                                                       | `crossref_search_works`                                              | arXiv is the math preprint standard; crossref for published journals                                                                  | I    |
| 8   | Historical / archived / pre-arXiv terminology                | `internet_archive_search`                                                                                                        | `openlibrary_search` (books) / `crossref_search_works` (DOI lineage) | IA finds archived texts, old arXiv mirrors, proceedings, patents, and pre-current-keyword material; OpenLibrary is book metadata only | V    |
| 9   | Multi-hop "cites X AND disputes Y"                           | `parallel_search` ($0.004)                                                                                                       | `exa_search` type=neural                                             | parallel_search built for chained multi-hop reasoning                                                                                 | I    |
| 10  | Prior art (patent-claim grade)                               | chain: `arxiv_search` + `semantic_scholar` + `internet_archive_search` + `exa_search`                                            | `parallel_search`                                                    | No single source; must triangulate preprint+published+archived web/text                                                               | I    |
| 11  | SOTA map of a whole field                                    | chain: `arxiv_search` (fresh) + `semantic_scholar` (influential, top-k by citations) + `openalex_search_works` (concept breadth) | `exa_search` fill gaps                                               | 3 axes: recent / influential / conceptual cluster                                                                                     | V    |
| 12  | Novel-claim validation (cross-discipline)                    | `openalex_search_works` (concepts graph)                                                                                         | `semantic_scholar`                                                   | OpenAlex concepts span 250M works + cross-field topics                                                                                | I    |
| 13  | Author disambiguation / institution                          | `orcid_get_person` + `ror_search_organization`                                                                                   | `openalex_get_author`                                                | ORCID=canonical ID, ROR=canonical institution                                                                                         | I    |
| 14  | Production engineering pattern / practitioner implementation | `oreilly_search`                                                                                                                 | `oreilly_books_search` for book-level bibliography                   | O'Reilly surfaces book/chapter-level implementation guidance and operator patterns that paper indexes often omit                      | V    |

Confidence: V=tested today with real query | I=schema-level argument | A=assumption.

## 3 chain patterns (Rams #10 — less but better)

Pick one of these by intent. Default is pattern A.

### A. "Find papers on X" / survey (DEFAULT for 90% of asks)

```
1. fulcrum:arxiv_search  {search_query: "all:X AND all:Y", sortBy: "submittedDate", max_results: 10}
2. fulcrum:semantic_scholar {query: "X Y", limit: 10, fields: "title,authors,year,citationCount,externalIds,abstract"}
3. Merge: dedupe by DOI/ArXiv ID. Sort by (year desc, citationCount desc).
4. If historical, pre-arXiv, old terminology, or prior-art adjacent:
   fulcrum:internet_archive_search {q: "mediatype:texts AND (\"X\" OR \"Y\")", rows: 10, fl: "identifier,title,creator,date,mediatype,downloads,subject", sort: "downloads desc"}
5. If the ask includes production engineering, agent/product implementation, operational memory, deployment, eval, or system-design practice:
   fulcrum:oreilly_search {query: "X Y", formats: "book", limit: 10, sort: "relevance"}
6. Skip O'Reilly for pure citation counting, DOI/OA lookup, author disambiguation, or biomed-only searches; skip IA for fresh-only queries with a tight recent-year filter.
7. If free scholarly + IA/O'Reilly fanout still returns < 3 useful hits: fulcrum:exa_search {query: "...", category: "research_paper", num_results: 5}
```

### B. "Prior art" / SOTA map

```
1. A + openalex_search_works {search: "X", per_page: 10, filter: "publication_year:2023-2026", select: "id,title,publication_year,doi,cited_by_count,authorships"}
   (always pass 'select' — default response is ~35KB/result from inverted-index abstract)
2. For top-5 influential: semantic_scholar citations graph (paperId -> references + citations).
3. If patent-grade: add internet_archive_search for archived/pre-current-keyword evidence before paid web search.
4. If still under-covered: add parallel_search for non-paper web evidence.
```

### C. "Who is author X" / "I have DOI Y"

```
Author:   orcid_get_person <ORCID>  ||  openalex_get_author <id_or_ORCID>
DOI->OA:  unpaywall_find_open <doi> <email>   (NOT for arXiv DOIs — 404)
DOI->md:  crossref_get_doi <doi>
```

## Parameter gotchas (save 5-10 rediscovery calls)

```
arxiv_search          -> search_query (NOT query),  sortBy, sortOrder, max_results
dblp_search           -> q (NOT query),             h (NOT limit)
openalex_search_works -> search (NOT query),        per_page, filter, select (USE IT)
pubmed_search         -> term (NOT query),          retmax, sort
semantic_scholar      -> query, limit, fields, year
europepmc_search      -> query, pageSize, cursorMark
crossref_search_works -> query, rows, filter
exa_search            -> query, category (research_paper), num_results, type
internet_archive_search -> q (Lucene), rows, fl, sort; use mediatype:texts for papers/books/proceedings
oreilly_search        -> query, formats, limit, page, sort; use formats=book for book/chapter results
oreilly_books_search  -> query, limit, page; use for whole-book bibliography/ISBN, not narrow chapter evidence
unpaywall_find_open   -> doi, email REQUIRED; use parm@iki.fi; fails on 10.48550/arXiv.* (use publisher DOI)
openalex: pass `select: "id,title,publication_year,doi,cited_by_count,authorships"` or response is ~35KB/hit
```

## Output format (citation-ready)

One line per hit. Year desc. Drop duplicates by DOI/ArXiv ID.

```
<Title> — <Authors> (<Year>) arXiv:<id> | doi:<doi> | cites:<n>
```

Example:

```
Hebbian Memory-Augmented Recurrent Networks — Szelogowski (2025) arXiv:2507.21474 | doi:10.48550/arXiv.2507.21474 | cites:2
HeLa-Mem: Hebbian Learning and Associative Memory for LLM Agents — Zhu, Li, Zhang et al. (2026) arXiv:2604.16839 | ACL 2026 | cites:0
```

## Cost ceiling rules

```
FREE budget      -> unlimited (arxiv, S2, openalex, crossref, EPMC, pubmed, unpaywall, orcid, ror, dblp, openlibrary, internet_archive_search, oreilly_search/oreilly_books_search)
$0.005 exa       -> OK if free returned <3 hits OR semantic query needs neural
$0.004 parallel  -> OK only for multi-hop chains (pattern B with patent-grade ask)
$0.01 tavily     -> last resort only
WebFetch         -> NEVER (~50K tokens = $0.25 equivalent in context)
```

## Test evidence (2026-04-24, query: "Hebbian learning LLM memory")

| Tool                                                             | Hits      | Top result                                                                                                                                                  | Cost                                  |
| ---------------------------------------------------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------- |
| arxiv_search (sort=submittedDate)                                | 2         | HeLa-Mem (2026-04-18, ACL 2026)                                                                                                                             | FREE                                  |
| semantic_scholar                                                 | 11,990    | Hebbian Memory-Augmented RNN (2025, cites:2)                                                                                                                | FREE                                  |
| openalex_search_works (2024-26)                                  | 261       | HeLa-Mem                                                                                                                                                    | FREE but 113KB payload — USE `select` |
| crossref_search_works                                            | 3,080,234 | Short-term Hebbian ~ transformer attention (Ellwood 2023, PLoS)                                                                                             | FREE                                  |
| europepmc_search                                                 | 5,553     | Anti-Hebbian replay (Hippocampus 2026) — all biomed                                                                                                         | FREE                                  |
| pubmed_search                                                    | 539       | biomed-only, PMID list only                                                                                                                                 | FREE                                  |
| dblp_search                                                      | **0**     | — (DBLP too conservative for fresh preprint queries)                                                                                                        | FREE                                  |
| exa_search category=research_paper                               | 2         | HeLa-Mem arxiv abs URL                                                                                                                                      | $0.007                                |
| unpaywall_find_open (arXiv DOI)                                  | 404       | — (doesn't index arXiv DOIs)                                                                                                                                | FREE                                  |
| unpaywall_find_open (publisher DOI 10.1371/journal.pcbi.1011843) | gold OA   | PLoS PDF + PMC mirror + DOAJ                                                                                                                                | FREE                                  |
| internet_archive_search mediatype:texts                          | 93        | archived patents/proceedings and older neural-memory/Hebbian-learning texts, e.g. dHAN associative thought (2007) and visual-cortex Hebbian learning (2005) | FREE                                  |
| oreilly_search `"LLM memory" OR "AI agents memory"`              | 28        | AI Agents and Applications ch.14 "Productionizing AI agents: Memory, guardrails, and beyond"; Hands-On GenAI appendix "LLM Memory Requirements"             | FREE                                  |

**Winning combo for this query**: Pattern A core (`arxiv_search` + `semantic_scholar`)
plus conditional free fanout. `internet_archive_search` adds older/pre-current-keyword
and patent/proceedings context; `oreilly_search` adds practitioner LLM/agent-memory
chapters. No paid escalation needed when these free fanouts produce useful context.
dblp was 0-hit noise; crossref found a 2023 paper the others missed via keyword ranking
so it's worth as a 3rd cross-check for survey/prior-art.

## Composition

- Metric-hill-climb of a target file -> use `autoresearch` skill (different tool).
- Debate/multi-perspective decisions -> use `swarm-templates/research-council`.
- Autonomous discovery loop -> use `/!:discover` or `/!:autoresearch` (slash command).
- This skill = **literature search orchestration only**.

## Quick recipes

```
# "SOTA map of hebbian memory"
-> Pattern B with year=2023-2026, top-10 by (year, cites)

# "Find papers by Hinton on forward-forward"
-> openalex_get_author "Geoffrey Hinton" -> filter works by title contains "forward-forward"
   OR semantic_scholar query "forward-forward Hinton"

# "Is DOI 10.1038/nature12373 open access?"
-> unpaywall_find_open doi=10.1038/nature12373 email=parm@iki.fi
   (returns best_oa_location.url_for_pdf if OA)

# "Recent CS papers about X (last 30 days)"
-> arxiv_search search_query="all:X AND cat:cs.*" sortBy=submittedDate max_results=20
```

**2026.05.05** | supersedes `Academic: context7 | arXiv` line in core-minimal.md

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.