Github · GitHub Repository Radar
QuZhan51496 paper2anything
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)
Stars
400
Forks
10
Watchers: 400
Language
License: Apache License 2.0
Repository Radar Score
40 / 100
Growth
- 7d
- +0
- 30d
- +0
- %
- 0.0%
Not enough metric snapshots yet to chart growth for this repository.
Score breakdown
- popularity 42
- growth 0
- activity 55
- freshness 100
- community 64
Need help integrating this stack?
Our team builds with modern open-source stacks. Tell us what you are shipping.
Get a quote →
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 (rednote) multi-image post | xhs_post.json/md + cover + figure images |
"post this paper to Xiaohongshu", "turn this paper into a rednote 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):
A sample of paper2html output — eight project homepages across diverse research fields (HCI / VR, drug discovery, machine writing, robotics, security, software engineering, agent skills, and financial trading):
A sample of paper2xhs output — ten Xiaohongshu (rednote) posts across diverse research fields (world models, LLM agent societies, AI supply-chain security, LLM evaluation, robotic manipulation, CS education, machine translation, climate simulation, medical diagnosis, and causal inference):
A sample of paper2wechat output — twelve WeChat Official Account articles across diverse research fields (world models, LLM agent societies, AI supply-chain security, LLM evaluation, robotic manipulation, CS education, machine translation, climate simulation, medical diagnosis, causal inference, efficient inference, and NLP):
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 # macOSThe 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 perenvironment.ymlif it already exists) + installs playwright chromium + runs a pip self-check;--shell-init: (optional) writes the.envauto-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:
- Fill in
MINERU_API_TOKENin.env(required); - Install the missing system-level dependencies it points out (the script detects each one and gives the install command).
If you need to install manually (e.g. you only use one specific skill), here is the equivalent breakdown.
Manual install
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/paper2wechatAll 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 nodejsAll 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 keysOptional: 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 +aJust state your intent and the matching skill auto-triggers, e.g.:
- "make
path/to/paper.pdfinto slides" → paper2slides - "make a conference poster from this paper" → paper2poster
- "turn this PDF into a project homepage" → paper2html
- "post this paper to Xiaohongshu for me" → paper2xhs
- "write this paper as a WeChat article" → paper2wechat
Or 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 + post_images/) |
.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 / post_images / publish / xhs_login + utils
└── paper2wechat/ # paper → WeChat
├── SKILL.md
└── scripts/ # parse_pdf / cover / publish + utils
Skill design leads at the AI4GC Lab:
![]() Honghui Sheng paper2poster |
![]() Tao Xiong paper2html |
![]() Xinchen Xu paper2xhs & paper2wechat |
paper2anything is developed by the AI4GC Lab at Zhejiang University.
- Paper PDF parsing is powered by MinerU.
- Xiaohongshu publishing is powered by xiaohongshu-mcp.
- WeChat publishing and formatting are powered by md2wechat.
Repository Radar analysis
Deterministic insights derived from public metadata and our observations — not personal testing or reviews.
Why this repository is interesting
- Listed in our discovery index with public GitHub metadata for analysis.
Who should use it
- Developers working primarily with Python
- Teams exploring AI tooling, agents, or ML infrastructure
Potential use cases
- Reference or evaluate Python open-source approaches in this domain
- Prototype AI/agent workflows or study reference architectures
Strengths
- README present in our index
- Declared license: Apache License 2.0
Limitations / considerations
- Insights are derived from public metadata and our observations — not a substitute for code review
What to watch
- Re-check last push, issues, and releases on GitHub before production adoption
Source: GitHub (public metadata) + Repository Radar analysis. We do not claim ownership of third-party repositories.
Similar repositories
browser-use/browser-use
★ 112,172 · Python · radar 67
bytedance/deer-flow
★ 81,316 · Python · radar 66
unslothai/unsloth
★ 75,558 · Python · radar 66
hiyouga/LlamaFactory
★ 74,555 · Python · radar 66
nextlevelbuilder/ui-ux-pro-max-skill
★ 124,618 · Python · radar 65
TauricResearch/TradingAgents
★ 102,408 · Python · radar 65








