Sandbox
@alaliqing/claude-paper

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.

336 stars26 forksVueUpdated 1mo ago
Who it's for

Builders who want Claude Code, Codex, or OpenCode to handle research papers the same way across sessions.

What it delivers

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

  1. 1Install Claude Code, Codex, OpenCode, and DeepSeek Harness with one command—no…
    npx --yes @zlzliqing/claude-paper@latest install
  2. 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
  3. 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
  4. 4If you only use Claude Code, you can still install directly from its marketplace
    /plugin marketplace add alaliqing/claude-paper
    /plugin install claude-paper
  5. 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
  6. 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

English | 中文

License: MIT Node Version Agent Skills

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
Library View - Browse and search your paper collection
Reading View
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.txt while 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 all or claude-code is 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

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:

  1. Parse the PDF and extract metadata
  2. Analyze paper complexity and type
  3. Generate adaptive learning materials
  4. Create code demonstrations (if applicable)
  5. Extract and include original code (if available)
  6. Extract key figures and images
  7. Update the global search index
  8. 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

  1. Study Skill - Main workflow agent that orchestrates deep paper processing
  2. Summary Skill - Concise paper-screening workflow
  3. PDF Parser - Extracts text, metadata, and code links using pdf-parse
  4. Image Extractor - Python script for PDF figure extraction
  5. Web Viewer - Nuxt.js application with Nitro API server
  6. Hooks System - Claude Code lifecycle setup
  7. 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,000 characters; complete extracted text remains in paper.txt

Advanced Customization

You can modify behavior by editing the skill file at: plugin/skills/study/SKILL.md


Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Add tests if applicable
  5. Commit your changes (git commit -m 'add amazing feature')
  6. Push to the branch (git push origin feature/amazing-feature)
  7. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.


Acknowledgments

Files in the repo

Repository payload15 top-level entries
  • .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 it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More plugins

Makes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote.

138k
1 add

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.

82k
code-yeongyu/
oh-my-openagent

OmO: Just type "mass ulw" keyword with your prompt. Now you are the master of graph engineering.

69k

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

94k

Opinionated Oxlint rules for rejecting low-evidence TypeScript and JavaScript patterns

4.3k