agentsclimarketplace

Visibly seo pdf build

Skill AntonioBlago/claude-code-seo-starter/.claude/skills/visibly-seo-pdf-build

Build a clean, brand-compliant PDF from an analysis or offer. Use when the user asks to generate, render, or export a client-ready PDF presentation or document with their corporate identity — cover page, header/footer, section bars, tables, ROI boxes.From its SKILL.md

Install
npx -y skills add AntonioBlago/claude-code-seo-starter --skill visibly-seo-pdf-build

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 2 stars2 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.

SKILL.md

3.4 KB, as published. Nobody here has run it

CI-Compliant PDF Build

Render a brand-compliant, client-ready PDF with fpdf2 (or a PDF MCP if one is connected — prefer it when available).

Step 1 — Start from the Python template

Import the reusable CIPDF class from claude_tools/ci_pdf.py — it already implements cover, header/footer, section bars, body, bullets, wrapping tables and KPI/ROI boxes, and pulls all brand colours/fonts from templates/ci/brand.py (one source of truth). Don't reinvent the layout or re-declare the CI.

from claude_tools.ci_pdf import CIPDF
pdf = CIPDF()
pdf.cover("SEO Strategy & Offer", "Example GmbH", "2026-06-13")
pdf.add_page(); pdf.section("1. Executive Summary"); pdf.body("…")
pdf.kpi_box("ROI (realistic)", "233 %", "good")
pdf.output("clients/<domain>/<date>_Offer/offer.pdf")

Run via the venv: .\claude_tools_venv\Scripts\python.exe your_build_script.py (setup once with .\claude_tools\setup.ps1). templates/pdf_example.py remains a standalone, zero-config reference if you want a copy to hack on without the package.

Step 2 — Register fonts correctly

CIPDF registers the brand fonts for you (always with uni=True, so ä ö ü ß é ñ render) if templates/ci/brand.py points FONTS at real .ttf files that exist — otherwise it falls back to Helvetica so the build never crashes. So the one-time job is: drop the brand TTFs in fonts/ and set their paths in brand.py. Headings and body should use distinct brand fonts.

If you build a PDF outside CIPDF, register fonts the same way — always uni=True:

pdf.add_font("Heading", "",  f"{FONT_DIR}/Heading-Regular.ttf", uni=True)
pdf.add_font("Heading", "B", f"{FONT_DIR}/Heading-Bold.ttf",    uni=True)
pdf.add_font("Body",    "",  f"{FONT_DIR}/Body-Regular.ttf",    uni=True)

Step 3 — Apply the CI

  • Cover: dark background, accent bar, white title, brand + client + date + contact.
  • Header/footer: dark bar + accent line; brand left, contact centred.
  • Section titles: accent bar + bold heading font.
  • Tables: accent header row (white text), alternating white / light-gray body rows.
  • KPI / ROI boxes: colour-coded (good / warning / critical) — avoid pure red-green only; add a second cue so it survives grayscale and colour-blind readers.

Step 4 — Standard structure

Cover → table of contents → content sections → investment / ROI / next steps → contact footer.

Step 5 — Typography & correctness rules

  • Real accented characters, never ASCII (für, not fuer).
  • Real symbols: ® ™ ©, never (R) / (TM) / (C).
  • Break wide tables: when a cell exceeds ~50 characters, switch from a simple table row to manual multi_cell layout so the text wraps and stays readable.

Step 6 — Verify before shipping

Open the rendered PDF and check cover, fonts, accents, table wrapping, and page breaks. Never hand over a PDF you haven't looked at.

Output

A4 PDF in the client's task folder. Slash command: /visibly-seo-pdf-build <script.py>. Best practices: docs/best-practices.md.

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.