Two independently-built pipelines, proven across five shipped books, produce the trim-sized print PDF, EPUB, DOCX, and Markdown master a publishing channel actually requires. Nothing theoretical — this is a repeat of what already worked, twice.
Both were built independently, for the same problem, by sessions that didn't know the other existed. Which one applies depends entirely on what already exists for the book.
A build script parses markdown chapter source into structured components — chapter, part-opener, pull-quote, callout, reflect-box, timeline, quote-spread — and assembles the final HTML.
@page rulespagedjs-cliCopy the finished book's HTML as the new book's structural template, reference the shared stylesheet, replace content, keep every class name intact.
Chrome-headless rendering silently drops running heads and page-number counters. The page count is right, the content is right, nothing errors — the only way to catch it before a printer does is to know it's there. This specialist renders with pagedjs-cli and names the gotcha every time, never as a footnote.
Every finished book — regardless of which pipeline built it — packages to the same six files, plus a README stating what each one is for.
Both pipelines independently landed on 6in × 9in trade trim. Neither converged on the same margins — and this skill doesn't force them to.
| Spec | CSS Paged Media | Structural Template |
|---|---|---|
| Trim | 6in × 9in | 6in × 9in |
| Top / Bottom | 0.95in / 1in | 1in / 1in |
| Left / Right | 1in / 1in | outer 1.1in / inner 0.85in |
| Running heads | @page :left / :right | undocumented — verify before assuming |
| Render | pagedjs-cli | Chrome print-to-PDF |
SKILL.md lets it auto-discover and trigger from a natural request.No. It never rewrites, trims, or "improves" a sentence — that's a different skill's job entirely. This one lays out finished prose exactly as written.
It accepts a clearly marked placeholder and flags it — it doesn't block, and it doesn't write a title for you.
No. Cover creative direction is a separate, not-yet-built skill. This one places a finished cover file into the package.
No — it hands off a complete package for the operator to take through the ISBN/upload step. That relationship stays operator-only.