← All skills
pdf
67 / 100 · Review before installing
Check before installing. Some of what it can do is expected: a research skill usually looks things up on the internet.
By zai-org/ZCode (GitHub) · research · 8,613 stars · scanned at commit b95ebaf
Professional PDF toolkit covering four production workflows: reports, creative visuals, academic LaTeX, and existing PDF processing. Routes automatically by document type and supports reports, posters, papers, resumes, extraction, merging, splitting, and form filling. Use this skill for any conversion whose output is a PDF: Office → PDF (.docx/.doc/.pptx/.ppt/.xlsx/.xls/.odt/.odp/.ods/.rtf/.csv/.txt → PDF), HTML → PDF, and LaTeX/.tex → PDF; also PDF → images, PDF → text, and PDF → tables when r…
Works with any agent that supports SKILL.md skills.
What this skill can do
Runs commands on your computer
The author does not mention this.
Found in 37 places.
Show 17 more
- apps/zcode-cli/packages/pdf-plugin/skills/pdf/SKILL.md, line 364
node "$PDF_SKILL_DIR/scripts/html2pdf-next.js" input.html --output output.pdf --width 210mm --height 297mm - apps/zcode-cli/packages/pdf-plugin/skills/pdf/SKILL.md, line 582
env.check # Check deps - apps/zcode-cli/packages/pdf-plugin/skills/pdf/SKILL.md, line 614
check-html <html> # Pre-render validation (overflow:hidden, @media screen, fonts, contrast, etc.) - apps/zcode-cli/packages/pdf-plugin/skills/pdf/SKILL.md, line 650
compile --blueprint <json_file> --output poster.html # CRITICAL: Compile JSON blueprint to HTML - apps/zcode-cli/packages/pdf-plugin/skills/pdf/SKILL.md, line 661
palette.generate --title "document title" --mode minimal # Output: ready-to-paste ReportLab Python code - apps/zcode-cli/packages/pdf-plugin/skills/pdf/SKILL.md, line 669
palette.cascade --title "document title" --mode minimal # Output: summary table with all 12 roles - apps/zcode-cli/packages/pdf-plugin/skills/pdf/SKILL.md, line 773
PDF_SKILL_DIR="<skill_directory>" # ← parent directory of this SKILL.md - apps/zcode-cli/packages/pdf-plugin/skills/pdf/SKILL.md, line 807
python3 "$PDF_SKILL_DIR/scripts/pdf_qa.py" <output.pdf> - apps/zcode-cli/packages/pdf-plugin/skills/pdf/env_setup/setup_mac_linux.sh, line 75
info "Install: /bin/bash -c \"\$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"" - apps/zcode-cli/packages/pdf-plugin/skills/pdf/scripts/cover_render.py, line 107
out = subprocess.run(["fc-list", pat, "file"], capture_output=True, - apps/zcode-cli/packages/pdf-plugin/skills/pdf/scripts/html2pdf-next.js, line 25
const { execSync, spawnSync } = require('child_process'); - apps/zcode-cli/packages/pdf-plugin/skills/pdf/scripts/html2pdf-next.js, line 45
const g = execSync('npm root -g', { stdio: ['ignore', 'pipe', 'ignore'] }).toString().trim(); - apps/zcode-cli/packages/pdf-plugin/skills/pdf/scripts/html2pdf-next.js, line 61
const g = execSync('npm root -g', { stdio: ['ignore', 'pipe', 'ignore'] }).toString().trim(); - apps/zcode-cli/packages/pdf-plugin/skills/pdf/scripts/html2pdf-next.js, line 89
const r = spawnSync('npx', ['playwright', 'install', 'chromium'], { stdio: 'inherit', shell: true }); - apps/zcode-cli/packages/pdf-plugin/skills/pdf/scripts/html2poster.js, line 36
const { execSync, spawnSync } = require('child_process'); - apps/zcode-cli/packages/pdf-plugin/skills/pdf/scripts/html2poster.js, line 57
const g = execSync('npm root -g', { stdio: ['ignore', 'pipe', 'ignore'] }).toString().trim(); - apps/zcode-cli/packages/pdf-plugin/skills/pdf/scripts/pdf.py, line 175
result = subprocess.run(
and 17 more places
Downloads and installs other software
The author does not mention this.
Found in 100 places.
Show 17 more
- apps/zcode-cli/packages/pdf-plugin/skills/pdf/briefs/academic.md, line 997
| macOS (Homebrew) | `brew install tectonic` | - apps/zcode-cli/packages/pdf-plugin/skills/pdf/briefs/academic.md, line 998
| macOS (binary) | `curl -sSL https://drop-sh.fullyjustified.net \| sh` | - apps/zcode-cli/packages/pdf-plugin/skills/pdf/briefs/academic.md, line 999
| Debian / Ubuntu | `apt install tectonic` (if available) or conda/binary | - apps/zcode-cli/packages/pdf-plugin/skills/pdf/briefs/process-advanced.md, line 198
Prerequisites: `pip install pdf2image pytesseract` + install Tesseract OCR and poppler. - apps/zcode-cli/packages/pdf-plugin/skills/pdf/briefs/process.md, line 17
> 3. **Install it now.** **Preferred source — Tsinghua TUNA mirror:** `https://mirrors.tuna.tsinghua.edu.cn/libreoffice/libreoffice/stable/26.8.0/` — choose the - apps/zcode-cli/packages/pdf-plugin/skills/pdf/configs/fonts.md, line 62
- **Linux**: `Noto Color Emoji` (install: `apt install fonts-noto-color-emoji`) - apps/zcode-cli/packages/pdf-plugin/skills/pdf/env_setup/setup.md, line 81
brew install python3 - apps/zcode-cli/packages/pdf-plugin/skills/pdf/env_setup/setup.md, line 82
python3 -m pip install reportlab pypdf PyMuPDF pikepdf pdfplumber - apps/zcode-cli/packages/pdf-plugin/skills/pdf/env_setup/setup.md, line 85
brew install node - apps/zcode-cli/packages/pdf-plugin/skills/pdf/env_setup/setup.md, line 86
npm install -g playwright@1.50.0 && npx playwright install chromium - apps/zcode-cli/packages/pdf-plugin/skills/pdf/env_setup/setup.md, line 90
brew install tectonic - apps/zcode-cli/packages/pdf-plugin/skills/pdf/env_setup/setup.md, line 93
brew install --cask libreoffice # fallback if the mirror is unreachable - apps/zcode-cli/packages/pdf-plugin/skills/pdf/env_setup/setup.md, line 100
sudo apt install python3 python3-pip - apps/zcode-cli/packages/pdf-plugin/skills/pdf/env_setup/setup.md, line 101
python3 -m pip install reportlab pypdf PyMuPDF pikepdf pdfplumber - apps/zcode-cli/packages/pdf-plugin/skills/pdf/env_setup/setup.md, line 104
sudo apt install nodejs npm - apps/zcode-cli/packages/pdf-plugin/skills/pdf/env_setup/setup.md, line 105
npm install -g playwright@1.50.0 && npx playwright install chromium && npx playwright install-deps - apps/zcode-cli/packages/pdf-plugin/skills/pdf/env_setup/setup.md, line 111
sudo apt install libreoffice-core # fallback if the mirror is unreachable
and 80 more places
Sends data to these websites: drop-sh.fullyjustified.net, z-cdn.chatglm.cn, pypi.org, raw.githubusercontent.com, deb.nodesource.com
This is disclosed by the author in the skill's SKILL.md or README. Expected for a research skill.
Found in 19 places.
Show 16 more
- apps/zcode-cli/packages/pdf-plugin/skills/pdf/env_setup/setup.md, line 285
curl -fSLO "$BASE/LibreOffice_${LO_VER}_Linux_${LO_TAG}_deb.tar.gz" - apps/zcode-cli/packages/pdf-plugin/skills/pdf/env_setup/setup.md, line 306
curl -fSLO "$BASE/LibreOffice_${LO_VER}_MacOS_${LO_TAG}.dmg" - apps/zcode-cli/packages/pdf-plugin/skills/pdf/env_setup/setup.md, line 324
Invoke-WebRequest -Uri "$Base/LibreOffice_${LoVer}_Win_${LoTag}.msi" -OutFile $Msi - apps/zcode-cli/packages/pdf-plugin/skills/pdf/env_setup/setup_mac_linux.sh, line 51
elif curl -s --connect-timeout 3 https://pypi.org > /dev/null 2>&1; then - apps/zcode-cli/packages/pdf-plugin/skills/pdf/env_setup/setup_mac_linux.sh, line 75
info "Install: /bin/bash -c \"\$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"" - apps/zcode-cli/packages/pdf-plugin/skills/pdf/env_setup/setup_mac_linux.sh, line 161
linux) info "Install: curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -" - apps/zcode-cli/packages/pdf-plugin/skills/pdf/env_setup/setup_mac_linux.sh, line 311
if curl -fSL --connect-timeout 15 --retry 2 -o "$USER_FONT_DIR/$fname" "$url" 2>/dev/null; then - apps/zcode-cli/packages/pdf-plugin/skills/pdf/env_setup/setup_windows.ps1, line 48
$null = Invoke-WebRequest -Uri "https://pypi.org" -TimeoutSec 3 -UseBasicParsing -ErrorAction Stop - apps/zcode-cli/packages/pdf-plugin/skills/pdf/env_setup/setup_windows.ps1, line 289
Invoke-WebRequest -Uri $url -OutFile $dest -TimeoutSec 30 -ErrorAction Stop - apps/zcode-cli/packages/pdf-plugin/skills/pdf/scripts/pdf.py, line 466
print(" Tectonic: curl -fsSL https://drop-sh.fullyjustified.net | sh # downloads LaTeX packages on first run") - apps/zcode-cli/packages/pdf-plugin/skills/pdf/scripts/pdf.py, line 2134
print(" macOS (binary): curl -sSL https://drop-sh.fullyjustified.net | sh") - apps/zcode-cli/packages/pdf-plugin/skills/pdf/scripts/pdf.py, line 2140
print(" Binary download: curl -sSL https://drop-sh.fullyjustified.net | sh") - apps/zcode-cli/packages/pdf-plugin/skills/pdf/scripts/setup.sh, line 39
info "Install: /bin/bash -c \"\$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"" - apps/zcode-cli/packages/pdf-plugin/skills/pdf/scripts/setup.sh, line 135
Linux) info "Install on demand: curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -" - apps/zcode-cli/packages/pdf-plugin/skills/pdf/scripts/setup.sh, line 203
info " or: curl -fsSL https://drop-sh.fullyjustified.net | sh" ;; - apps/zcode-cli/packages/pdf-plugin/skills/pdf/scripts/setup.sh, line 218
info " or: curl -fsSL https://drop-sh.fullyjustified.net | sh" ;;
Changes files outside its own folder
The author does not mention this.
Found in 11 places.
Show 8 more
Safer alternatives
Low-risk skills in the same category (research) that look related. Check that one does what you need.
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'pdf' ] || [ -L ~/.agents/skills/'pdf' ]; then echo 'A skill folder named pdf already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/zai-org/ZCode' "$d" && git -C "$d" checkout --quiet 'b95ebaffeab641907b38652f45c1502bd762972d' -- 'apps/zcode-cli/packages/pdf-plugin/skills/pdf' && mkdir -p ~/.agents/skills && cp -R "$d"/'apps/zcode-cli/packages/pdf-plugin/skills/pdf' ~/.agents/skills/'pdf' && rm -rf "$d"; fi
Codex reads ~/.agents/skills directly. For Claude Code, Cursor, Copilot, Gemini CLI, Antigravity or OpenCode, also link it. For Claude Code: ln -s ~/.agents/skills/'pdf' ~/.claude/skills/'pdf' (other agents: ~/.cursor/skills, ~/.copilot/skills, ~/.gemini/skills, ~/.gemini/config/skills, ~/.config/opencode/skills). Or install through the finder skill, which does both.
Badge for your README
The badge for zai-org/ZCode shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/zai-org/ZCode/)
Score history
| Date | Version | Score |
|---|
| 2026-11-11 | b95ebaf | 67 |
| 2026-11-08 | a9fe401 | 67 |
| 2026-11-07 | a9fe401 | 67 |
Also found in
Identical copies of this skill exist at:
- ZCodium-project/ZCodium/apps/zcode-cli/packages/pdf-plugin/skills/pdf