Convert Markdown to publication-quality PDF with reportlab — CJK/Latin mixed text, themes, cover pages, watermarks, callouts, formulas, and interactive theme selection

MITAuto-check: notesDocuments & Office

Install Any2pdf

skills CLI
$ npx skills add cosmicstack-labs/mercury-agent-skills --skill any2pdf -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install cosmicstack-labs/mercury-agent-skills any2pdf --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/cosmicstack-labs/mercury-agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/categories/pdf-generation/any2pdf .claude/skills/any2pdf && rm -rf skills-src

Use ~/.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/

Facts

Skill name
any2pdf
GitHub stars
476
Token cost
~3.3k tokens
SKILL.md length
1,276 words
Files
1
Skills in repo
12
Repo updated
First seen
Licence
MIT

At a glance

Convert Markdown to publication-quality PDF with reportlab — CJK/Latin mixed text, themes, cover pages, watermarks, callouts, formulas, and interactive theme selection

  • Works in 11 steps: Font system — Palatino (Latin body),… → CJK wrapper — _font_wrap() wraps CJK… → Mixed text renderer — _draw_mixed()… → …
  • Tasks that involve PDF
  • SKILL.md covers When to Use, Where the Runtime Lives, Quick Start and Pre-Conversion Options…, plus 7 more sections
  • Calls pip, git and npx; reaches github.com

What it does

Any2pdf is an agent skill from cosmicstack-labs/mercury-agent-skills. Convert Markdown to publication-quality PDF with reportlab — CJK/Latin mixed text, themes, cover pages, watermarks, callouts, formulas, and interactive theme selection

Its SKILL.md is about 3.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Documents & Office, covering PDF, Data visualization and Markdown. It works with pypdf and Python. The repository describes itself as: A curated registry of reusable Mercury Agent, Open Claw or Hermes Agent skills designed for real developer workflows, persistent memory, and token-efficient execution. The licence is MIT.

When your agent uses it

  • Tasks that involve PDF
  • Tasks that involve Data visualization
  • Tasks that involve Markdown

Example prompts

  • “/any2pdf”

Requirements

  • Python 3
  • Node.js

Workflow steps

11 steps, taken from the first numbered list in SKILL.md.

  1. Font system — Palatino (Latin body), Songti SC (CJK body), Menlo (code) on macOS; auto-fallback on Linux / Windows.
  2. CJK wrapper — _font_wrap() wraps CJK character runs in tags for automatic font switching.
  3. Mixed text renderer — _draw_mixed() handles CJK/Latin mixed text on canvas (cover, headers, footers).
  4. Code block handler — esc_code() preserves indentation and line breaks in reportlab Paragraphs.
  5. Smart table widths — proportional column widths based on content length, with 18 mm minimum.
  6. Bookmark system — ChapterMark flowable creates PDF sidebar bookmarks and named anchors.
  7. Heading preprocessor — _preprocess_md() splits merged headings like # Part## Chapter into separate lines.
  8. Image handler — local, relative, file://, and remote markdown images are scaled into the body frame with fallback text on errors.
  9. Callout renderer — Obsidian-style > [!NOTE] blocks render as themed boxed callouts.
  10. Formula renderer — display formulas use optional matplotlib mathtext images, with styled text fallback.
  11. Emoji fallback — emojis render as cached Twemoji PNGs when available, or with a local emoji font fallback.

What it can do on your machine

Read from SKILL.md and the folder at commit 30392fb. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • pip
    • git
    • npx
    • python
    • apt

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Any2pdf loads about 3.3k tokens when it runs. Until then it costs about 44 tokens; SKILL.md has 1,276 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~44
When it runs · the whole SKILL.md, loaded when a task matches
~3.3k

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.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteRuns commands with sudoSKILL.md:259
    sudo apt install fonts-dejavu-core fonts-liberation fonts-freefont-ttf \

