Makes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote.
Research paper plugin for Claude Code and Codex
Claude Paper turns a PDF into a paper library, a quick summary, a full study pack, and a local web viewer. It works by installing agent-specific skills, commands, hooks, and adapter files that keep the same workflow across supported agents.
Builders who want Claude Code, Codex, or OpenCode to handle research papers the same way across sessions.
You can study papers once and get the same summaries, notes, demos, and viewer no matter which agent you use.
What it does
PDF parsing
Extracts title, authors, abstract, links, and full paper text from a PDF.
Quick summaries
Creates a short screening summary in `quick-summary.md` before a deep study.
Adaptive study materials
Generates README, summary, insights, Q&A, and other notes based on paper complexity.
Code demonstrations
Builds clean reference implementations and notebook demos when the paper supports them.
Local web viewer
Provides a Nuxt.js viewer with math rendering for browsing studied papers at `http://localhost:5815`.
Cross-agent adapters
Ships manifests and generated wrappers so the same workflow works in Claude Code, Codex, OpenCode, and DeepSeek Harness.
How to get it
- 1Install Claude Code, Codex, OpenCode, and DeepSeek Harness with one command—no…
npx --yes @zlzliqing/claude-paper@latest install
- 2Install only selected agents when needed
npx --yes @zlzliqing/claude-paper@latest install --target claude-code npx --yes @zlzliqing/claude-paper@latest install --target codex npx --yes @zlzliqing/claude-paper@latest install --target opencode npx --yes @zlzliqing/claude-paper@latest install --target deepseek-harness
- 3Upgrade an existing installation with the same formal distribution channel
# Upgrade all supported agents npx --yes @zlzliqing/claude-paper@latest upgrade # Keep upgrading only the agents selected during installation npx --yes @zlzliqing/claude-paper@latest upgrade --target codex,opencode
- 4If you only use Claude Code, you can still install directly from its marketplace
/plugin marketplace add alaliqing/claude-paper /plugin install claude-paper
- 5Ask the selected agent for a quick summary, or use the host command directly
# Claude Code /claude-paper:summary /path/to/paper.pdf # OpenCode /claude-paper-summary /path/to/paper.pdf
- 6Simply ask the selected agent to study a paper
Help me study the paper at ~/Downloads/attention-is-all-you-need.pdf
README
Claude Paper
Transform research papers into comprehensive learning environments
A research-paper learning plugin for Claude Code, Codex, OpenCode, and DeepSeek Harness. It preserves the same study workflow, generated materials, code demonstrations, and interactive web viewer across supported agents.
Library View - Browse and search your paper collection |
Reading View - Study papers with rich formatting and math support |
Features
- Automatic PDF parsing - Extract title, authors, abstract, links, and complete paper text
- Context-safe previews - Save complete text to
paper.txtwhile keeping a 50k preview in metadata - Code repository detection - Automatically finds GitHub, arXiv, CodeOcean links
- Quick paper summaries - Screen a paper with a concise 300–500 word overview before a deep study
- Adaptive learning materials - Generates README, summary, insights, Q&A based on paper complexity
- Code demonstrations - Clean implementations with Jupyter notebooks and original code integration
- Interactive web viewer - Nuxt.js interface with math equation support (KaTeX)
- Intelligent assessment - Difficulty levels and paper type detection for adaptive content generation
Quick Start
Install all supported agents
Install Claude Code, Codex, OpenCode, and DeepSeek Harness with one command—no repository clone required:
npx --yes @zlzliqing/claude-paper@latest install
The default all target covers all four agents. For Claude Code, the installer uses the official Claude CLI to register the package-local marketplace and install or update the user-scoped plugin. For the other agents, it installs the shared Skills and OpenCode commands where applicable.
Install only selected agents when needed:
npx --yes @zlzliqing/claude-paper@latest install --target claude-code
npx --yes @zlzliqing/claude-paper@latest install --target codex
npx --yes @zlzliqing/claude-paper@latest install --target opencode
npx --yes @zlzliqing/claude-paper@latest install --target deepseek-harness
Upgrade an existing installation with the same formal distribution channel:
# Upgrade all supported agents
npx --yes @zlzliqing/claude-paper@latest upgrade
# Keep upgrading only the agents selected during installation
npx --yes @zlzliqing/claude-paper@latest upgrade --target codex,opencode
The default upgrade target is all. If the existing installation only targets selected agents, pass the same --target list during upgrade so no additional agent integrations are added.
The npm package copies its packaged plugin runtime to the user data directory, installs the generated compatibility Skills in ~/.agents/skills/ when a shared-Skills host is selected, and adds OpenCode commands when OpenCode is selected. It initializes ~/claude-papers/ only when the library does not already exist. Restart the selected agents after installation or upgrade.
Claude Code Marketplace-only alternative
If you only use Claude Code, you can still install directly from its marketplace:
/plugin marketplace add alaliqing/claude-paper
/plugin install claude-paper
Claude Paper currently runs through Agent Skills; no separate MCP server installation or configuration is required.
System Requirements
- Node.js: 20.19.x, or 22.12.0 and higher
- npm: Comes with Node.js
- Agent host: Claude Code, Codex, OpenCode, or DeepSeek Harness
- Claude Code CLI: Required when
allorclaude-codeis selected - poppler-utils: For PDF image extraction (install via system package manager)
- macOS:
brew install poppler - Ubuntu/Debian:
sudo apt-get install poppler-utils - Arch Linux:
sudo pacman -S poppler
- macOS:
Usage
Quickly Summarize a Research Paper
Ask the selected agent for a quick summary, or use the host command directly:
# Claude Code
/claude-paper:summary /path/to/paper.pdf
# OpenCode
/claude-paper-summary /path/to/paper.pdf
In Codex or DeepSeek Harness, ask for a quick paper summary or explicitly load the claude-paper-summary Skill. This creates quick-summary.md while preserving the PDF, complete paper.txt, and metadata in the shared paper library.
Study a Research Paper
Simply ask the selected agent to study a paper:
Help me study the paper at ~/Downloads/attention-is-all-you-need.pdf
You can also use URLs:
# Direct PDF URL
Help me study the paper at https://arxiv.org/pdf/1706.03762.pdf
# arXiv abstract URL (automatically converted to PDF)
Help me study the paper at https://arxiv.org/abs/1706.03762
The agent will automatically trigger the study workflow and:
- Parse the PDF and extract metadata
- Analyze paper complexity and type
- Generate adaptive learning materials
- Create code demonstrations (if applicable)
- Extract and include original code (if available)
- Extract key figures and images
- Update the global search index
- Launch the web viewer automatically
Launch Web Viewer
# Claude Code
/claude-paper:webui
# OpenCode
/claude-paper-webui
In Codex or DeepSeek Harness, ask the agent to start the Claude Paper web viewer or explicitly load the claude-paper-webui Skill.
Opens the interactive web interface at http://localhost:5815 where you can:
- Browse all studied papers
- View generated materials with math rendering
- Access code demonstrations and notebooks
- Search through your paper library
Paper Storage Structure
Papers are organized in ~/claude-papers/papers/{paper-slug}/:
~/claude-papers/
├── papers/
│ └── {paper-slug}/
│ ├── paper.pdf # Original PDF file
│ ├── paper.txt # Complete extracted text
│ ├── meta.json # Paper metadata (title, authors, etc.)
│ ├── quick-summary.md # Concise screening summary (quick workflow)
│ ├── README.md # Quick navigation and overview
│ ├── summary.md # Detailed summary
│ ├── insights.md # Key insights (most important!)
│ ├── method.md # Methodology (if complex)
│ ├── mental-model.md # Paper categorization (if needed)
│ ├── reflection.md # Future directions (if needed)
│ ├── qa.md # Learning questions
│ ├── index.html # Interactive HTML explorer
│ ├── images/ # Extracted figures and tables
│ │ ├── fig1.png
│ │ └── fig2.png
│ └── code/ # Code demonstrations
│ ├── core-demo.py # Clean reference implementation
│ └── concept-demo.ipynb # Interactive Jupyter notebook
│
└── index.json # Global search index
Architecture
Plugin Structure
claude-paper/
├── package.json # npm distribution manifest
├── bin/
│ └── claude-paper.mjs # npx install and upgrade entry point
├── .claude-plugin/
│ └── marketplace.json # Claude Code marketplace catalog
├── .codex-plugin/
│ └── plugin.json # Codex plugin manifest
├── .agents/skills/ # OpenCode and DSH discovery entries
├── .opencode/commands/ # OpenCode slash-command wrappers
├── skills/ # Codex packaged Skill adapters
├── scripts/
│ ├── sync-agent-adapters.mjs # Deterministic adapter generator
│ └── install-agent-adapters.mjs # Cross-agent installer and upgrader
├── plugin/
│ ├── .claude-plugin/
│ │ └── plugin.json # Plugin manifest
│ ├── skills/
│ │ ├── study/
│ │ │ ├── SKILL.md # Study workflow definition
│ │ │ └── scripts/
│ │ │ ├── parse-pdf.js # PDF parsing utility
│ │ │ └── extract-images.py # Image extraction
│ │ ├── summary/
│ │ │ └── SKILL.md # Quick summary workflow definition
│ │ └── webui/
│ │ └── SKILL.md # Web viewer workflow definition
│ ├── commands/
│ │ └── webui.md # /webui command
│ ├── hooks/
│ │ ├── hooks.json # Session lifecycle hooks
│ │ └── check-install.sh # Installation verification
│ ├── src/
│ │ └── web/ # Nuxt.js web viewer
│ │ ├── components/ # Vue components
│ │ ├── composables/ # Vue composables
│ │ ├── server/ # API endpoints
│ │ └── package.json
│ └── package.json
└── README.md
Key Components
- Study Skill - Main workflow agent that orchestrates deep paper processing
- Summary Skill - Concise paper-screening workflow
- PDF Parser - Extracts text, metadata, and code links using pdf-parse
- Image Extractor - Python script for PDF figure extraction
- Web Viewer - Nuxt.js application with Nitro API server
- Hooks System - Claude Code lifecycle setup
- Agent Adapters - Generated discovery and invocation wrappers for Codex, OpenCode, and DeepSeek Harness
Development
Running Tests
# Verify cross-agent adapters and reviewed canonical Claude Skills
npm test
# Verify generated adapters are synchronized
npm run check:adapters
# Test PDF parsing
node plugin/skills/study/scripts/parse-pdf.js /path/to/paper.pdf
# Test web viewer
cd plugin/src/web
npm run dev
# Test full workflow
cd /path/to/claude-paper
claude --plugin-dir ./plugin
/claude-paper:study /path/to/paper.pdf
Verifying the npm Distribution
# Runs adapter checks and tests before producing the publishable tarball
npm pack --dry-run
Building for Production
# Build web viewer
cd plugin/src/web
npm run build
# The built viewer will be in .output/
Configuration
Environment Variables
No configuration required! The plugin uses sensible defaults:
- Papers directory:
~/claude-papers/ - Web viewer port:
5815 - Metadata preview limit:
50,000characters; complete extracted text remains inpaper.txt
Advanced Customization
You can modify behavior by editing the skill file at:
plugin/skills/study/SKILL.md
Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Add tests if applicable
- Commit your changes (
git commit -m 'add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Built with Claude Code
- PDF parsing powered by pdf-parse
- Web viewer built with Nuxt.js
- Math rendering by KaTeX
Files in the repo
- .agents
- .claude-plugin
- .codex-plugin
- .opencode
- assets
- bin
- plugin
- scripts
- skills
- tests
- .npmignore
- LICENSE
- package.json
- README.md
- README.zh-CN.md
Discussion (0)
Ask about usage, or say what you built with itSign in to join the discussion.
No comments yet. Be the first to say what this is good for.
More plugins

Graphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
OmO: Just type "mass ulw" keyword with your prompt. Now you are the master of graph engineering.
Persistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
Opinionated Oxlint rules for rejecting low-evidence TypeScript and JavaScript patterns
Teams-first Multi-agent orchestration for Claude Code