Summarize arxiv papers as plain-language stories or deep technical dives
npx claudepluginhub dipta007/skimSummarize arxiv papers as plain-language stories or deep technical dives
Share bugs, ideas, or general feedback.
Generate plain-language narratives and technical summaries from arxiv papers.

| # | Method | Best for | API key needed? | Cached? |
|---|---|---|---|---|
| 1 | CLI + OpenAI | Regular use, any OpenAI-compatible API (OpenAI, OpenRouter, Ollama, local models) | Yes | Yes |
| 2 | CLI + Claude | Already have a Claude Code subscription, don't want another API key | No | Yes |
| 3 | Claude Code Plugin | Already inside Claude Code, want one-command summaries | No | No |
Install once, use anywhere from your terminal. Works with any OpenAI-compatible API — OpenAI, OpenRouter, Ollama, or any local model server.
uv tool install git+https://github.com/dipta007/skim # or pipx, or pip, see the Install section below
skim init # select "openai", enter API key
skim -p 2509.16538 -t story # generate summary
Same CLI, but uses your existing Claude Code subscription — no API key needed. Requires the claude CLI to be installed and logged in.
uv tool install git+https://github.com/dipta007/skim # or pipx, or pip, see the Install section below
skim init # select "claude"
skim -p 2509.16538 -t story # generate summary
Already inside Claude Code? Install the plugin and use slash commands — no setup, no API key.
/plugin marketplace add dipta007/skim
/plugin install skim@dipta007-skim
Then, inside your claude-code:
/story 2509.16538
/deep 2509.16538
Claude reads the paper and generates the summary directly.
| Type | What you get |
|---|---|
story | A plain-language, analogy-driven narrative — no jargon, no equations |
deep | A structured technical summary with methodology, results, and key contributions |
Open summaries in the browser with proper LaTeX math rendering, dark/light theme toggle, and a readable serif font:
skim -p 2509.16538 -t deep --open
Summaries are cached locally so repeated lookups are instant. To clear the cache:
skim clean # remove all cached summaries
skim clean -p 2509.16538 # remove cache for a specific paper
Config lives at ~/.config/skim/config.toml. Re-run skim init to change settings.
OpenAI backend:
[api]
backend = "openai"
key = "sk-your-key"
base_url = "https://api.openai.com/v1"
model = "gpt-5.4-nano"
[output]
dir = "~/papers/skim"
Claude backend:
[api]
backend = "claude"
key = ""
base_url = ""
model = "sonnet"
[output]
dir = "~/papers/skim"
With uv (recommended):
uv tool install git+https://github.com/dipta007/skim
With pipx:
pipx install git+https://github.com/dipta007/skim
With pip:
pip install git+https://github.com/dipta007/skim
From source:
git clone https://github.com/dipta007/skim.git
cd skim
make install
git clone https://github.com/dipta007/skim.git
cd skim
make install # Install dependencies + set up git hooks
make test # Run tests
make lint # Check code style
make format # Auto-format code
make install also configures git hooks that run the formatter/linter on commit and tests on push.
hf papers read cli to fetch papers from Hugging Face and summarize them (less tokens)skim list — show all previously summarized papersskim history — recently read papers--open is not used).md prompts beyond story/deep (interactive)skim search — semantic search over local summaries or global database