Automated 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); files beside SKILL.md are not scanned.

SKILL.md

The full file from cosmicstack-labs/mercury-agent-skills at commit 30392fb, republished under its MIT licence (© cosmicstack-labs). 1,276 words, ~3,341 tokens.

Download SKILL.mdSave it as .claude/skills/any2pdf/SKILL.md (or your agent's skills folder).
name
any2pdf
description
Convert Markdown to publication-quality PDF with reportlab — CJK/Latin mixed text, themes, cover pages, watermarks, callouts, formulas, and interactive theme selection
metadata.author
lovstudio
metadata.curator
cosmicstack-labs
metadata.version
1.1.0
metadata.category
pdf-generation
metadata.tags
markdown, pdf, cjk, reportlab, typesetting, themes, any2pdf
metadata.source
https://github.com/lovstudio/any2pdf
metadata.license
MIT

any2pdf — Markdown to Professionally Typeset PDF

Credits. This skill is adapted from lovstudio/any2pdf by lovstudio, distributed under the MIT license. The original repository ships the Python implementation (md2pdf.py), preview gallery, and reference theme JSONs. This document is the Mercury-compatible SKILL.md adaptation; the runtime code and design credit belong entirely to the original author.

This skill converts any Markdown file into a publication-quality PDF using Python's reportlab. It was developed through extensive iteration on real Chinese technical reports and solves several hard problems that naive MD→PDF converters get wrong — CJK/Latin mixed text wrapping, canvas CJK rendering on cover/headers/footers, code-block whitespace preservation, and mixed-font fallbacks across macOS, Linux, and Windows.


When to Use

Trigger this skill whenever the user:

  • Wants to convert .md → .pdf
  • Has a markdown report or document and wants professional typesetting
  • Mentions "markdown to PDF", "md2pdf", "any2pdf", "md转pdf", "报告生成", or asks for a "typeset" or "professionally formatted" PDF from markdown source
  • Has a document with CJK characters mixed with Latin text
  • Has fenced code blocks, markdown tables, or nested lists that need to survive conversion
  • Needs local/remote images, Obsidian callouts, emoji, or LaTeX-style math formulas
  • Wants a cover page, table of contents, watermark, or back cover in their PDF

Where the Runtime Lives

After installing this skill via the Mercury CLI:

bash
mercury skills install pdf-generation/any2pdf

the SKILL.md lands at ~/.mercury/skills/pdf-generation/any2pdf/SKILL.md.

The Python implementation (md2pdf.py), preview images, and theme files are not vendored into Mercury Skills — they live in the upstream repository. To use the skill end-to-end, also clone or install the upstream runtime:

bash
# Option A: clone alongside (recommended for development)
git clone https://github.com/lovstudio/any2pdf.git
# The script is at: any2pdf/lovstudio-any2pdf/scripts/md2pdf.py

# Option B: install via the upstream's own installer
npx skills add lovstudio/any2pdf -g -y

When the AI agent runs the conversion, treat the script path as wherever the user cloned it. If unsure, ask:

"Where is the md2pdf.py script on your system? (e.g. ./any2pdf/lovstudio-any2pdf/scripts/md2pdf.py)"


Quick Start

bash
python <path-to>/md2pdf.py \
  --input report.md \
  --output report.pdf \
  --title "My Report" \
  --author "Author Name" \
  --theme warm-academic

All parameters except --input are optional — sensible defaults are applied.


Pre-Conversion Options (MANDATORY)

IMPORTANT for AI agents: You MUST present these options to the user before running the conversion. Use whatever interactive question primitive your runtime provides (AskUserQuestion, a structured prompt, an MCP tool, etc.). Present all options in a single question so the user answers once.

The tone should be a friendly design assistant, not a config form.

Suggested Prompt Template (English)
Starting PDF conversion — quick choices first

━━━ Design Style ━━━
 a) Warm Academic   — terracotta tones, refined and elegant; humanities / social science
 b) Classic Thesis  — brown tones, LaTeX classicthesis inspired; academic papers
 c) Tufte           — minimal whitespace, deep red accents; data narratives, technical writing
 d) IEEE Journal    — navy blue, journal-formal; conferences and journals
 e) Elegant Book    — coffee tones, book-like; long-form monographs / technical books
 f) Chinese Red     — vermilion on warm paper; Chinese formal reports / whitepapers
 g) Ink Wash        — pure grayscale, restrained and elegant; literary / design content
 h) GitHub          — blue-and-white minimal; developer-familiar
 i) Nord Frost      — Nordic blue-gray; clean modern
 j) Ocean Breeze    — teal-green; fresh and natural

