Convert an approved markdown lease abstract into a professional styled PDF using ReportLab/Platypus composition. TRIGGER when: user asks for "PDF", "render", "downloadable report", or asks to convert a markdown abstract to PDF. DO NOT TRIGGER when: user asks for extract/JSON, abstract/summary (text), CSV/Excel/export.
Convert an approved markdown lease abstract into a client-ready PDF with professional pagination, consistent typography, and table fidelity (no overflow, no clipping, repeatable across leases).
Hard constraints: per CLAUDE.md.
Date/currency conventions: per config/shared_constants.md.
LEASE_ABSTRACT_MD (markdown string produced by the lease-abstract skill)paper_size (default: Letter)orientation (default: portrait)include_toc (default: false unless requested)client_mode (default: false; hides internal debug notes)references/lease_abstract_pdf_style_tokens.yamlLEASE_ABSTRACT.pdf (attachment)\f page breaks are intentional (never insert mid-table).MM-DD-YYYY. Currency as $1,234.56.If any preflight check fails, return a short error report describing what must be fixed in the markdown before rendering.
Goal: make pagination + tables deterministic before the PDF engine sees the content.
\f before each ## section after the Executive Fact Sheet.\f: inside a table block, inside fenced code blocks, or between a heading and its immediate content.If renderer supports "keep-with-next": mark every H2 as keep-with-next with at least the next block. If not supported: the \f insertion rule is mandatory (guarantees no orphaned H2).
/, -, _, and after , in long comma-separated phrases.Primary (required): ReportLab/Platypus composition.
Why: deterministic pagination and true table wrapping (row-height growth + header repetition) without relying on external services or brittle HTML-to-PDF quirks.
Minimum implementation requirements:
#, ##, ###), paragraphs/lists, tables (pipe tables), hard page breaks (\f).Table/LongTable with:
colWidths that sum to available page widthrepeatRows=1 for header repetitionFor layout rules, read references/style_guide_pdf.md.
For design token values (typography, colors, spacing), read references/lease_abstract_pdf_style_tokens.yaml.
Section ordering note: The style_tokens YAML
pdf_subsection_hintsprovides a 15-section layout for PDF pages. Map the abstract's 7 canonical sections (defined in the lease-abstract skill) to these 15 subsections for finer-grained PDF pagination.
Minimum requirements:
\f as hard page breaksMM-DD-YYYY throughoutIf issues remain, fix markdown or adjust rendering settings and rerender.
If PDF quality is degraded (tables unreadable, clipping, broken formatting):
Provide a short confirmation:
Attach the PDF.