academic-slides
Use this skill for creating or refining an academic slide deck and the talk built around it:…
Find and read academic papers (S2 + arXiv). Disambiguate ambiguous queries, search by keyword + citation graph + recommendations + snippets, judge relevance against an authored rubric, and read with L1/L2/L3 strategy. Trigger phrases: find papers, search papers, related work,
$ npx -y skills add evoscientist/evoskills --skill paper-navigator --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/paper-navigatorContext preview
The summary Claude sees to decide when to auto-load this skill.
Find and read academic papers (S2 + arXiv). Disambiguate ambiguous queries, search by keyword + citation graph + recommendations + snippets, judge relevance against an authored rubric, and read with L1/L2/L3 strategy. Trigger phrases: find papers, search papers, related work,
name: paper-navigator description: "Find and read academic papers (S2 + arXiv). Disambiguate ambiguous queries, search by keyword + citation graph + recommendations + snippets, judge relevance against an authored rubric, and read with L1/L2/L3 strategy. Trigger phrases: find papers, search papers, related work, citation analysis, recent advances, read this paper, baseline with code. Do NOT use for: survey reports (research-survey), idea generation (research-ideation), Related Work sections (paper-writing)." allowed-tools: "write_file edit_file read_file think_tool execute" metadata: author: EvoScientist version: '3.4.0' tags: [core, research, literature, papers, search, rubric]
Find and read academic papers. Route by **intent**, judge by **relevance**.
User
│
▼
┌── Router ──┐
│ │
▼ ▼
POINT LIST/ITERATIVE
(1 paper) (Probe + up to 3 paper rounds:
R2 breadth / R3 deepen / R4 close)The agent does relevance judgment — no LLM-as-judge is called, no numeric scoring. You author the rubric, you triage each paper, you rank by relevance.
Scripts at `skills/paper-navigator/scripts/`. Run via `python skills/paper-navigator/scripts/<name>.py`.
arXiv access (`arxiv_monitor`, `scholar_search` fallback) uses the DeepXiv SDK: `pip install deepxiv-sdk`, then `deepxiv token` once to provision a **free** API token (saved to `~/.env`). The skill reads the token from `DEEPXIV_API_TOKEN`/`DEEPXIV_TOKEN` in the environment, or from `./.env` / `~/.env`.
| Env var | Used by | Notes | |---|---|---| | `S2_API_KEY` | All S2 scripts | Without it: `scholar_search` falls back to arXiv (via DeepXiv); `citation_traverse` / `recommend` / `snippet_search` are disabled | | `DEEPXIV_API_TOKEN` | `arxiv_monitor`, `scholar_search` fallback | Get a free token: `deepxiv token` (writes `~/.env`). Also read from `DEEPXIV_TOKEN` and `./.env`/`~/.env`. ~10,000 req/day | | `JINA_API_KEY` | `fetch_paper` | Free tier works without key | | `GITHUB_TOKEN` | `github_search`, `find_code` | Higher rate limits | | `PAPER_NAV_PAPERS_DIR` | `fetch_paper` full text | No default — set or pass `--metadata-only` |
Full env-var list: `references/env-vars.md`.
---
1. **Track history.** Don't re-run a query you already ran. Empty result → change angle, not synonyms. 2. **Search a gap, not a vibe.** Every query maps to one missing piece of information. No stacked-keyword bags. 3. **One query = one concept.** Split comparisons (`A vs B`), multi-property asks, and multi-year spans into separate calls. 4. **Never hallucinate.** Every fact (title, author, year, citation count, content) comes from a tool result. 5. **Quote-or-zero.** When you claim a paper meets a criterion, quote a ≤80-char span from its abstract / tldr / snippet. No quote → do not claim the paper meets that criterion. (This guards against hallucination; it does not drive a numeric score.)
---
| Branch | User signal | Cadence | Output | |---|---|---|---| | **POINT** | Title quoted, URL, arXiv/DOI/PMID/S2 ID, "read this paper" | 1 call | Paper Card | | **LIST** (default) | "find papers about X", "is there a paper that …?", "papers satisfying A and B" | Probe + up to 3 rounds (R2/R3/R4) | Shortlist with per-criterion evidence | | **ITERATIVE** | "survey of X", "30+ papers on Y", called from `research-survey` / `research-ideation` | Probe + up to 3 rounds (R2/R3/R4) | Ranked table (hand off to research-survey for the report) |
**Default to LIST when unsure.** Don't add `survey` / `review` to LIST queries — it down-ranks the canonical research papers the user wants.
**Output format follows the caller:** the Output column above is the structured form (skill callers). Direct user calls default to **Narrative** — see Step 6 "Output mode".
Ambiguous query (project nickname, codename, single capitalized word with zero hits) → run `scholar_search` exact + web/GitHub search first to resolve identifiers, then re-route.
---
| Input | Command | Output | |---|---|---| | URL | `python scripts/fetch_paper.py --url <URL>` | Paper Card + reading notes (see `references/reading-strategy.md` for L1/L2/L3) | | Title quoted | `python scripts/match_paper_by_title.py --title "<title>"` (add `--fallback-search` for typos) | Paper Card | | Bare ID (arXiv / DOI / S2 / CorpusId) | `python scripts/fetch_paper.py --paper-id <ID> --metadata-only` | Paper Card |
**Paper Card:**
📄 **<Title>** Authors: <First Author> et al. | Year: <Y> | Venue: <V> Citations: <N> | ID: <ArXiv:xxxx.xxxxx> | DOI: <...> TLDR: <one sentence>
Stop here. Do not chain to citation expansion unless asked.
---
State in one sentence: the **research object** (specific technique / concept) and the **constraints** (domain, task, recency, exclusions). Confirm the router branch. When the user gives only a bare noun (concept / model / algorithm / benchmark name) with no direction, default intent is "trace the lineage" — foundations, evolution, current state — not applications or a generic `survey`.
Emit a structured block before any search. It persists across rounds and every later step references it.
RUBRIC for "<user query verbatim>" Branch: LIST | ITERATIVE Criteria (2–4, atomic; mark each [core] or [secondary]): C1 [core] <what the paper MUST do/be — one sentence> C2 [core] <...> C3 [secondary] <...> Named entities to preserve verbatim: [<ent1>, <ent2>, ...] Angle tags (3–5 sub-topic axes): [<tag1>, <tag2>, <tag3>] Recency signal: [none | recency cue — defined in Step 3] Disqualifiers: [<auto-reject if abstract shows this>]
Rules:
The official skill repository for EvoScientist. Each skill is an installable knowledge pack that extends EvoScientist with domain-specific expertise.
Use this skill for creating or refining an academic slide deck and the talk built around it:…
Manages persistent research memory across ideation and experimentation cycles. Maintains two…
Use this skill whenever the user submits a non-trivial mathematical claim that needs a…
Use this skill when the user wants to debug, diagnose, or systematically iterate on an…
Iterative code refinement through plan → code → evaluate → refine cycles. Runs lint checks…
Guides structured 4-stage experiment execution with attempt budgets and gate conditions:…