━━━ Frontispiece (full-page image after cover) ━━━
 1) Skip
 2) I'll provide a local image path
 3) AI generates one based on document content

━━━ Watermark ━━━
 1) None
 2) Custom text (e.g. "DRAFT", "Internal Use Only")

━━━ Back Cover Material (business card / QR code / brand) ━━━
 1) Skip
 2) I'll provide an image
 3) Plain text only

Example reply: "a, frontispiece skip, watermark: For Reference Only, back cover: /path/qr.png"
Plain English is fine — no need to memorize the letters.
Mapping User Choices to CLI Args
ChoiceCLI argument
Design style a–j--theme <value-from-table-below>
Frontispiece local--frontispiece <path>
Frontispiece AIGenerate image first, then --frontispiece /tmp/frontispiece.png
Watermark text--watermark "TEXT"
Back cover image--banner <path>
Back cover text--disclaimer "..." and/or --copyright "..."
Theme Name Mapping
Choice--theme valueInspiration
a) Warm Academicwarm-academicLovstudio design system
b) Classic Thesisclassic-thesisLaTeX classicthesis
c) TuftetufteEdward Tufte's books
d) IEEE Journalieee-journalIEEE journal format
e) Elegant Bookelegant-bookLaTeX ElegantBook
f) Chinese Redchinese-redChinese formal documents
g) Ink Washink-wash水墨画 / ink wash painting
h) GitHubgithub-lightGitHub Markdown style
i) Nord Frostnord-frostNord color scheme
j) Ocean Breezeocean-breeze—
Handling AI-Generated Frontispiece

If the user chose AI generation: read the document title and the first few paragraphs, use an image-generation tool to create a themed illustration matching the chosen design style, show the result for approval, then pass via --frontispiece /path/to/image.png.


Architecture

Markdown
  → Preprocess (split merged headings)
  → Parse (code-fence aware)
  → Story (reportlab flowables)
  → PDF build

Key components:

  1. Font system — Palatino (Latin body), Songti SC (CJK body), Menlo (code) on macOS; auto-fallback on Linux / Windows.
  2. CJK wrapper — _font_wrap() wraps CJK character runs in <font> tags for automatic font switching.
  3. Mixed text renderer — _draw_mixed() handles CJK/Latin mixed text on canvas (cover, headers, footers).
  4. Code block handler — esc_code() preserves indentation and line breaks in reportlab Paragraphs.
  5. Smart table widths — proportional column widths based on content length, with 18 mm minimum.
  6. Bookmark system — ChapterMark flowable creates PDF sidebar bookmarks and named anchors.
  7. Heading preprocessor — _preprocess_md() splits merged headings like # Part## Chapter into separate lines.
  8. Image handler — local, relative, file://, and remote markdown images are scaled into the body frame with fallback text on errors.
  9. Callout renderer — Obsidian-style > [!NOTE] blocks render as themed boxed callouts.
  10. Formula renderer — display formulas use optional matplotlib mathtext images, with styled text fallback.
  11. Emoji fallback — emojis render as cached Twemoji PNGs when available, or with a local emoji font fallback.

Hard-Won Lessons

