Fable book
Skills I use with Claude Code every day
npx -y skills add itzTiru/claude-code-skills-fable5 --skill fable-bookAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 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.
What its author says it does
Copied from the file, not written here
Use when asked to turn a PDF, Markdown, HTML, or text source into a beautiful iPad-readable book or "fable book", to restyle a document in the Anthropic/Fable theme (warm ivory, coral, serif), or to make a long technical document "extremely readable" as a PDF for tablet reading.
SKILL.md
4.7 KB, as published. Nobody here has run it
Fable Book
Produce a print-quality PDF book in the Anthropic Fable design language: warm ivory paper, book-cloth coral accents, Source Serif 4 + Archivo + JetBrains Mono, tappable table of contents, nested bookmarks, exotic butterfly cover art, and botanical vignettes on pages with room to spare. Pages are 504 × 725 pt, the exact iPad Air 11" aspect ratio, so the book fills the screen with no letterboxing.
The output is not a conversion; it is a re-authored book. You read the source, then write structured HTML on top of the bundled design system.
Requirements
Chrome or Chromium headless, pdftotext/pdftoppm/pdfinfo (poppler), uv, and the
JetBrains Mono font installed (falls back to any mono otherwise). Fonts for the theme
are bundled in assets/fonts/.
Workflow
- Extract the source. PDFs:
pdftotext -layout src.pdf. Markdown/HTML: read directly. Understand the full content before structuring; never drop content silently. - Plan the book. Chapters, parts, front matter, appendices. Decide which prose becomes callouts, tables, formulas, code blocks, and figures. For long sources, keep the author's structure; for loose notes, impose one.
- Author
book.htmlin a work directory: concatenateassets/design-system.html, your body sections, then</body></html>. Replace{{TITLE}}. The HTML referencesfonts/fonts.cssrelatively; build.py copies the bundled fonts into the workdir automatically, so do not vendor them yourself. Use ONLY the markup patterns inreferences/components.md; that file is the contract. Every page-starting element needs anidplus a[[id]]pgmark marker, and the ToC usesdata-refplaceholders. - Write
book.config.json(schema at the end of components.md): title, author, metadata, and the nested outline whose refs match your pgmark ids. - Build:
uv run --with pypdf --with reportlab --with pillow --with numpy python3 scripts/build.py <workdir>The script renders twice through Chrome (real ToC page numbers), stamps the ivory underlay and cover band, detects pages with empty bottoms and adds plant-and- butterfly vignettes, then writes page numbers, bookmarks, and metadata intofinal.pdf. - Visual QA, always. Render pages with
pdftoppm -png -r 120and LOOK at them: cover, ToC, one chapter opener, every figure, one table-heavy page, the closing page. Fix and rebuild until clean. Common defects: SVG text clipped at a viewBox edge, a table splitting awkwardly, a butterfly overlapping text. - Deliver the PDF next to the source, named after the book title in kebab-case (or the name the user asked for). Keep the workdir if the user may iterate.
Design rules
- Follow the palette and type roles in the design system; do not invent new colors.
Chart series colors: coral
#D97757first, teal#0B9678second (both validated for colorblind contrast on ivory). - Figures are hand-drawn-style inline SVG: 1.3 px ink strokes, rounded corners, manilla/ivory fills, coral accents, Archivo caps labels.
- Prose style: no em dashes, ever. Use commas, colons, or semicolons.
- The cover credit reads "Prepared for NAME · by Claude Fable 5".
- Butterflies and vignettes decorate; they never overlap or crowd text.
Gotchas (each cost a debugging round once)
- Chrome does not paint backgrounds into
@pagemargins; the ivory full-bleed comes from the build script's underlay stamp. Do not fight it in CSS. - URLs inside
fonts/fonts.cssare relative to that CSS file, not the HTML. - pgmark markers must be the visible-ish 2.5pt paper-colored spans the design system defines; at 1pt Chrome drops glyphs and page mapping silently fails.
- Internal
#anchorlinks survive Chrome print-to-pdf as tappable PDF links; the outline and ToC depend on them. break-inside: avoidis already set on notes, figures, and code; do not wrap whole chapters in it or pagination degrades.- A pagination-affecting edit requires a full rebuild; ToC numbers and vignette placement both depend on the final layout.
Layout of this skill
assets/design-system.html: CSS tokens, all components, spark + butterfly SVG defsassets/fonts/,assets/vign/: bundled fonts and six vignette PNGsscripts/build.py: the whole pipeline (render, ToC, underlay, vignettes, outline)references/components.md: copy-paste markup for every component + config schema