by QuZhan51496
An agent skills pack that turns an academic paper PDF into slides, a poster, a webpage, a Xiaohongshu post, or a WeChat article (paper2slides/poster/html/xhs/wechat)
# Add to your Claude Code skills
git clone https://github.com/QuZhan51496/paper2anythingGuides for using ai agents skills like paper2anything.
paper2anything is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by QuZhan51496. An agent skills pack that turns an academic paper PDF into slides, a poster, a webpage, a Xiaohongshu post, or a WeChat article (paper2slides/poster/html/xhs/wechat). It has 71 GitHub stars.
paper2anything's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/QuZhan51496/paper2anything" and add it to your Claude Code skills directory (see the Installation section above).
paper2anything is primarily written in Python. It is open-source under QuZhan51496 on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh paper2anything against similar tools.
No comments yet. Be the first to share your thoughts!
Unlocks once the catalog security scan passes (runs nightly).
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
English | 简体中文
Showcase · Installation · Usage · Output locations · Directory structure · Contributors · Acknowledgements
A skills pack that turns an academic paper PDF into any of several promotional artifacts, covering the main forms of paper dissemination:
| Skill | Turns the paper into | Output | Trigger phrases (examples) |
|---|---|---|---|
| paper2slides | a presentation deck | .pptx |
"make slides from this paper", "generate a deck from this PDF", "deck this paper" |
| paper2poster | a conference poster | poster.html + poster.png |
"make a poster from this paper", "turn this paper into a poster" |
| paper2html | a single-page project homepage | index.html |
"turn this paper into a webpage", "generate a project page / landing page" |
| paper2xhs | a Xiaohongshu (RED) post | xhs_post.json/md + cover |
"post this paper to Xiaohongshu", "turn this paper into a RED post" |
| paper2wechat | a WeChat Official Account article | wechat_article.md/html + cover |
"write this paper as a WeChat article", "turn this paper into a WeChat post" |
Each subdirectory is an independent, auto-triggerable skill (each has its own SKILL.md).
A sample of paper2slides output — eight decks across diverse research fields (HCI / VR, computer vision, drug discovery, security & provenance, multimodal agents, quantum computing, optimization, and ML theory):
A sample of paper2poster output — nine posters, spanning nine research fields (drug design, graphics, HCI, materials science, X-ray inspection, NLP / LLM safety, optics & photonics, statistical ML, and computer vision):
One-command install with Claude Code (recommended):
bash tools/install-linux.sh --create-env --shell-init # Linux
bash tools/install-macos.sh --create-env --shell-init # macOS
The install script will: ① symlink the 5 skills into ~/.claude/skills/; ② bootstrap a .env from .env.example if you don't have one; ③ check the conda environment, system dependencies, and MINERU_API_TOKEN (used for paper extraction). What the two flags do (omit them if you don't need them):
--create-env: conda env create (updates per environment.yml if it already exists) + installs playwright chromium + runs a pip self-check;--shell-init: (optional) writes the .env auto-export into your shell startup file, so a new shell loads the credentials automatically.After it runs, follow the script's prompts for two more steps:
MINERU_API_TOKEN in .env (required);If you need to install manually (e.g. you only use one specific skill), here is the equivalent breakdown.
Symlink the skills you want into ~/.claude/skills/ so Claude Code can discover and auto-trigger them:
# From the paper2anything package root; copy the line for whichever skill you want
mkdir -p ~/.claude/skills
ln -sfn "$(pwd)/paper2slides" ~/.claude/skills/paper2slides
ln -sfn "$(pwd)/paper2poster" ~/.claude/skills/paper2poster
ln -sfn "$(pwd)/paper2html" ~/.claude/skills/paper2html
ln -sfn "$(pwd)/paper2xhs" ~/.claude/skills/paper2xhs
ln -sfn "$(pwd)/paper2wechat" ~/.claude/skills/paper2wechat
All 5 skills share one conda environment, paper2anything.
# From the paper2anything package root
conda env create -f environment.yml
conda activate paper2anything
| Tool | Purpose | Which skill | Install command |
|---|---|---|---|
poppler-utils (pdftoppm) |
PDF rendering | paper2slides | sudo apt install poppler-utils (Linux) / brew install poppler (macOS) |
libreoffice (soffice) |
visual QA | paper2slides | sudo apt install libreoffice (Linux) / brew install --cask libreoffice (macOS) |
| Node.js | JS runtime | paper2slides | on Linux use NodeSource (the apt default is too old, see the note below) / brew install node (macOS) |
| pptxgenjs + react-icons/react/react-dom/sharp | PPT rendering | paper2slides | npm install -g pptxgenjs react-icons react react-dom sharp (prefix sudo on Linux) |
Node.js (Linux): sharp requires Node ≥20.9.0; install it via NodeSource:
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - && sudo apt install -y nodejs
All skills' credentials live in a single .env at the package root (copy from .env.example and fill it in). After copying, just fill in your keys:
cp .env.example .env # first time: copy, then fill in your keys
Optional: write the .env export into your shell startup file. Pass --shell-init during install to do this automatically (see Installation), or add this line manually:
set -a; source <paper2anything package root>/.env; set +a
Just state your intent and the matching skill auto-triggers, e.g.:
path/to/paper.pdf into slides" → paper2slidesOr call them explicitly with a slash command, followed by the PDF path:
/paper2slides path/to/paper.pdf
/paper2poster path/to/paper.pdf
/paper2html path/to/paper.pdf
/paper2xhs path/to/paper.pdf
/paper2wechat path/to/paper.pdf
Each skill's final deliverable lands in the same directory as the paper; all intermediate artifacts are kept under .paper2anything/<skill>/<paper-name>/ in that same directory:
| Skill | Final deliverable | Intermediate artifacts |
|---|---|---|
| paper2slides | <paper-name>_slides/ (<paper-name>.pptx) |
.paper2anything/slides/<paper-name>/ |
| paper2poster | <paper-name>_poster/ (poster.png + poster.html + images/) |
.paper2anything/poster/<paper-name>/ |
| paper2html | <paper-name>_html/ (index.html + images/) |
.paper2anything/html/<paper-name>/ |
| paper2xhs | <paper-name>_xhs/ (xhs_post.md + .json + cover.png) |
.paper2anything/xhs/<paper-name>/ |
| paper2wechat | <paper-name>_wechat/ (wechat_article.md + .json + cover.jpg + figures/) |
.paper2anything/wechat/<paper-name>/ |
paper2anything/
├── environment.yml # python environment
├── .env.example # credentials template (copy to .env and fill in)
├── .gitignore # ignores .env / __pycache__ etc.
├── LICENSE # Apache-2.0
├── README.md # this file (English, default)
├── README.zh-CN.md # Chinese version
├── tools/ # install scripts
├── assets/ # static files
│ └── showcase/ # per-skill output samples (assets/showcase/<skill>/)
├── paper2slides/ # paper → slides
│ ├── SKILL.md
│ ├── references/ # design style, outline heuristics, pipeline, schema, pptxgenjs
│ └── scripts/ # parse_pdf / render_pptx / page_screenshot / workdir + lib/
├── paper2poster/ # paper → poster HTML/PNG
│ ├── SKILL.md
│ ├── references/ # poster examples, color palettes, layout guide
│ └── scripts/ # parse_pdf / auto_outline / geom_check / collect_figures / screenshot / check_env
├── paper2html/ # paper → single-page project homepage
│ ├── SKILL.md
│ ├── references/ # design languages, HTML authoring spec, QA checklist
│ └── scripts/ # parse_pdf / validate / render_check etc. + lib/ (parse/extract/QA, no renderer)
├── paper2xhs/ # paper → Xiaohongshu
│ ├── SKILL.md
│ ├── references/ # publish guide
│ └── scripts/ # parse_pdf / cover / publish / xhs_login + utils
└── paper2wechat/ # paper → WeChat
├── SKILL.md
└── scripts/ # parse_pdf / cover / publish + utils
Skill design leads at the AI4GC Lab: