Skip to main content

minimax-pdf

A Claude Code skill from MiniMax-AI's skills repo that generates, fills, or reformats PDFs through a token-based design system — 15 cover styles, content-aware accent-color selection, and per-document-type typography. Three routes (CREATE / FILL / REFORMAT) gated on whether the user already has a source document.

Generate a print-ready PDF where the cover, accent color, and typography match the document's actual context — not the LLM's default 'Times New Roman + black' fallback

Source MiniMax-AI
License MIT
First documented
Receipts TODO

Trigger phrases

Phrases that activate this skill when typed to Claude Code:

  • make a polished PDF
  • generate a proposal PDF
  • reformat this Markdown to PDF

What it does

minimax-pdf is the PDF-generation skill in MiniMax-AI’s skills repo — and the wedge is the token-based design system that flows from document type through every page. Pick report and the cover is dark-background fullbleed with a dot grid and Playfair Display, accent rules under section heads, and an editorial body type. Pick magazine and the cover is warm cream with a centered stack, hero image, and Playfair Display. Pick terminal and you get near-black background, grid lines, monospace, neon-green accent. Fifteen cover patterns total, each with its own typeface pairing, and the same tokens (color, typography, spacing, accent) cascade through the body.

A route table picks the pipeline based on intent. CREATE runs the full palette.pycover.pyrender_cover.jsrender_body.pymerge.py chain when the user wants a new PDF from scratch. FILL runs fill_inspect.py then fill_write.py against an existing PDF with form fields. REFORMAT runs reformat_parse.py to extract content from an existing document, then hands off to the full CREATE pipeline. The decision rule: if the user has an existing document to start from, it’s REFORMAT; if not, it’s CREATE.

Content-aware accent-color selection is a separate move the skill makes. The skill has explicit guidance for picking the accent based on document semantics — legal/compliance/finance gets deep navy or charcoal, healthcare gets teal-green, technology/engineering gets steel blue, environmental gets forest, creative/arts gets burgundy or terracotta, academic gets deep teal, corporate gets slate, luxury gets warm black or deep bronze. The rule: pick what a thoughtful designer would pick for this specific document, not the doc-type’s default.

The body content is structured as JSON blocks: h1/h2/h3, body, bullet, numbered, callout, table (with accent header and alternating row tints), image, figure (auto-numbered captions), code (monospace with accent left border), math (LaTeX via matplotlib mathtext), chart (bar/line/pie via matplotlib), flowchart (nodes + edges), bibliography (numbered references with hanging indent), divider, caption, pagebreak, spacer. Print-ready output.

When to use it

  • Generating client-facing or external-facing PDFs where design identity matters — proposals, resumes, portfolios, reports, magazines, academic papers, posters
  • Reformatting an existing document (Markdown, DOCX, plain text, or another PDF) into a polished output where the source content stays intact but the visual identity changes
  • Filling form fields in an existing fillable PDF where the field map is known
  • Generating reports or whitepapers with charts, math, code blocks, and bibliographies — the JSON block schema covers all of those natively
  • Producing posters or magazine-style layouts where the cover patterns (magazine, darkroom, poster, editorial) actually carry visual weight

When not to reach for it:

  • Receipts, invoices, simple data tables — the design system overhead doesn’t pay off when “any PDF works”
  • Forms with dynamic field generation — the skill’s FILL route assumes a known field map, not field synthesis
  • Documents with tightly-controlled corporate brand requirements where the 15 cover patterns aren’t a fit and you need a custom template path
  • Print-shop output requiring CMYK color profiles, exact bleed/trim specs, or PDF/X-1a — the skill is RGB and design-forward, not pre-press-grade

Install

From MiniMax-AI/skills at skills/minimax-pdf/. Drop into ~/.claude/skills/minimax-pdf/. Plugin marketplace install: claude plugin marketplace add https://github.com/MiniMax-AI/skills then claude plugin install minimax-skills.

The skill ships scripts under scripts/ (Python for palette.py, render_body.py, merge.py, fill_inspect.py, fill_write.py, reformat_parse.py; Node for render_cover.js). A bash scripts/make.sh run wrapper drives the full CREATE pipeline end-to-end. Python 3.10+ and Node 20+ are the toolchain expectations. Read design/design.md first before any CREATE or REFORMAT work — that’s a hard rule from the skill itself.

What a session looks like

  1. Route decision. “Do you have an existing document?” If yes → REFORMAT. If no → CREATE. If the user wants form values written into a PDF → FILL.
  2. Doc-type pick (CREATE / REFORMAT). Skill picks one of 15 doc types — report, proposal, resume, portfolio, academic, general, minimal, stripe, diagonal, frame, editorial, magazine, darkroom, terminal, poster. Each has a baked-in cover pattern and typography stack.
  3. Accent color pick. Skill consults the content-context table and picks an accent — deep navy for legal, teal-green for healthcare, steel blue for tech, forest for environmental, burgundy for creative, slate for corporate, warm black for luxury. Override with --accent "#HEX" if the operator has a brand color.
  4. Content blocks. Operator provides content.jsonh1 / h2 / body / bullet / callout / table / image / figure / code / math / chart / flowchart / bibliography / divider / caption / pagebreak / spacer.
  5. Pipeline run. bash scripts/make.sh run --title "..." --type proposal --author "..." --date "..." --accent "#2D5F8A" --content content.json --out report.pdf — kicks off palette.pycover.pyrender_cover.jsrender_body.pymerge.py.
  6. Verify. Open the resulting PDF. Cover matches the chosen pattern, accent flows through section rules / callout bars / table headers, typography matches the doc-type stack.

The discipline that makes it work: the design tokens flow from doc-type pick + accent pick through every page automatically. There’s no per-section design decision to drift on — the cover and the body share one palette, one type stack, one accent. That’s what produces output that looks like one document, not a Frankenstein.

Receipts

TODO — to be filled in from a real run. Once the skill has been used to generate a real PDF (likely a proposal, report, or resume with content the operator actually owns), this section will capture: which doc-type and accent the skill picked vs. what the content actually called for, whether the cover-pattern → body-token cascade held up across all pages, and how the chart / math / table blocks rendered (most common failure mode: chart geometry off when the dataset is unbalanced; math block falls back to system fonts when the LaTeX expression has unusual symbols).

Source and attribution

From MiniMax-AI’s skills repository, an MIT-licensed skill collection.

License: MIT.

The wedge over a generic “PDF generator” agent: token-based design with content-aware accent picking. Most LLM-driven PDF generation produces plausible documents — fine typography, correct content, no design identity. This skill ships 15 distinct visual identities and forces a deliberate pick before generation. The “choose what a thoughtful designer would pick for this specific document” rule for the accent color is the part that separates output that looks designed from output that looks defaulted.