agentsclimarketplace

Pdf zine

Skill eins78/agent-skills/skills/pdf-zine

Use when converting a PDF into a fold-and-print booklet (zine) — A4 sheets, double-sided, short-edge flip, fold to A5. Triggers: make a zine, make a booklet, booklet PDF, imposition, fold-and-print, 2-up booklet, print as booklet, signature imposition, pdf-zine, pdf2zine, bookletimposer. Wraps the `pdf2zine` Docker-based CLI; prefer it over hand-rolled Ghostscript or pdfjam scripts.From its SKILL.md

Install
npx -y skills add eins78/agent-skills --skill pdf-zine

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

3 things to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
  • runs commandsInstructs the agent to run 7 commands, including `curl -fsSL https://github.com/eins78/pdf2zine/raw/refs/heads/main/pdf2zine > ~/bin/pdf2zine` and 6 more.
  • fetches URLsInstructs the agent to fetch 1 URL, including https://github.com/eins78/pdf2zine/raw/refs/heads/main/pdf2zine.

What its file declares

Copied from the file, not written here

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

3.7 KB, 892 tokens by cl100k_base, as published. Nobody here has run it

pdf-zine

Turn a PDF into a fold-and-print booklet ("zine"): A4 sheets, double-sided (short-edge flip), fold in half for an A5 booklet. Wraps the pdf2zine CLI, which itself wraps bookletimposer and qpdf in Docker so there's nothing to compile. Prefer this over hand-rolled Ghostscript or pdfjam imposition scripts — one command does it.

Prerequisites

  • Docker running (e.g. Docker Desktop)

  • The pdf2zine script on $PATH:

    curl -fsSL https://github.com/eins78/pdf2zine/raw/refs/heads/main/pdf2zine > ~/bin/pdf2zine
    chmod +x ~/bin/pdf2zine
    

No Docker? See ${CLAUDE_SKILL_DIR}/references/bookletimposer-native.md for a native bookletimposer install.

Quick Reference

FlagPurpose
(none)Move page 1 to the end (cover-flip), force A4 output
--keep-coverSkip the cover-flip — impose pages in original order
--keep-formatLet bookletimposer pick output size (skip the forced A4)
--Pass remaining args through to bookletimposer

Input: one PDF. Output: <input>_booklet.pdf next to the input.

Common Recipes

Default booklet (cover-flip, force A4)

pdf2zine doc.pdf
# → doc_booklet.pdf

Use this when the InDesign export put the cover's back on page 1 (common pattern). The script moves page 1 to the end, then 2-up imposes onto A4.

Cover already in the right place

pdf2zine --keep-cover doc.pdf

Use when page 1 is the front cover and should stay first.

Don't force A4 (e.g. A4 input → A3 output)

pdf2zine --keep-format doc.pdf

bookletimposer will pick a paper size that fits 2-up without scaling.

Pass-through to bookletimposer

pdf2zine doc.pdf -- --output custom.pdf
pdf2zine -- -h                              # show bookletimposer help

How it works

  1. qpdf --pages doc.pdf 2-z,1 -- moved.pdf moves page 1 to the end (skipped with --keep-cover).
  2. bookletimposer --no-gui --booklet [--format=A4] moved.pdf out.pdf does the 2-up imposition.
  3. Output is written next to the input as <name>_booklet.pdf.

Both steps run inside Docker images (eins78/qpdf, eins78/bookletimposer) — no local Python or PyPDF2 needed.

Common Mistakes

SymptomCauseFix
Cryptic Docker error / "Cannot connect to the Docker daemon"Docker isn't runningStart Docker Desktop, retry
Front cover ends up at the backDefault cover-flip applied to a PDF whose page 1 was already the coverAdd --keep-cover
Output forced to A4 when you wanted A3pdf2zine defaults to --format=A4Add --keep-format
"Multiple input files not supported"pdf2zine takes one PDFConcatenate first: qpdf --empty --pages a.pdf b.pdf -- merged.pdf
Wrong duplex setting at print timeLong-edge flip usedPrint double-sided, short-edge flip

Native (non-Docker) usage

If Docker isn't an option, run bookletimposer directly. Setup, CLI flags, and a recipe that reproduces pdf2zine's default behaviour live in ${CLAUDE_SKILL_DIR}/references/bookletimposer-native.md.

What ships with it: 2 files

5.8 KB alongside SKILL.md

references/

Gives 0 of the 12 instructions most pdf office docs skills give in 892 tokens

Counted across 569 of the 585 authors here whose files we hold, read 2026-09-06

  • Ensure every slide fits inside one viewportin 20 of 569, across 11 files
  • Check for product marketing context firstin 15 of 569, across 5 files
  • Ask for the minimum neededin 15 of 569, across 5 files
  • Set the API key environment variablein 15 of 569, across 10 files
  • Support keyboard and touch navigationin 14 of 569, across 5 files
  • Match the buyer stagein 13 of 569, across 3 files
  • Split overflowing content into multiple slidesin 12 of 569, across 3 files
  • Set page size explicitly for consistent resultsin 12 of 569, across 5 files
  • Convert documents to markdown using pandocin 12 of 569, across 6 files
  • Read STYLE_PRESETS.md before generatingin 12 of 569, across 7 files
  • Send multipart POST requests to the APIin 12 of 569, across 7 files
  • Use smart quotes for new contentin 11 of 569, across 4 files

Said here and by no other author read

  • Use pdf2zine to create a booklet
  • Run pdf2zine with keep cover if needed
  • Print double sided with short edge flip

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.