Agent skill
pdf-leadmagnet-xavierfuentes-xavierfuentes-com-f96a43c6
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/testing/pdf-leadmagnet-xavierfuentes-xavierfuentes-com-f96a43c6
SKILL.md
PDF Lead Magnet Generator
Generate professional PDF lead magnets (ebooks, checklists, cheatsheets) with consistent branding and high-quality typography.
Agent Integration
Which agents can use this skill:
| Agent | Usage |
|---|---|
| drafting | When an idea has lead_magnet specified, can create companion PDF content |
| projection-blog | Reference lead magnets in blog CTAs |
| projection-newsletter | Include lead magnets in newsletter issues |
| editorial | Review lead magnet content quality |
Primary usage: Manual invocation via generate.py script. Future: Dedicated lead-magnet agent for automated PDF creation from idea files.
When to Use Each Template
| Template | Use For | Pages | Example |
|---|---|---|---|
| ebook | Long-form guides, multi-chapter content | 5-30+ | "The Complete Guide to Technical Due Diligence" |
| checklist | Actionable step-by-step lists | 1-3 | "First 90 Days as CTO Checklist" |
| cheatsheet | Quick reference, condensed info | 1-2 | "Build vs Buy Decision Framework" |
How PDFs Are Created
The workflow: Markdown content → HTML (via templates) → PDF
your-content.md → template.html + CSS → weasyprint/pdfkit → output.pdf
What you control:
- Content: Write in Markdown with special syntax for callouts/checkboxes
- Structure: Use Markdown headings (H1, H2, H3) to define sections
- Page breaks: Use HTML tags or heading levels to force breaks
- Styling: Choose template type (ebook/checklist/cheatsheet), colours via CLI args
What the templates handle:
- Cover page (auto-generated from title/subtitle/author)
- Typography and spacing
- Callout box styling
- Page headers/footers
- Print-optimised CSS
Content Structure Guide
Markdown → PDF Mapping
| Markdown | PDF Result |
|---|---|
# Heading 1 |
Chapter title (forces page break in ebook) |
## Heading 2 |
Section heading with accent border |
### Heading 3 |
Subsection heading |
- [ ] Item |
Styled checkbox (empty) |
- [x] Item |
Styled checkbox (checked) |
::: tip ... ::: |
Golden accent callout box |
::: warning ... ::: |
Orange warning box |
::: key-takeaway ... ::: |
Full-width dark box |
> Quote text |
Pull quote with accent styling |
| Tables | Styled tables with header row |
Controlling Pages and Layout
1. Force a page break:
<div class="page-break-before">
## New Section
This starts on a fresh page.
</div>
2. Keep content together (don't split):
<div class="avoid-break">
This entire block stays on one page if possible.
- Item 1
- Item 2
- Item 3
</div>
3. Heading levels determine breaks:
# H1→ Always starts new page (ebook template)## H2→ Stays with following content- Callout boxes → Never split across pages
Example: Checklist Structure
# First 90 Days Checklist
Brief intro paragraph...
## Phase 1: Deep Listening (Weeks 1-4)
Your job is to understand, not to act.
- [ ] Schedule 1:1s with every direct report
- [ ] Shadow key meetings without contributing
- [ ] Read all post-mortems from last 12 months
::: tip
The moment you start offering opinions, people stop telling you the truth.
:::
## Phase 2: Mapping (Weeks 5-8)
<div class="page-break-before">
Now form your internal picture.
- [ ] Identify what's actually working
- [ ] Map the political landscape
- [ ] Document constraints that shaped decisions
</div>
::: warning
Don't share your conclusions yet — you're still learning.
:::
Example: Ebook Structure
# Chapter 1: The Problem
Opening hook that grabs attention...
## Why Most Teams Fail
Body content explaining the core issue...
::: key-takeaway
The single most important insight from this chapter.
:::
<div class="page-break-before">
# Chapter 2: The Framework
</div>
## Step 1: Assess
Detailed explanation...
## Step 2: Decide
More content...
Required Inputs (CLI Arguments)
python generate.py \
--template ebook # ebook | checklist | cheatsheet
--title "Title" # Cover page title
--subtitle "Subtitle" # Cover page subtitle (optional)
--author "Name" # Default: Xavier Fuentes
--content file.md # Your Markdown content file
--output output.pdf # Where to save the PDF
--brand-colour "#hex" # Default: #0d2818 (Deep Jungle)
--accent-colour "#hex" # Default: #d4a05e (Golden Amber)
--logo path/to/logo # Optional logo file
--debug # Save intermediate HTML for debugging
Generation Process
1. Prepare Content
Create a markdown file with your content:
# Section Title
Introduction paragraph...
## Subsection
Content with **bold** and *italic* formatting.
::: tip
This is a tip callout box.
:::
::: warning
This is a warning callout box.
:::
::: key-takeaway
This is a key takeaway box.
:::
- [ ] Checklist item one
- [ ] Checklist item two
- [x] Completed item
2. Generate PDF
python .claude/skills/pdf-leadmagnet/scripts/generate.py \
--template ebook \
--title "Your Title" \
--subtitle "Your Subtitle" \
--author "Xavier Fuentes" \
--brand-colour "#1a1a2e" \
--accent-colour "#e94560" \
--content content.md \
--output output/my-leadmagnet.pdf
3. Output
PDFs are generated to the specified output path. Default naming convention:
{slug}-leadmagnet.pdf(e.g.,first-90-days-checklist.pdf)
Output location: content/assets/ for production files.
Brand Reference
See docs/guides/brand-guide.md for the full Mad Monkey Club visual system.
Default colours (jungle palette):
| Colour | Hex | Usage |
|---|---|---|
| Deep Jungle | #0d2818 |
Cover backgrounds, headers |
| Forest | #1a3c34 |
Secondary backgrounds |
| Golden Amber | #d4a05e |
Accents, CTAs, highlights |
| Warm White | #faf9f7 |
Page backgrounds |
Typography: Sora (headings) + Source Sans 3 (body)
Override via CLI args: --brand-colour "#hex" --accent-colour "#hex"
Template Features
All Templates Include
- Professional cover page with title, subtitle, author
- Consistent header/footer with page numbers
- Styled callout boxes (tip, warning, note, key-takeaway)
- Custom checkbox styling for checklists
- Pull quote styling
- Code block formatting
- Page break controls
Ebook Template
- Multi-page support with automatic pagination
- Table of contents (optional)
- Chapter dividers
- Welcome/intro section template
- CTA section at the end
Checklist Template
- Large, prominent checkboxes
- Step numbering with visual hierarchy
- Compact single/double-page layout
- Space for notes
Cheatsheet Template
- Dense information layout
- Multi-column support
- Quick reference tables
- Condensed typography
Page Break Control
Use these classes in your content:
<div class="page-break-before">
Content that starts on a new page
</div>
<div class="page-break-after">
Content followed by a page break
</div>
<div class="avoid-break">
Content that should stay together
</div>
Setup
Quick Setup (using virtual environment)
# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate
# Install Python dependencies
pip install -r .claude/skills/pdf-leadmagnet/requirements.txt
# Install wkhtmltopdf (recommended PDF engine)
brew install wkhtmltopdf
Dependencies
The generate script tries multiple PDF engines in order:
- pdfkit (wkhtmltopdf) — Best CSS support, recommended
- weasyprint — Good fallback, pure Python
Required Python packages (in requirements.txt):
markdown— Markdown to HTML conversionjinja2— Template renderingpdfkit— PDF generation (requires wkhtmltopdf)
Install the recommended option:
# macOS
brew install wkhtmltopdf
pip install markdown jinja2 pdfkit
# Or use weasyprint (no system deps)
pip install markdown jinja2 weasyprint
Context Files
context/design-principles.md— Visual design guidelinescontext/typography.md— Font pairings and sizing rulescontext/structure.md— Content structure patterns
Examples
Generate a Checklist
python .claude/skills/pdf-leadmagnet/scripts/generate.py \
--template checklist \
--title "First 90 Days as CTO" \
--subtitle "A Restraint-First Checklist" \
--content first-90-days-checklist.md \
--output content/assets/first-90-days-checklist.pdf
Generate an Ebook
python .claude/skills/pdf-leadmagnet/scripts/generate.py \
--template ebook \
--title "Build vs Buy" \
--subtitle "A Decision Framework for Technical Leaders" \
--content build-vs-buy-guide.md \
--output content/assets/build-vs-buy-framework.pdf
Didn't find tool you were looking for?