From paxus-skills
Build a vertical (portrait) print-ready PDF from HTML — proposals, board packages, one-pagers, reports, handouts. Hands over a proven portrait scaffold where one HTML page equals one PDF sheet, then gives clean export steps. Pulls colors, type, and spacing from a design system if one is available; falls back to a neutral professional style. Run when the deliverable is a vertical document that needs to print cleanly to PDF.
How this skill is triggered — by the user, by Claude, or both
Slash command
/paxus-skills:design-pdfThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are helping the operator produce a **vertical (portrait), print-ready PDF document** — the kind of thing you hand a client: a proposal, a board package, a one-pager, a report, a handout. You do this by giving them a proven HTML scaffold (the dimensions and structure) and a reliable export path, not by hand-rolling print CSS from scratch. Follow the phases in order. Be conversational and war...
You are helping the operator produce a vertical (portrait), print-ready PDF document — the kind of thing you hand a client: a proposal, a board package, a one-pager, a report, a handout. You do this by giving them a proven HTML scaffold (the dimensions and structure) and a reliable export path, not by hand-rolling print CSS from scratch. Follow the phases in order. Be conversational and warm — match the Paxus voice.
One <section class="page"> = one physical sheet. What the operator sees in the browser is exactly what prints to PDF. The scaffold makes that true. The operator's job is to fill the pages; your job is to set up the scaffold, fit it to whatever design system applies, and get it exporting cleanly.
[bracketed placeholder] in place and tell the operator to fill it. Never invent client details, figures, or branding.templates/presentation.html and work for any document. The look (colors, fonts, logo) is fuel: pull it from a design system when one exists, never hard-code a specific client's or firm's brand into this skill.@page rule, the print media query, color preservation — already lives in the template. Adapt content and tokens; leave the dimension engine alone.templates/presentation.html is missing or unreadable, stop and tell the operator the skill is corrupted and to re-install from the paxus-skills repo. Do not regenerate the template from memory.Ask these in one message:
reference/ or brand/ folder in the shared drive), a live website URL, or a set of brand colors/fonts. Or say none and I'll use a clean neutral style." (Per the firm's engine-vs-fuel rule, the design lives outside this skill — see docs/context-model.md.)deliverables/ folder if you're inside one.Wait for the answers before building.
If they pointed you at a design system:
If they said none: use the template's neutral defaults as-is. They're already professional — clean serif headings, sans body, a deep-blue accent, gray hairlines.
Either way, the tokens are the only thing that changes. The geometry stays fixed.
templates/presentation.html from this skill folder to the output location the operator chose, named for the document (e.g. acme-q3-board-package.html).:root block — the --color-* and --font-* variables. Don't touch the @page rule, the .page width/height, or the @media print block.@page { size: A4 portrait; } and --page-w: 210mm; --page-h: 297mm;.<section class="page"> blocks — a cover, content pages, a data/table page, a closing page. Keep the operator's real content where you have it; leave [bracketed placeholders] everywhere you don't.<section class="page">; one page element = one PDF sheet.overflow: hidden clips anything past the sheet edge — so when a page is too full, split it into two <section class="page"> blocks rather than shrinking text or removing the clip.print-color-adjust: exact stays in — it's what keeps background colors and shaded boxes in the exported PDF.@media print block stays in — it strips the on-screen gray gutter and shadows so each sheet maps 1:1 to a PDF page.Open the HTML file in Google Chrome (most reliable for print-to-PDF), then:
<section class="page"> blocks in the HTML. A mismatch means content overflowed onto an extra page — go back and split that page in Phase 3.[bracketed placeholder] text remains in a file that's about to go to a client. If any real values are still unknown, tell the operator which ones.Show the operator the file path and a one-line summary, then walk them through the export steps above.
Ask, one at a time:
If they have feedback, append to ~/.claude/skills/design-pdf/learnings.md:
## {YYYY-MM-DD} — {operator first name} — {document type}
- [LEARNING] {answer to #1}
- [SUGGESTION] {answer to #2}
If learnings.md doesn't exist, create it with the header # /design-pdf — Learnings followed by the entry. If they say "nothing" to both, accept and move on.
<section class="page">; never shrink the font or delete overflow: hidden to cram it in.<thead> on the second page's table so the columns stay labeled. Split the rows at a sensible boundary.<link> in the <head>; for a fully portable file with no internet, fall back to the closest system font.@page size and the --page-w / --page-h variables, or the screen view and the PDF won't match.@page { size: letter landscape; } and swap the width/height variables — but confirm that's really what they want first.:root, so the look can be retuned any time without touching content.npx claudepluginhub benalihq/paxus-skills --plugin paxus-skillsSearches MemPalace before answering questions about past work, people, projects, or prior decisions. Returns verbatim stored content instead of guessing from model memory.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.