These are real bugs that came out of shipping real reports — preserve the fixes if you're customising the script.

CJK Characters Rendering as □

reportlab's Paragraph only uses the font set in ParagraphStyle. If fontName="Mono" but the text contains Chinese, characters render as □. Fix: always apply _font_wrap() to all text that might contain CJK, including code blocks.

Code Blocks Losing Line Breaks

reportlab treats \n as whitespace. Fix: esc_code() converts \n → <br/> and all spaces → &nbsp;, preserving indentation and mid-line alignment before _font_wrap().

Show full SKILL.md (513 more words)Show less
CJK/Latin Word Wrapping

Default reportlab breaks lines only at spaces, causing ugly splits like Claude\nCode. Fix: set wordWrap='CJK' on body / bullet styles to allow breaks at CJK character boundaries.

drawString() / drawCentredString() with a Latin font can't render 年/月/日 etc. Fix: use _draw_mixed() for all user-content canvas text (dates, stats, disclaimers).


Configuration Reference

Most options can also be set in the markdown file's YAML frontmatter. Explicit CLI arguments take precedence over frontmatter values.

CLI ArgumentFrontmatter KeyDefaultDescription
--input—(required)Path to markdown file
--output—output.pdfOutput PDF path
--titletitleFrom first H1Document title for cover page
--subtitlesubtitle""Subtitle text
--authorauthor""Author name
--datedateTodayDate string
--versionversion""Version string for cover
--watermarkwatermark""Watermark text (empty = none)
--themethemewarm-academicColor theme name
--theme-file—""Custom theme JSON file path
--covercovertrueGenerate cover page
--toctoctrueGenerate table of contents
--page-sizepage-sizeA4Page size (A4 or Letter)
--frontispiecefrontispiece""Full-page image after cover
--bannerbanner""Back cover banner image
--header-titleheader-title""Report title in page header
--footer-leftfooter-leftauthorBrand / author in footer
--stats-linestats-line""Stats on cover
--stats-line2stats-line2""Second stats line
--edition-lineedition-line""Edition line at cover bottom
--disclaimerdisclaimer""Back cover disclaimer
--copyrightcopyright""Back cover copyright
--code-max-linescode-max-lines30Max lines per code block

Themes

Built-in: warm-academic, classic-thesis, tufte, ieee-journal, elegant-book, chinese-red, ink-wash, github-light, nord-frost, ocean-breeze.

Each theme defines: page background, ink color, accent color, faded text color, border color, code background, and watermark tint. Preview images for every theme live in the upstream repository under previews/.


Dependencies

bash
pip install reportlab
# Optional — render display formulas as images instead of styled text:
pip install matplotlib
Fonts
  • macOS: Palatino, Songti SC (宋体), Menlo — pre-installed.

  • Windows: Times New Roman, SimSun / 微软雅黑, Consolas — pre-installed.

  • Linux (Ubuntu/Debian recommended setup):

    bash
    sudo apt install fonts-dejavu-core fonts-liberation fonts-freefont-ttf \
                     fonts-noto fonts-noto-cjk fonts-noto-color-emoji

Fonts are auto-discovered from system paths. Missing fonts produce a helpful error with the exact install command for your OS.


What You Get

  • Cover page — title, subtitle, author, version, stats lines
  • Clickable table of contents — with PDF bookmark sidebar
  • Frontispiece — full-page image after cover (local or AI-generated)
  • Running headers — stable report / document title without page-lagged chapter labels
  • Running footers — author / brand, page number, date
  • Watermark — faint diagonal text on every content page
  • Back cover — banner image or text branding (QR codes, business cards)
  • 10 design themes — from warm academic to ink wash minimalist
  • Markdown images — local and remote ![alt](src) with graceful fallback text
  • Obsidian callouts — > [!NOTE], warnings, tips, quotes, and related callout types
  • LaTeX-style formulas — inline $...$ and display $$...$$ / \[...\]; install matplotlib for rendered math images
  • Emoji fallback — Twemoji image rendering when online, with local emoji-font fallback when available
  • YAML frontmatter — set title, theme, watermark, cover, TOC, and other options inside the Markdown file

