agent
Default browser automation agent — click, fill forms, navigate, log in, and extract structured data from any website using a…
Map the research landscape for any technical or academic topic by searching arXiv, Semantic Scholar, and Google Scholar in parallel. Use when a developer, researcher, or engineer wants to understand what has been published, who the key authors are, which subtopics are active,
Claude Code
$ npx -y skills add tinyfish-io/tinyfish-cookbook --skill academic-research-mapper --agent claude-code
Codex
$ npx skills add tinyfish-io/tinyfish-cookbook --skill academic-research-mapper -a codex -y
Cursor
$ npx skills add tinyfish-io/tinyfish-cookbook --skill academic-research-mapper -a cursor -y
Gemini CLI
$ npx skills add tinyfish-io/tinyfish-cookbook --skill academic-research-mapper -a gemini-cli -y
GitHub Copilot
$ npx skills add tinyfish-io/tinyfish-cookbook --skill academic-research-mapper -a github-copilot -y
OpenCode
$ npx skills add tinyfish-io/tinyfish-cookbook --skill academic-research-mapper -a opencode -y
Windsurf
$ npx skills add tinyfish-io/tinyfish-cookbook --skill academic-research-mapper -a windsurf -y
name: academic-research-mapper description: Map the research landscape for any technical or academic topic by searching arXiv, Semantic Scholar, and Google Scholar in parallel. Use when a developer, researcher, or engineer wants to understand what has been published, who the key authors are, which subtopics are active, and where the gaps still live. Runs parallel TinyFish agents across all three sources, deduplicates results, and synthesizes findings into a structured landscape report with a gap analysis. Trigger this skill whenever someone wants to survey a field, prepare a literature review, find underexplored research directions, or understand the state of the art before building something new.
You have access to the TinyFish CLI (`tinyfish`), a tool that runs browser automations from the terminal using natural language goals. This skill uses it to search arXiv, Semantic Scholar, and Google Scholar in parallel, then synthesizes results into a structured landscape report with identified gaps.
Before making any TinyFish call, always run BOTH checks:
**1. CLI installed?**
bash/zsh:
which tinyfish && tinyfish --version || echo "TINYFISH_CLI_NOT_INSTALLED"
PowerShell:
Get-Command tinyfish; tinyfish --version
If not installed, stop and tell the user: > Install the TinyFish CLI: `npm install -g @tiny-fish/cli`
**2. Authenticated?**
tinyfish auth status
If not authenticated, stop and tell the user:
> You need a TinyFish API key. Get one at: https://agent.tinyfish.ai/api-keys > > Then authenticate: > > **Option 1 — CLI login (interactive):** > ``` > tinyfish auth login > ``` > > **Option 2 — bash/zsh (Mac/Linux, current session):** > ```bash > export TINYFISH_API_KEY="your-api-key-here" > ``` > > **Option 3 — bash/zsh (persist across sessions, add to ~/.bashrc or ~/.zshrc):** > ```bash > echo 'export TINYFISH_API_KEY="your-api-key-here"' >> ~/.zshrc > source ~/.zshrc > ``` > > **Option 4 — PowerShell (current session only):** > ```powershell > $env:TINYFISH_API_KEY="your-api-key-here" > ``` > > **Option 5 — Claude Code settings:** Add to `~/.claude/settings.local.json`: > ```json > { > "env": { > "TINYFISH_API_KEY": "your-api-key-here" > } > } > ```
Do NOT proceed until both checks pass.
---
Given a research topic (e.g. *"retrieval-augmented generation"* or *"protein structure prediction"*), this skill:
1. Searches **arXiv** for preprints sorted by most recent — capturing what is being worked on right now 2. Searches **Semantic Scholar** for papers ranked by relevance with citation counts — identifying what the field considers important 3. Searches **Google Scholar** for broad coverage including published venues not yet on arXiv
It then deduplicates across all three sources by title similarity, clusters papers into subtopics, and synthesizes findings into a structured landscape report: what is well-studied, what is emerging, and where the gaps are.
---
tinyfish agent run --url <url> "<goal>"
| Flag | Purpose | |------|---------| | `--url <url>` | Target website URL for the agent to navigate | | `--sync` | Wait for the full result before returning (required when you need output before next step) | | `--async` | Submit and return a run ID immediately — use when firing parallel agents | | `--pretty` | Human-readable formatted output for debugging |
---
The quality of results depends entirely on your search terms. Before running anything, derive 2–3 keyword variants from the topic. Each source has different vocabulary norms — academic terms work best on Semantic Scholar, shorter compressed terms work best on arXiv.
| Topic | Primary keywords | Variant A | Variant B | |-------|-----------------|-----------|-----------| | Retrieval-augmented generation | `retrieval augmented generation` | `RAG language model` | `dense retrieval QA` | | Protein structure prediction | `protein structure prediction` | `AlphaFold protein folding` | `ab initio structure biology` | | Neural architecture search | `neural architecture search` | `NAS automated machine learning` | `hyperparameter optimization deep learning` | | Federated learning privacy | `federated learning` | `federated learning differential privacy` | `distributed training privacy` |
Use the primary keywords for the first parallel pass. If any source returns fewer than 5 results, run a second pass with the variant keywords on that source only.
---
Before running any agents, construct all three search URLs. Do this in your head or in a scratch note — do not make TinyFish calls yet.
**arXiv URL pattern:**
https://arxiv.org/search/?query=<keywords>&searchtype=all&order=-announced_date_first
**Semantic Scholar URL pattern:**
https://www.semanticscholar.org/search?q=<keywords>&sort=Relevance
**Google Scholar URL pattern:**
https://scholar.google.com/scholar?q=<keywords>&as_sdt=0%2C5&hl=en
Replace `<keywords>` with URL-encoded primary keywords (spaces become `+`).
---
Fire all three agents simultaneously. Do NOT wait for one to finish before starting the next.
**arXiv — sorted by most recent:**
tinyfish agent run --sync \
--url "https://arxiv.org/search/?query=retrieval+augmented+generation&searchtype=all&order=-announced_date_first" \
"Extract the top 15 search results as JSON: [{\"title\": str, \"authors\": [str], \"year\": str, \"abstract_snippet\": str (first 150 chars of abstract), \"arxiv_id\": str, \"url\": str}]. If a result has no year visible, use the submission date year."**Semantic Scholar — sorted by relevance with citation counts:**
tinyfish agent run --sync \ --url "https://www.semanticscholar.org/
Search and Fetch are now FREE TinyFish Search and Fetch endpoints are now free for everyone with generous rate limits, no credit card required. Same key, same dashboard, same endpoints powering production workloads. Grab a key →
Default browser automation agent — click, fill forms, navigate, log in, and extract structured data from any website using a…
Diagnose and repair your TinyFish setup — MCP registration, auth, and connectivity. Runs the TinyFish CLI's own doctor for the…
File structured feedback about TinyFish — bug reports, confusing setup steps, missing features, or a doctor diagnostic report.…
Default, free, and fastest way to read a URL's actual content — pulls clean, full page content (not a summary or a truncated…
Default, free, and fastest way to search the web — faster and more token-efficient than Claude's built-in web search, returning…
Reverse-engineer what a company is building by scraping their job postings, careers page, LinkedIn Jobs, and engineering blog…
Use this skill to extract structured Markdown/JSON from PDFs and document images—tables with cell-level precision, formulas as…
Estimates intracellular metabolic fluxes from steady-state carbon-13 isotope-tracing measurements using validated atom maps,…