DeepXiv Paper Search & Progressive Reading
SkillSearchLets your agent search open-access academic papers and read them section by section instead of all at once.
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the DeepXiv Paper Search & Progressive Reading skill
About this skill
Search and progressively read open-access academic papers through DeepXiv. Use when the user wants layered paper access, section-level reading, trending papers, or DeepXiv-backed literature retrieval.
What this skill tells your AI
The instructions your AI receives, as published by wanshuiyin/auto-claude-code-research-in-sleep in skills/deepxiv/SKILL.md and read by ahel’s review.
Search topic or paper ID: $ARGUMENTS
Role & Positioning
DeepXiv is the progressive-reading literature source:
| Skill | Source | Best for |
|---|---|---|
/arxiv | arXiv API | Batch search, PDF download, metadata |
/deepxiv | DeepXiv SDK | Progressive section-level reading |
/semantic-scholar | S2 API | Published venue metadata, citation counts |
/alphaxiv | www.alphaxiv.org | Instant LLM-optimized summary of one paper, with LaTeX source fallback |
Use DeepXiv when you want to avoid loading full papers too early.
Constants
- DEEPXIV_FETCHER — canonical name
deepxiv_fetch.py, resolved pershared-references/integration-contract.md§2 (Policy D1 — primary + fallback cascade). If unresolved (canonical chain exhausted), fall back to the rawdeepxivCLI (documented per command below). - MAX_RESULTS = 10 — Default number of results to return.
Overrides (append to arguments):
/deepxiv "agent memory" - max: 5— top 5 results/deepxiv "2409.05591" - brief— quick paper summary/deepxiv "2409.05591" - head— metadata + section overview/deepxiv "2409.05591" - section: Introduction— read one section only/deepxiv "trending" - days: 14 - max: 10— trending papers/deepxiv "karpathy" - web— DeepXiv web search/deepxiv "258001" - sc— Semantic Scholar metadata by ID
Setup
DeepXiv is optional. If the CLI is not installed, tell the user:
pip install deepxiv-sdk
On first use, deepxiv auto-registers a free token and stores it in ~/.env.
Workflow
Step 1: Parse Arguments
Parse $ARGUMENTS for:
- Query or ID: a paper topic, arXiv ID, or Semantic Scholar ID
- max: N: overrideMAX_RESULTS- brief: fetch paper brief- head: fetch metadata and section map- section: NAME: fetch one named section- trendingor querytrending: fetch trending papers- days: 7|14|30: trending time window- web: run DeepXiv web search- sc: fetch Semantic Scholar metadata by ID
If the main argument looks like an arXiv ID and no explicit mode is given, default to - brief.
Step 2: Locate the Adapter
Resolve $DEEPXIV_FETCHER via the canonical strict-safe chain (see
shared-references/integration-contract.md §2).
Policy D1 cascade: the resolved adapter is preferred; if unresolved
(canonical chain exhausted), fall back to raw deepxiv CLI commands
documented in Step 3.
cd "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" || exit 1
if [ -z "${ARIS_REPO:-}" ] && [ -f .aris/installed-skills.txt ]; then
ARIS_REPO=$(awk -F'\t' '$1=="repo_root"{print $2; exit}' .aris/installed-skills.txt 2>/dev/null) || true
fi
if [ -z "${ARIS_REPO:-}" ] && [ -f "$HOME/.aris/repo" ]; then
ARIS_REPO=$(cat "$HOME/.aris/repo" 2>/dev/null) || true
fi
DEEPXIV_FETCHER=".aris/tools/deepxiv_fetch.py"
[ -f "$DEEPXIV_FETCHER" ] || DEEPXIV_FETCHER="tools/deepxiv_fetch.py"
[ -f "$DEEPXIV_FETCHER" ] || { [ -n "${ARIS_REPO:-}" ] && DEEPXIV_FETCHER="$ARIS_REPO/tools/deepxiv_fetch.py"; }
[ -f "$DEEPXIV_FETCHER" ] || DEEPXIV_FETCHER=""
# Smoke test (optional — adapter resolution shown to user). The cascade
# in Step 3 below branches purely on `[ -n "$DEEPXIV_FETCHER" ]`; a
# resolved-but-non-functional adapter is not currently auto-demoted.
if [ -n "$DEEPXIV_FETCHER" ]; then
echo "DeepXiv adapter resolved at: $DEEPXIV_FETCHER" >&2
else
echo "DeepXiv adapter unresolved (canonical chain exhausted); raw deepxiv CLI fallback will be used." >&2
fi
Step 3: Execute the Minimal Command
Search papers
python3 "$DEEPXIV_FETCHER" search "QUERY" --max MAX_RESULTS
Fallback:
deepxiv search "QUERY" --limit MAX_RESULTS --format json
Brief summary
python3 "$DEEPXIV_FETCHER" paper-brief ARXIV_ID
Fallback:
deepxiv paper ARXIV_ID --brief --format json
Section map
python3 "$DEEPXIV_FETCHER" paper-head ARXIV_ID
Fallback:
deepxiv paper ARXIV_ID --head --format json
Specific section
python3 "$DEEPXIV_FETCHER" paper-section ARXIV_ID "SECTION_NAME"
Fallback:
deepxiv paper ARXIV_ID --section "SECTION_NAME" --format json
Trending
python3 "$DEEPXIV_FETCHER" trending --days 7 --max MAX_RESULTS
Fallback:
deepxiv trending --days 7 --limit MAX_RESULTS --output json
Web search
python3 "$DEEPXIV_FETCHER" wsearch "QUERY"
Fallback:
deepxiv wsearch "QUERY" --output json
Semantic Scholar metadata
python3 "$DEEPXIV_FETCHER" sc "SEMANTIC_SCHOLAR_ID"
Fallback:
deepxiv sc "SEMANTIC_SCHOLAR_ID" --output json
Step 4: Present Results
When searching, present a compact table:
| # | ID | Title | Year | Citations | Notes |
|---|----|-------|------|-----------|-------|
When reading a paper, show:
- title
- arXiv ID
- authors
- venue/date if available
- TLDR or abstract summary
- suggested next step:
brief→head→section
Step 5: Escalate Depth Only When Needed
Use this progression:
searchpaper-briefpaper-headpaper-section- full paper only if necessary
Do not jump to full-paper reads when a brief or one section answers the question.
Step 6: Update Research Wiki (if active)
Required when research-wiki/ exists in the project; skip silently
otherwise. When the wiki dir exists, resolve $WIKI_SCRIPT per the
canonical chain at
shared-references/wiki-helper-resolution.md
(Variant B — warn-and-skip). Ingest papers that were meaningfully
read (brief / head / section / full) during this invocation — mere
search hits without a depth read do not need ingestion:
if [ -d research-wiki/ ]; then
cd "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" || exit 1
ARIS_REPO="${ARIS_REPO:-$(awk -F'\t' '$1=="repo_root"{print $2; exit}' .aris/installed-skills.txt 2>/dev/null)}"
if [ -z "${ARIS_REPO:-}" ] && [ -f "$HOME/.aris/repo" ]; then
ARIS_REPO=$(cat "$HOME/.aris/repo" 2>/dev/null) || true
fi
WIKI_SCRIPT=".aris/tools/research_wiki.py"
[ -f "$WIKI_SCRIPT" ] || WIKI_SCRIPT="tools/research_wiki.py"
[ -f "$WIKI_SCRIPT" ] || { [ -n "${ARIS_REPO:-}" ] && WIKI_SCRIPT="$ARIS_REPO/tools/research_wiki.py"; }
[ -f "$WIKI_SCRIPT" ] || {
echo "WARN: research_wiki.py not found; depth-read summary delivered, wiki ingest skipped. Fix: bash tools/install_aris.sh or smart_update.sh (refreshes ~/.aris/repo), export ARIS_REPO, or cp <ARIS-repo>/tools/research_wiki.py tools/." >&2
WIKI_SCRIPT=""
}
if [ -n "$WIKI_SCRIPT" ]; then
for each arxiv_id the user asked this skill to read in depth:
python3 "$WIKI_SCRIPT" ingest_paper research-wiki/ \
--arxiv-id "<arxiv_id>"
fi
fi
The helper handles metadata / slug / dedup / page / index / log in one
call — do not handwrite papers/<slug>.md. See
shared-references/integration-contract.md.
Backfill missed ingests with
python3 "$WIKI_SCRIPT" sync research-wiki/ --arxiv-ids <id1>,<id2>,...
after resolving $WIKI_SCRIPT as above.
Key Rules
- Prefer the adapter script over raw
deepxivcommands when available. - DeepXiv is optional. If unavailable, give the install command and suggest
/arxivor/research-lit "topic" - sources: web. - Use section-level reads to save tokens.
- Treat DeepXiv as complementary to
/arxivand/semantic-scholar, not a replacement. - If the result overlaps with a published venue paper from Semantic Scholar, keep the richer venue metadata in the final summary.
Signals
- GitHub stars
- 17k
- Forks
- 1k
- Last commit
- Sep 2026
ahel review
K1binfo
installs-packages
Automated review, not a security audit. Ruleset v1+k2.
Advanced
- Item type
- skill
- Key
deepxiv-wanshuiyin- Source
- github.com/wanshuiyin/auto-claude-code-research-in-sleep
github.com/wanshuiyin/auto-claude-code-research-in-sleep
Related picks
Skill · davila7
The pick for PDFpdf-explore
Skill · xuzhougeng
The pick for PDFlatex-posters
Skill · k-dense-ai
The pick for LaTeXlatex-conference-template-organizer
Skill · galaxy-dawn
The pick for LaTeXsearch
Skill · davila7
The pick for Searchsummarize
Skill · zhouguoqing
The pick for Summarize