License & Attribution

This skill entry is a derivative work licensed under MIT, matching the upstream project.

  • Original work: lovstudio/any2pdf — Copyright (c) lovstudio
  • License: MIT
  • This SKILL.md adaptation: curated for Mercury Skills by cosmicstack-labs; no code is redistributed, only documentation and workflow guidance.

If you ship this skill in a product, retain the upstream attribution and the MIT license notice from the original repository.

© cosmicstack-labs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in categories/pdf-generation/any2pdf of cosmicstack-labs/mercury-agent-skills.

Open the folder on GitHubat commit 30392fb

Compare with similar skills

Any2pdf 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.

Any2pdf compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Any2pdf this skillcosmicstack-labs/mercury-agent-skills476—~3.3kAutomated safety check: NotesMIT
Lov Any2pdflovstudio/any2pdf211—~2.4kAutomated safety check: NotesMIT
PDF ToolkitXiaomiMiMo/MiMo-Code14k—~1.7kAutomated safety check: PassApache-2.0
PDF Generation, Forms and Extractionpipeshub-ai/pipeshub-ai3.8k—~2.9kAutomated safety check: PassApache-2.0
MineruNebutra/MinerU-Skill122—~1.4kAutomated safety check: PassMIT
Markdown Exporterbowenliang123/markdown-exporter2711 repos~5.3kAutomated safety check: PassApache-2.0

Similar skills

  • Lov Any2pdf

    lovstudio/any2pdf

    Convert Markdown documents to professionally typeset PDF files with reportlab.

    211 GitHub stars~2.4k tokensUpdated 1 mo ago
    Documents & OfficeAuto-check: notes
  • PDF Toolkit

    XiaomiMiMo/MiMo-Code

    Reads, transforms, composes and fills PDFs with Python scripts for extraction, merging, watermarking, encryption, OCR and form filling.

    14k GitHub stars~1.7k tokensUpdated 5 days ago
    Documents & OfficeAuto-check passed
  • Picks the right library for generating a new PDF, filling an existing PDF form, or extracting text and tables, defaulting to Node where possible.

    3.8k GitHub stars~2.9k tokensUpdated today
    Documents & OfficeAuto-check passed
  • Mineru

    Nebutra/MinerU-Skill

    An AI-Native skill for parsing PDF / Office / image files into clean Markdown with MinerU — a fast, zero-config document parser for AI agents.

    122 GitHub stars~1.4k tokensUpdated 14 days ago
    Documents & OfficeAuto-check passed
  • Markdown Exporter

    bowenliang123/markdown-exporter

    Convert Markdown text to DOCX, PPTX, XLSX, PDF, PNG, SVG, HTML, IPYNB, MD, CSV, JSON, JSONL, XML files, and extract code blocks in Markdown to Python, Bash,JS and etc files.

    271 GitHub starsUsed in 1 repo~5.3k tokens
    Documents & OfficeAuto-check passed
  • Markdown Converter

    Team-Commonly/commonly

    Convert binary documents (PDF, DOCX, XLSX, PPTX, HTML, EPUB, images) to clean LLM-friendly Markdown using Microsoft's markitdown Python tool.

    1.4k GitHub stars~557 tokensUpdated today
    Documents & OfficeAuto-check passed

More from cosmicstack-labs/mercury-agent-skills

