skills/brochure/SKILL.md
Usage `rdc:brochure <input> [--out <path>] [--template <name>] [--format Letter|A4]` — Turn a zip, folder, HTML file, URL, or markdown folder into a print-quality PDF brochure via Puppeteer. Auto-detects print-variant HTML, honors @page CSS, falls back to a Studio-token-aware template when no HTML exists.
npx skillsauth add LIFEAI/rdc-skills rdc:brochureInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
⚠️ OUTPUT CONTRACT (READ FIRST):
guides/output-contract.mdChecklist-only output. No tool-call narration. No raw MCP/JSON/log dumps. One checklist upfront, updated in place, shown again at end with a 1-line verdict.
Sandbox contract: Honors
RDC_TEST=1. Under the flag the skill renders to a fixture path and skips any post-deploy or upload steps.
A focused render pipeline. Two modes:
places/<slug>/ or apps/<app>/ markdown package that needs a PDF artifact.apps/* and ships via Coolify — that goes through rdc:design + rdc:deploy.rdc:plan to scaffold first.rdc:brochure <input> — path to .zip, folder, .html, .md, or http(s)://... URL.--out <path> — output PDF path. Default: <input-basename>.pdf next to the input (or ./brochure.pdf for URLs).--template <name> — compose-mode template. Default studio-default. Templates live in scaffold/templates/brochure-*.html. An unknown name errors out and lists the available template(s) — it does not silently fall back.--format Letter|A4 — page size. Default Letter.--margin <css> — override margin. Default honors @page from source CSS, else 0.6in 0.7in.--no-print-emulate — render with screen media instead of print.--keep-workdir — keep the staged working directory for inspection.--auto-fit — inject corrective print-fit CSS (oversized images, wide tables, long code, heading orphans, figure splits) and log overflow diagnostics. Use when source HTML overflows page boundaries.--scale <n> — PDF scale factor (e.g. 0.92 to tighten). Default 1.Resolve input.
tmp/rdc-brochure/<hash>/src.index.html + linked assets via Puppeteer..html → stage as-is..md or folder-without-html → compose mode.Pick HTML in render mode.
@page or @media print rules.*-print.html, *-brochure.html, print.html.Compose mode.
scaffold/templates/brochure-studio-default.html).*.md, *.txt, images grouped by directory, cover.*, logo.*.tokens.css is present, prefer that.Render with Puppeteer.
headless: 'new', --font-render-hinting=none.waitUntil: 'networkidle0', await document.fonts.ready, then 1500ms settle.emulateMediaType('print') unless --no-print-emulate.printBackground: true, preferCSSPageSize: true.0.6in 0.7in default margins.Verify.
> 50KB.PDF: <absolute path>
Pages: <n>
Size: <human bytes>
Source: <input> → <chosen html or template>
npx puppeteer via the skill's own node_modules if present, otherwise an on-demand local install under ~/.cache/rdc-brochure/.scaffold/templates/brochure-*.html. New templates need rdc:plan if they cross the architectural-change-approval triggers.The executable is scripts/rdc-brochure.mjs (in the rdc-skills repo). Invoke directly:
node {RDC_SKILLS_ROOT}/scripts/rdc-brochure.mjs <input> [--out path] [--template name] [--format Letter|A4]
# Zip of deliverables with print HTML inside
rdc:brochure "C:/Users/me/Downloads/FuturVille Deliverables.zip"
# Folder of markdown + images, compose a brochure
rdc:brochure "places/futurville-vulcan" --template studio-default --out reports/futurville.pdf
# Single HTML to PDF, A4
rdc:brochure docs/source/some-prototype.html --format A4
# URL
rdc:brochure https://example.com/spec.html --out spec.pdf
development
Read recent enhancement-log entries, cluster failures by pattern, generate candidate verifier rules, test them against the known-good corpus and the failure corpus, and propose pull requests adding the highest-confidence rules to forbidden-patterns.json. Use this skill on a nightly cadence (3 AM PT), or manually when the user says "extract verifier rules", "promote enhancement log", "what new rules should we add", or after a significant brochure run produced many failures.
testing
Orchestrate a Brochurify job from source ingest through delivered PDF, using six parallel-dispatched typed sub-agents and the convergence loop. Use this skill EVERY TIME the user invokes Brochurify directly via "brochurify this", "make a brochure from", "convert this to a brochure PDF", or "rdc:brochurify". Also runs automatically when a job arrives from the broker via monkey_dispatch. The skill enforces D-001 through D-016 from the brochurify DECISIONS-LOG.
devops
The mandatory contract for authoring brochure JSX using @lifeai/brochure-kit. Use this skill EVERY TIME any AI engine (Claude, Cursor, Copilot, /design, Cowork, v0) generates JSX intended for the Brochurify pipeline — whether the user says "write a brochure," "make a one-pager," "draft a PDF report," or any equivalent. Also trigger when a file imports from @lifeai/brochure-kit. Failing to read this skill before authoring is a defect.
testing
Usage `rdc:housekeeping [--fix]` — Weekly maintenance audit: directory structure verification, PUBLISH.md URL validation, CLAUDE.md freshness, orphan detection, places compliance, and stale version scan. Produces `.rdc/reports/YYYY-MM-DD-housekeeping.md`. With `--fix`, auto-remediate safe issues.