/deepxiv
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.
$ npx -y skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill deepxiv --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/deepxiv
Context preview
The summary Claude sees to decide when to auto-load 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.
SKILL.md
deepxiv.SKILL.mdname: deepxiv
description: 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.
argument-hint: "[query-or-paper-id]"
allowed-tools: Bash(*), Read, Write
DeepXiv Paper Search & Progressive Reading
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` | 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 per
[`shared-references/integration-contract.md`](../shared-references/integration-contract.md) §2 (Policy D1 — primary + fallback cascade). If unresolved (canonical chain exhausted), fall back to the raw `deepxiv` CLI (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`**: override `MAX_RESULTS`
- **`- brief`**: fetch paper brief
- **`- head`**: fetch metadata and section map
- **`- section: NAME`**: fetch one named section
- **`- trending`** or query `trending`: 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`](../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
fiStep 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:
1. `search` 2. `paper-brief` 3. `paper-head` 4. `paper-section` 5. 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
Read more
name: deepxiv description: 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. argument-hint: "[query-or-paper-id]" allowed-tools: Bash(*), Read, Write
DeepXiv Paper Search & Progressive Reading
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` | 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 per
[`shared-references/integration-contract.md`](../shared-references/integration-contract.md) §2 (Policy D1 — primary + fallback cascade). If unresolved (canonical chain exhausted), fall back to the raw `deepxiv` CLI (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`**: override `MAX_RESULTS`
- **`- brief`**: fetch paper brief
- **`- head`**: fetch metadata and section map
- **`- section: NAME`**: fetch one named section
- **`- trending`** or query `trending`: 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`](../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
fiStep 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:
1. `search` 2. `paper-brief` 3. `paper-head` 4. `paper-section` 5. 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
· · · · · · -orange?style=flat) · · 💬 Join Community · 💡 Use ARIS as a skill-based workflow in Claude Code / Codex CLI / Cursor / Trae / Antigravity / GitHub Copilot CLI / OpenClaw, or get the full experience with the standalone ARIS-Code CLI — enjoy any
Other skills on auto-claude-code-research-in-sleep.
- /ablation-planner
Use when main results pass result-to-claim (claim_supported=yes or partial) and ablation studies are needed for paper submission.
Open skill - /alphaxiv
Quick single-paper lookup via AlphaXiv LLM-optimized summaries with tiered source fallback. Use when user says "explain this paper", "summarize paper", pastes an arXiv/AlphaXiv URL, or provides a bare arXiv ID for quick understanding - not for broad literature search.
Open skill - /analyze-results
Analyze ML experiment results, compute statistics, generate comparison tables and insights. Use when user says "analyze results", "compare", or needs to interpret experimental data.
Open skill - /arxiv
Search, download, and summarize academic papers from arXiv. Use when user says "search arxiv", "download paper", "fetch arxiv", "arxiv search", "get paper pdf", or wants to find and save papers from arXiv to the local paper library.
Open skill - /auto-paper-improvement-loop
Autonomously improve a generated paper via GPT-5.6-Sol xhigh review → implement fixes → recompile, for 2 rounds. Use when user says \"改论文\", \"improve paper\", \"论文润色循环\", \"auto improve\", or wants to iteratively polish a generated paper.
Open skill - /auto-review-loop-llm
Autonomous research review loop using any OpenAI-compatible LLM API. Configure via llm-chat MCP server or environment variables. Trigger with "auto review loop llm" or "llm review".
Open skill

