Skip to content
Automation
Skill

/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.

From plugin
auto-claude-code-research-in-sleep
14k187 skills
Install
$ npx -y skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill deepxiv --agent claude-code

How 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.md
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
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:

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
Ships withauto-claude-code-research-in-sleep

· · · · · · -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

Get the whole plugin
Stats
14,445
Stars
1,280
Forks
Active
Maintenance
Python
Language
MIT
License
11h ago
Last commit
5mo ago
Created

Repo: wanshuiyin/Auto-claude-code-research-in-sleep