Sci HTML
ShZhao27208/Aut_Sci_Write
Generate academic presentation-style HTML slide decks and browser reports from PDFs, structured text, Markdown, paper summaries, outlines, or research notes.
Turn an academic paper PDF into a presentation deck (.pptx) end-to-end.
$ npx skills add QuZhan51496/paper2anything --skill paper2slides -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install QuZhan51496/paper2anything paper2slides --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/QuZhan51496/paper2anything.git skills-src && mkdir -p .claude/skills && cp -r skills-src/paper2slides .claude/skills/paper2slides && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "paper2slides" agent skill from https://github.com/QuZhan51496/paper2anything/tree/main/paper2slides into .claude/skills/paper2slides/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paper2slides", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/QuZhan51496/paper2anything/tree/main/paper2slidesType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add QuZhan51496/paper2anything --skill paper2slides -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install QuZhan51496/paper2anything paper2slides --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/QuZhan51496/paper2anything.git skills-src && mkdir -p .agents/skills && cp -r skills-src/paper2slides .agents/skills/paper2slides && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "paper2slides" agent skill from https://github.com/QuZhan51496/paper2anything/tree/main/paper2slides into .agents/skills/paper2slides/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paper2slides", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add QuZhan51496/paper2anything --skill paper2slides -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install QuZhan51496/paper2anything paper2slides --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/QuZhan51496/paper2anything.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/paper2slides .cursor/skills/paper2slides && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "paper2slides" agent skill from https://github.com/QuZhan51496/paper2anything/tree/main/paper2slides into .cursor/skills/paper2slides/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paper2slides", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/QuZhan51496/paper2anything.git --path paper2slides--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add QuZhan51496/paper2anything --skill paper2slides -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install QuZhan51496/paper2anything paper2slides --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/QuZhan51496/paper2anything.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/paper2slides .gemini/skills/paper2slides && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "paper2slides" agent skill from https://github.com/QuZhan51496/paper2anything/tree/main/paper2slides into .gemini/skills/paper2slides/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paper2slides", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install QuZhan51496/paper2anything paper2slidesInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add QuZhan51496/paper2anything --skill paper2slides -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/QuZhan51496/paper2anything.git skills-src && mkdir -p .github/skills && cp -r skills-src/paper2slides .github/skills/paper2slides && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "paper2slides" agent skill from https://github.com/QuZhan51496/paper2anything/tree/main/paper2slides into .github/skills/paper2slides/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paper2slides", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add QuZhan51496/paper2anything --skill paper2slides -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install QuZhan51496/paper2anything paper2slides --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/QuZhan51496/paper2anything.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/paper2slides .opencode/skills/paper2slides && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "paper2slides" agent skill from https://github.com/QuZhan51496/paper2anything/tree/main/paper2slides into .opencode/skills/paper2slides/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paper2slides", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
paper2slidesTurn an academic paper PDF into a presentation deck (.pptx) end-to-end.
Paper2slides is an agent skill from QuZhan51496/paper2anything. Turn an academic paper PDF into a presentation deck (.pptx) end-to-end. Use this skill whenever the user wants to "make slides from a paper", "generate a deck from this PDF", "make a PPT from this paper", "generate slides from a PDF document", "make a deck from a research paper", or supplies a research paper PDF and asks for a .pptx out. Trigger even when the user only says "deck this paper" or "summarize as slides". This is the dedicated, self-contained skill for academic-paper-to-deck flows.
Its SKILL.md is about 3.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 18 other files, including scripts and reference files (for example `references/design-style.md`, `references/outline-heuristics.md` and `references/pipeline.md`).
It sits in Documents & Office, covering Slides and decks, PowerPoint presentations and PDF. It works with Microsoft PowerPoint. The repository describes itself as: 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). The licence is Apache-2.0.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 72bf82d. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
BashReadWriteGlobGrepAgentAskUserQuestionFrom allowed-tools in the SKILL.md frontmatter.
Ships 9 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
condaFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
MINERU_API_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Paper2slides loads about 3.8k tokens when it runs, and up to ~28k if it reads all its reference files. Until then it costs about 128 tokens; SKILL.md has 1,636 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
rmly in the paper2anything package-root `.env`; with no token it errors out immediately):-a; source <paper2anything package root>/.env; set +a # export the unified .env (includes MINERU_API_TOKEN)allowed-tools: Bash, Read, Write, Glob, Grep, Agent, AskUserQuestionAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from QuZhan51496/paper2anything at commit 72bf82d, republished under its Apache-2.0 licence (© QuZhan51496). 1,636 words, ~3,793 tokens.
.claude/skills/paper2slides/SKILL.md (or your agent's skills folder). This skill also uses 15 other files; get the full folder from GitHub.Turn an academic paper PDF into a presentation-ready .pptx. This is a conductor skill: you make the
editorial and design judgments, while the mechanical steps are handled by this skill's own self-contained
scripts — PDF parsing via the MinerU cloud API (scripts/parse_pdf.py) and .pptx rendering via a PptxGenJS
bridge (scripts/render_pptx.py). It orchestrates a "paper → outline → spec → render → QA" pipeline and
depends on no other skill.
| Stage | Input | Output | Owner |
|---|---|---|---|
| 0.5. configure | user dialogue | <workdir>/config.json | you (AskUserQuestion to confirm three items: length tier + whether to run visual QA + color scheme) |
| 1. extract | paper.pdf | paper_meta.json + figures_index.json + figures/ + pages/ + equations + hi-res figure/table crops (produced in one shot by the MinerU cloud API) | scripts/parse_pdf.py |
| 2. outline | paper_meta.json | slide_outline.json | you (per references/outline-heuristics.md) |
| 3. spec | slide_outline.json + figures | slide_spec.json | you (per references/design-style.md) |
| 4. render | slide_spec.json | output.pptx | scripts/render_pptx.py (PptxGenJS bridge) |
| 5. qa | output.pptx | pass / fail + fix list | content QA always runs; visual QA is gated by Stage 0.5's config.json/visual_qa |
See references/pipeline.md for the detailed per-stage protocol.
Invocation form:
/paper2slides <paper.pdf> [output.pptx] [--from-stage <name>] [--force]output.pptx omitted → <paper-dir>/<paper-stem>_slides/<paper-stem>.pptx; on a name collision the directory auto-appends _v2 _v3<paper-dir>/.paper2anything/slides/<paper-stem>/; when the paper directory is read-only, fall back to ~/.cache/paper2anything/slides/Python environment: all scripts run in the paper2anything conda environment. Command prefix
conda run -n paper2anything --no-capture-output python -m scripts.<name> ...
(the prefix can be omitted once conda activate paper2anything is in effect). Every -m scripts.<name> must be run from this
skill's directory (the parent of scripts/), otherwise you get No module named 'scripts'; the prefix-omission convention is in
references/pipeline.md §General Conventions.
The first step is always to resolve the workspace:
conda run -n paper2anything --no-capture-output python -m scripts.workdir resolve \
<paper.pdf> [--output <out.pptx>] --ensureThe returned JSON contains all the named paths (paper_meta_path, slide_outline_path,
slide_spec_path, figures_dir, ...) and each stage's completion status. Every later stage references
the paths in this JSON — do not assemble paths yourself; the rules are centralized in scripts/workdir.py.
Re-run semantics:
| Flag | Meaning |
|---|---|
| default | already-completed stages are skipped (judged by whether the output files exist) |
--force | ignore all markers and run everything |
--from-stage <name> | re-run starting from the named stage (the entry point for the long-lived "interactive mode") |
<name> ∈ {configure, extract, outline, spec, render, qa}.
To go through the three pre-flight questions again, use --from-stage configure (overwrites the old config.json).
Execute in the order below. Each stage has a "completion test" — once its output file appears the stage counts as done, and is auto-skipped on re-run. Each stage in this section writes only three things: (a) the minimal action to do (including the command to type), (b) the single most error-prone pitfall, and (c) a pointer to the corresponding Stage in references/pipeline.md. The full protocol, prerequisites, common errors, and edge cases all live in pipeline.md; this section does not restate them.
After Stage 0 resolves the workspace and before Stage 1, use [AskUserQuestion] to confirm three items with the user,
and Write the answers to the Stage 0 JSON's config_path (<workdir>/config.json):
deck_length: concise / standard / detailed / auto (no page-count target, recommended)visual_qa: true (default, adds the soffice→jpg→subagent visual loop) / false (run only the cheap content QA)color_scheme: auto (default, Stage 3 matches a palette to the paper's character) / custom (the user describes a preference in one line, stored in config and parsed by Stage 3)config.json already exists and neither --from-stage configure nor --force is given, don't ask again — reuse the last configuration.deck_length page-count band mapping, and the prefill / downstream-consumption details are in references/pipeline.md §Stage 0.5; the config.json schema is in references/schemas.md.Use the MinerU cloud API (requires MINERU_API_TOKEN, configured uniformly in the paper2anything package-root .env; with no token it errors out immediately):
set -a; source <paper2anything package root>/.env; set +a # export the unified .env (includes MINERU_API_TOKEN)
conda run -n paper2anything --no-capture-output python -m scripts.parse_pdf <paper.pdf>Produces paper_meta.json + figures_index.json + pages/ + hi-res crops in one shot (the structured metadata comes directly from MinerU).
For --dpi tuning (default 300) and the known imperfections of MinerU parsing (e.g. the bbox sometimes pins the y start onto a subfigure caption), see
references/pipeline.md §Stage 1.
Pitfall: before entering Stage 2 you must run the 4 checks at the end of references/schemas.md (title/authors/same-kind merge/missing key kind) to verify
paper_meta.json; the check results are not written back topaper_meta.json, but are reflected directly in the Stage 2 outline.
Input paper_meta.json + figures_index.json + config.json → output
slide_outline.json (schema in references/schemas.md).
Per references/outline-heuristics.md, set roles and
order, and write each slide's title/bullets/figure_ref/speaker_notes. Pitfall: read
config.json/deck_length first — auto does not constrain the slide count; a non-auto value is a soft target for outline granularity,
and you must not cut core narrative roles just to hit a number (details in outline-heuristics.md).
After writing, validate that the JSON is well-formed with Python:
conda run -n paper2anything --no-capture-output python -c \
"import json,sys; json.load(open(sys.argv[1])); print('ok')" \
<workdir>/slide_outline.jsonFor the full protocol and common errors, see references/pipeline.md §Stage 2.
Input slide_outline.json + figures_index.json + figures/ + pages/ → output
slide_spec.json. Per references/design-style.md, choose
palette/fonts/layout_kind (avoiding consecutive repeats), and translate the content into elements. Pitfall:
every number and term must have a source in paper_meta / figures_index — do not fabricate.
When you need an icon use kind:"icon"; for naming see the "Icons" section of references/pptxgenjs.md,
and for the schema see the icon element in references/schemas.md.
When you need to crop a region from a full paper page:
conda run -n paper2anything --no-capture-output python -m scripts.page_screenshot \
<workdir> <page> <x> <y> <w> <h>bbox uses relative ratios 0..1; fill the output relative path into the corresponding image element's path. Hard gate for cropping:
the first call's bbox must be value-for-value equal to figures_index.json/captions[i].bbox, and you may not eyeball
the full page before cropping the first version — for the full baseline and the QA re-crop loop see
references/design-style.md §3 (skipping the first cut and going straight to eyeballing
= violating §3). The Stage 3 key constraints (coordinates ≤ canvas / margin:0 etc.) are in
references/pipeline.md §Stage 3.
conda run -n paper2anything --no-capture-output python -m scripts.render_pptx \
<workdir>/slide_spec.json <workdir>/output.pptxThe output is <workdir>/output.pptx; after a successful render, copy it to the final output_path given by Stage 0 (first mkdir -p its parent directory <paper-stem>_slides/).
Pitfall: it depends on node+pptxgenjs (installed globally); if node is not on PATH the script errors. On failure, first
--dry-run to generate only render/build.js and locate the spec problem. For prerequisites and common errors see
references/pipeline.md §Stage 4.
Execute per the QA section below: content QA always runs, and visual QA is gated by config.json/visual_qa.
| Input | Default |
|---|---|
output.pptx omitted | <paper-dir>/<paper-stem>_slides/ (containing <paper-stem>.pptx); on a name collision the directory appends _v2, _v3 |
| work directory not writable in the paper directory | fall back to ~/.cache/paper2anything/slides/<paper-stem>-<hash12>/ |
| re-run on the same paper | already-completed stages (output files already exist) are auto-skipped |
config.json already exists | Stage 0.5 skips the questions and reuses the last configuration; to change config use --from-stage configure |
Stage 0.5 not asked / visual_qa defaulted | deck_length=auto, visual_qa=true (run visual QA) |
--from-stage <N> | force a re-run from the named stage, without checking outputs |
--force | force a re-run of all stages (rare, only on a schema upgrade) |
Only the few classes that need your judgment / routing are listed (all technical recovery is in pipeline.md):
| Symptom | Handling |
|---|---|
| Stage 1 section count < 5 or > 15 | you manually add / merge during the Stage 2 check |
| Stage 5 reports "card bottom half empty / unbalanced columns / bottom whitespace" | not soft — fix per the three-lever model in references/design-style.md "Principles for Fixing QA Issues" (adjust text amount > adjust bullet spacing > adjust image size, stackable), then --from-stage render to re-run |
| user/QA reports "leader markers not aligned with text" | per references/design-style.md "Visual-Richness Recommendations" item A, batch-reset icon_y to the alignment formula + a final self-check, then --from-stage render to re-run |
| skill triggered but the user only wants to "read the PDF" | mis-trigger — tell the user this skill builds a slide deck and ask whether to proceed; do not continue with paper2slides if they only want to read the PDF |
For the full error recovery (Stage 1/4 technical, annotation green box, dpi, figure_ref, etc.) see the "Error-Recovery Quick Reference" section of references/pipeline.md.
Apply the QA loop in references/qa.md (the self-contained "Verification Loop" — content QA
config.json/visual_qa first; the key points:markitdown checks placeholders / number consistency / bullets not lifted from the abstract / no leftover placeholder in the title.config.json/visual_qa == true: soffice→pdf→jpg→dispatch a single subagent to batch-review.slide_spec.json then --from-stage render to fully re-render before QA; the recheck rounds narrow per the Verification Loop — round 1 covers the full deck, from round 2 on look only at the pages flagged last round ∪ the pages changed this round, with a final full pass over the whole deck before convergence.--from-stage configure then --from-stage qa".For the verification loop and the base visual-subagent prompt template, see references/qa.md;
for the full A/B protocol and the qa_log.json structure, see references/pipeline.md §Stage 5;
for the visual subagent prompt's two added paragraphs, the three-lever fix model, and the recheck-narrowing details,
see the "Visual Subagent Prompt for QA" + "Principles for Fixing QA Issues" sections of
references/design-style.md.
This skill is self-contained — everything you need is under references/ in this directory:
| Confusion | Go here |
|---|---|
| MinerU parsing anomalies (missing figure / garbled text / misaligned table / lost formula) | references/pipeline.md §Stage 1 + scripts/lib/mineru_client.py (token, model_version, zip-download retry) |
| PPT visual design, color palettes, layout choices, taboos | the "Design fundamentals" + "Avoid" sections of references/design-style.md |
| PptxGenJS API usage, gotchas, icon generation | references/pptxgenjs.md (includes the academic icon-name table) |
| QA flow and the visual-subagent prompt | references/qa.md |
| Detailed JSON schema fields for each stage's output (including config.json) | references/schemas.md |
| How sections map to slide roles | references/outline-heuristics.md |
| Matching color/layout to the paper's scenario | references/design-style.md |
© QuZhan51496, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 15 other files (scripts, references) in paper2slides of QuZhan51496/paper2anything.
Open the folder on GitHubat commit 72bf82d
Paper2slides next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Paper2slides this skillQuZhan51496/paper2anything | 450 | — | ~3.8k | Automated safety check: Notes | Apache-2.0 | |
| Sci HTMLShZhao27208/Aut_Sci_Write | 209 | — | ~1.4k | Automated safety check: Notes | MIT | |
| Paper Deckzsyggg/paper-craft-skills | 1.3k | — | ~1.4k | Automated safety check: Pass | None | |
| Ky Markdown RebuilderKyrieCheungYep/ky-markdown-rebuilder | 117 | — | ~5.7k | Automated safety check: Pass | None | |
| Publish To Pagesgithub/awesome-copilot | 40k | 1 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Sn Da Non Spreadsheet AnalysisOpenSenseNova/SenseNova-Skills | 5.7k | — | ~1.2k | Automated safety check: Pass | MIT |
ShZhao27208/Aut_Sci_Write
Generate academic presentation-style HTML slide decks and browser reports from PDFs, structured text, Markdown, paper summaries, outlines, or research notes.
zsyggg/paper-craft-skills
将论文、技术文章或知识内容制作成高真实感的 AIGC 幻灯片。先做叙事结构和逐页视觉导演,再调用生图模型生成每一页 16:9 slide image,最后合成为 PPTX/PDF。适合论文汇报、组会、公开课、技术分享、商业化研究展示;当用户提到“论文PPT”“AI生成PPT”“不像AI的PPT”“高质感幻灯片”“逐页生图PPT”时使用。
KyrieCheungYep/ky-markdown-rebuilder
Rebuild visual documents into reliable Markdown by combining text extraction with page or screenshot alignment.
github/awesome-copilot
Publish presentations and web content to GitHub Pages. An agent skill from github/awesome-copilot.
OpenSenseNova/SenseNova-Skills
Word / PDF / PPT 文档解析与数据分析引擎。覆盖三类文件格式的全量提取、表格数值化、图表理解与跨文档汇总分析。遇到以下任一情况就主动使用本 skill:①用户上传或指定了 .docx / .doc / .pdf / .pptx / .ppt 文件并要求分析、提取或统计其中内容;②用户出现触发词:Word分析 / PDF解析 / PPT提取 / 文档分析 / 报告解析 /…
aiskillstore/marketplace
Presentation creation, format conversion (ODP/PPTX/PDF), slide automation with LibreOffice Impress.
QuZhan51496/paper2anything
Convert an academic paper PDF into a publish-ready, self-contained single-page project homepage (a self-contained index.html) — the kind of paper landing page researchers host on GitHub Pages.
QuZhan51496/paper2anything
Convert academic papers (PDF) into conference posters (HTML/PNG).
QuZhan51496/paper2anything
把学术论文 PDF 转成微信公众号深度解读推文(长文 + 配图 + 封面)。你主导设计的协调式:机械活(MinerU 解析 PDF、生成封面、md2wechat 发布草稿箱)交给 scripts/ 下的小工具,论文理解、文章结构、长文撰写由你亲自完成并在关键点与用户确认。当用户说“论文转公众号”、“paper2wechat”、“把论文写成公众号文章”、“论文转微信推文”、“PDF…
QuZhan51496/paper2anything
把学术论文 PDF 转成小红书多图帖(标题 + 正文 + 标签 + 封面 + 论文主图/主实验结果配图)。你主导设计的协调式:机械活(MinerU 解析 PDF、生成封面与配图、半自动发布)交给 scripts/ 下的小工具,论文理解、选题角度、文案撰写由你亲自完成并在关键点与用户确认。当用户说“论文转小红书”、“paper2xhs”、“把这篇论文发小红书”、“论文转社交媒体”、“PDF…
Works with
Categories
Turn an academic paper PDF into a presentation deck (.pptx) end-to-end. Paper2slides is an agent skill from QuZhan51496/paper2anything.pptx) end-to-end.
Paper2slides fits situations like: the user wants to make slides from a paper; generate a deck from this PDF; make a PPT from this paper; generate slides from a PDF document.
Run `npx skills add QuZhan51496/paper2anything --skill paper2slides -a claude-code`. Or copy the skill folder (paper2slides in QuZhan51496/paper2anything) into .claude/skills/paper2slides in your project. Claude Code loads it when a task matches its description.
Run `npx skills add QuZhan51496/paper2anything --skill paper2slides -a codex`. Or copy the skill folder (paper2slides in QuZhan51496/paper2anything) into .agents/skills/paper2slides in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add QuZhan51496/paper2anything --skill paper2slides -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/paper2slides, .gemini/skills/paper2slides, .github/skills/paper2slides and .opencode/skills/paper2slides in your project.
Going by SKILL.md and its folder, Paper2slides needs Python for the scripts in its folder, the command-line tools its instructions call (conda) and credentials named MINERU_API_TOKEN. Our summary lists: Python 3; A credential in MINERU_API_TOKEN. Its frontmatter pre-approves these tools: Bash, Read, Write, Glob, Grep, Agent, AskUserQuestion.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file; pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Paper2slides is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.8k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 25k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Paper2slides: Sci HTML (ShZhao27208/Aut_Sci_Write, 209 stars), Paper Deck (zsyggg/paper-craft-skills, 1.3k stars), Ky Markdown Rebuilder (KyrieCheungYep/ky-markdown-rebuilder, 117 stars) and Publish To Pages (github/awesome-copilot, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
QuZhan51496 (a GitHub user) maintains it in QuZhan51496/paper2anything, which has 450 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on July 16, 2026.
Source: QuZhan51496/paper2anything on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.