What does this skill do, and when should you use it?
geo-report-pdf is a sub-skill of the geo-seo-claude collection with a single job: converting the GEO-AUDIT-REPORT.md produced by /geo audit into a polished, deliverable PDF. It uses a pure pandoc + Chrome headless pipeline with no Python or ReportLab dependencies. The output includes a dark cover page, score tables color-coded by threshold, severity-tagged findings, and automatic section page breaks. It fits consultants and GEO agencies who have already run an audit and need a client-facing deliverable.
1) Looks for GEO-AUDIT-REPORT.md in the current directory and tells you to run /geo audit first if it's missing; 2) extracts cover metadata from the report header (brand name, domain, GEO score, score label, date, business type, locations, CMS platform); 3) runs pandoc with a bundled HTML template and CSS to produce a self-contained GEO-REPORT.html, passing metadata via --metadata flags; 4) runs Chrome headless (--headless=new --print-to-pdf) to print the HTML to GEO-REPORT.pdf; 5) injected JavaScript colors XX/100 score cells by threshold (≥80 green, ≥65 blue, ≥50 amber, ≥35 orange, <35 red), adds severity-colored left borders to Critical/High/Medium/Low findings, and breaks major sections onto new pages; 6) reports the filename and size on completion, with open GEO-REPORT.pdf for preview.
- GEO/SEO consultants: after running /geo audit, turn raw results into a professional PDF you can hand to a client.
- Digital agencies: batch-produce uniformly formatted audit reports with branded covers and 90-day roadmaps for each client site.
- Freelancers: sell AI-search optimization diagnostics and need a low-effort report polish step without writing Python.
- Agency teams: customize typography, colors, and cover layout via the CSS and HTML template to match in-house branding.
- Site owners: print an audit of their own site to an offline PDF to share with non-technical decision-makers.
How do you install this skill?
- This is a static source review; no generation pipeline was executed and actual PDF rendering is independently unverified.
- The skill depends on shared template files (geo-report-template.html / geo-report-style.css); verify they exist at ~/.claude/skills/geo/templates/ after install.
- Chrome headless is run with --no-sandbox; consider removing this flag in multi-user or untrusted environments.
- The Chrome path is hardcoded for macOS; Linux/Windows users must adjust it.
- Rendering of Chinese or other non-Latin fonts in the PDF is not addressed; preview before client delivery.
- Publisher is unverified in the FollowSkills registry; maintenance responsibility rests with current repo state.
- Shell / CLI
- Local filesystem
pandocGoogle Chrome (hardcoded macOS path: /Applications/Google Chrome.app/)
This skill ships inside the zubair-trabzada/geo-seo-claude collection (16 bundled skills). One-command install: curl -fsSL https://raw.githubusercontent.com/zubair-trabzada/geo-seo-claude/main/install.sh | bash (Windows: install-win.sh from Git Bash). Or manually: git clone https://github.com/zubair-trabzada/geo-seo-claude.git && cd geo-seo-claude && ./install.sh. Collection-wide requirements: Python 3.8+, Claude Code CLI, Git. This skill additionally requires pandoc (brew install pandoc) and Google Chrome installed at /Applications/Google Chrome.app/. Note: the SKILL.md does not document installing this sub-skill on its own.
tmp="$(mktemp -d)"
git clone --depth 1 https://github.com/zubair-trabzada/geo-seo-claude.git "$tmp"
mkdir -p ~/.claude/skills
cp -R "$tmp/skills/geo-report-pdf" ~/.claude/skills/
rm -rf "$tmp"Generated from the source repository and skill path; it copies only this skill's folder. If the author's install steps above differ, follow those first. To scope it to one project, replace ~/.claude/skills with that project's .claude/skills.
How do you use this skill?
Trigger the skill (the /geo report-pdf command per the README) in a directory containing GEO-AUDIT-REPORT.md. The flow is automated: read the report → extract cover metadata → run pandoc (template at ~/.claude/skills/geo/templates/geo-report-template.html) → run Chrome headless to produce GEO-REPORT.pdf → report file size; open GEO-REPORT.pdf to preview. If the report is missing, you'll be told to run /geo audit <url> first. Customization: edit geo-report-style.css for colors/typography, the template HTML for cover layout, the scoreColor() function for color thresholds, and the breakBefore array for page-break sections. If the PDF is blank, raise --virtual-time-budget to 8000.
What are this skill's strengths and limitations?
- Zero Python dependencies: a clean pandoc + Chrome pipeline — no ReportLab, no JSON wrangling.
- Genuinely client-ready output: dark cover page, score badge, color-coded tables, severity callouts, and page footers.
- Highly customizable with documented touchpoints: CSS, cover HTML, scoreColor() thresholds, and the breakBefore array.
- Clear failure mode when the upstream report is missing (prompts /geo audit first); template defaults cover absent metadata fields.
- Practical troubleshooting table (pandoc missing, Chrome path, blank PDF, font fallback).
- Tightly coupled upstream: requires GEO-AUDIT-REPORT.md from /geo audit; it produces no audit content itself.
- Chrome path is hardcoded to macOS (/Applications/Google Chrome.app/); Linux/Windows users must modify the command.
- No test evidence and no mention of cross-platform validation; the README architecture also lists a separate ReportLab PDF script, which can cause confusion.
- Cover metadata extraction depends on the report following the standard header format; deviations yield missing cover fields.
- It only formats — all audit and scoring capability lives in sibling skills and must not be attributed to this one.
How does this skill compare with similar options?
Side by side with related skills; every score comes from the same FSRS standard.
| Skill | FS score | Stars | Last updated | License |
|---|---|---|---|---|
| GEO PDF Report Generator this page | 50 · Use with care | ★ 11k | 20d ago | MIT |
| huashu-md-html Publishing Pipeline | 57 · Use with care | ★ 915 | 12d ago | MIT |
| GEO Monthly Delta Report Generator | 46 · Use with care | ★ 11k | 20d ago | MIT |
| Legal Analysis PDF Report Generator | 47 · Use with care | ★ 1.8k | 7mo ago | — |
| GEO Proposal Generator | 44 · Not recommended | ★ 11k | 20d ago | MIT |
The same repo's scripts/ folder contains an older Python ReportLab generator (generate_pdf_report.py, listed in the README). This skill is the alternative, Python-free pandoc + Chrome pipeline. No third-party competitors are named in the source.
How did FollowSkills review this skill?
Declared tools Read/Grep/Glob/Bash/Write; reads only a local GEO-AUDIT-REPORT.md and writes local HTML/PDF with no network egress or credential access; data flow is transparent. Deducted for: Chrome headless run with --no-sandbox (template injects JavaScript; a local file:// render still makes this an unnecessarily relaxed default) and absence of user-confirmation or rollback notes.
Step-by-step workflow with a troubleshooting table (missing pandoc, Chrome path, blank-PDF fix via --virtual-time-budget) and a graceful fallback of omitting missing --metadata fields. Deducted for: dependence on template files (geo-report-template.html / geo-report-style.css) whose existence and correctness cannot be verified in this evidence set, and static review cannot reproduce key paths.
Clear trigger condition (GEO-AUDIT-REPORT.md present, else explicit instruction to run /geo audit first) and concrete output spec. Deducted for: Chrome path hardcoded to macOS /Applications, no Linux/Windows coverage, unstated non-fit boundaries, and no mention of CJK/non-ASCII font rendering in the PDF.
Version 2.0.0, MIT license, well-layered documentation (prerequisites, steps, customization, troubleshooting). Deducted for: author listed as 'geo-seo-claude' rather than an accountable maintainer, no changelog, and implicit assumptions about template install location (~/.claude/skills/geo/templates/) not fully documented within the skill file.
Claims a client-ready PDF with cover, color-coded tables and pagination — concrete spec with clear marginal value over manual formatting. Deducted for: static review cannot verify template/render behavior, the 'No Python dependencies' claim coexists confusingly with repo-level requirements.txt and a separate ReportLab script, and no sample output is provided.
Author description only; no tests target this PDF skill (repo tests cover fetch_page.py SSR detection, unrelated here), no sample outputs or third-party execution evidence.
Open a dimension to read why it scored that way
Evidence confidence:Low — Mostly static review, author material or a limited demo; useful for discovery, not high-risk decisions.
See the full review method →