All 12 skills in this repo
  • Before You Build

    cosmicstack-labs/mercury-agent-skills

    Use this before implementing a product, feature, SaaS, AI app, or side project to score product risk and choose the smallest validation step.

    476 GitHub stars~2.2k tokensUpdated 1 mo ago
    Auto-check passed
  • Hyperframes CLI

    cosmicstack-labs/mercury-agent-skills

    HyperFrames CLI dev loop — project scaffolding, validation (lint/inspect), browser preview with live reload, MP4/WebM rendering, and environment troubleshooting (doctor, browser, info, upgrade).

    476 GitHub stars~1.4k tokensUpdated 1 mo ago
    Auto-check passed
  • Hyperframes Media

    cosmicstack-labs/mercury-agent-skills

    Asset preprocessing for HyperFrames compositions — local text-to-speech narration (Kokoro-82M, no API key), audio/video transcription (Whisper), and background removal for transparent overlays…

    476 GitHub stars~1.7k tokensUpdated 1 mo ago
    Auto-check passed
  • Agent Handoff Protocols

    cosmicstack-labs/mercury-agent-skills

    Design and implement agent-to-agent handoff protocols for multi-agent systems.

    476 GitHub stars~4.1k tokensUpdated 1 mo ago
    Auto-check passed
  • Agent Health Monitoring

    cosmicstack-labs/mercury-agent-skills

    Monitor AI agent health, detect anomalies, set up alerting, and maintain observability dashboards for production multi-agent systems.

    476 GitHub stars~2.7k tokensUpdated 1 mo ago
    Auto-check passed
  • Agent Task Delegation

    cosmicstack-labs/mercury-agent-skills

    Design and operate task delegation systems for multi-agent fleets.

    476 GitHub stars~3.4k tokensUpdated 1 mo ago
    Auto-check passed

Works with

Questions about Any2pdf

What does Any2pdf do?

Convert Markdown to publication-quality PDF with reportlab — CJK/Latin mixed text, themes, cover pages, watermarks, callouts, formulas, and interactive theme selection. Any2pdf is an agent skill from cosmicstack-labs/mercury-agent-skills.

When should I use Any2pdf?

Any2pdf fits situations like: tasks that involve PDF; tasks that involve Data visualization; tasks that involve Markdown.

How do I install Any2pdf in Claude Code?

Run `npx skills add cosmicstack-labs/mercury-agent-skills --skill any2pdf -a claude-code`. Or copy the skill folder (categories/pdf-generation/any2pdf in cosmicstack-labs/mercury-agent-skills) into .claude/skills/any2pdf in your project. Claude Code loads it when a task matches its description.

How do I install Any2pdf in Codex?

Run `npx skills add cosmicstack-labs/mercury-agent-skills --skill any2pdf -a codex`. Or copy the skill folder (categories/pdf-generation/any2pdf in cosmicstack-labs/mercury-agent-skills) into .agents/skills/any2pdf in your project. Codex loads it when a task matches its description.

Can I use Any2pdf in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add cosmicstack-labs/mercury-agent-skills --skill any2pdf -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/any2pdf, .gemini/skills/any2pdf, .github/skills/any2pdf and .opencode/skills/any2pdf in your project.

What does Any2pdf need to run?

Going by SKILL.md and its folder, Any2pdf needs the command-line tools its instructions call (pip, git, npx, python and apt). Our summary lists: Python 3; Node.js.

Does Any2pdf access the network?

SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Any2pdf safe to install?

Our automated static check of SKILL.md found notes only (runs commands with sudo), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Any2pdf use?

Any2pdf is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Any2pdf use?

About 3.3k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Any2pdf?

Skills that share tags, products or a category with Any2pdf: Lov Any2pdf (lovstudio/any2pdf, 211 stars), PDF Toolkit (XiaomiMiMo/MiMo-Code, 14k stars), PDF Generation, Forms and Extraction (pipeshub-ai/pipeshub-ai, 3.8k stars) and Mineru (Nebutra/MinerU-Skill, 122 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Any2pdf?

cosmicstack-labs (a GitHub organization) maintains it in cosmicstack-labs/mercury-agent-skills, which has 476 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on August 25, 2026.

Source: cosmicstack-labs/mercury-agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.