# Geo Report PDF

Generate a professional PDF report from a GEO audit using pandoc + Chrome headless.

- Repository: https://github.com/zubair-trabzada/geo-seo-claude (11403 stars)
- Category: Documents
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add zubair-trabzada/geo-seo-claude --skill geo-report-pdf -g -a claude-code -y`
Codex: `npx skills add zubair-trabzada/geo-seo-claude --skill geo-report-pdf -g -a codex -y`
Cursor: `npx skills add zubair-trabzada/geo-seo-claude --skill geo-report-pdf -g -a cursor -y`
Gemini CLI: `npx skills add zubair-trabzada/geo-seo-claude --skill geo-report-pdf -g -a gemini-cli -y`

## Description

Generate a professional PDF report from a GEO audit using pandoc + Chrome headless. Converts GEO-AUDIT-REPORT.md into a styled, client-ready PDF with a cover page, color-coded score tables, severity-tagged findings, and a 90-day roadmap.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# GEO PDF Report Generator (pandoc pipeline)

## Prerequisites

- **pandoc**, `brew install pandoc`
- **Google Chrome**, must be installed at `/Applications/Google Chrome.app/`

No Python dependencies. No ReportLab. No JSON data wrangling.

## How It Works

1. Read `GEO-AUDIT-REPORT.md` in the current directory (created by `/geo audit`)
2. Extract cover metadata from the report (brand name, domain, GEO score, date, locations)
3. Run `pandoc` with the bundled CSS + HTML template to produce a self-contained `GEO-REPORT.html`
4. Run Chrome headless to print the HTML to `GEO-REPORT.pdf`

The pandoc template (`~/.claude/skills/geo/templates/geo-report-template.html`) injects:
- A full-bleed dark navy cover section with the GEO score badge
- Per-section cover metadata (date, business type, locations, platform)
- JavaScript that runs inside Chrome before printing to color-code score cells and severity-tag finding sections

## Workflow

### Step 1: Check for audit report

Look for `GEO-AUDIT-REPORT.md` in the current directory. If absent, tell the user to run `/geo audit <url>` first.

### Step 2: Extract cover metadata from the report

Read the top of `GEO-AUDIT-REPORT.md` and extract:

| Field | Where to find it |
|---|---|
| `brand_name` | First H1 title (after "GEO Audit Report:") |
| `domain` | Second bold line (e.g. `**Domain:** alexamediasolutions.com`) |
| `geo_score` | Line matching `## Overall GEO Score: XX / 100` |
| `score_label` | Word after the score on that same line (e.g. "Poor", "Fair", "Good") |
| `date` | `**Audit Date:**` line |
| `business_type` | `**Business Type:**` line |
| `locations` | `**Locations:**` line |
| `platform` | `**CMS:**` line |

### Step 3: Run pandoc

The rest: https://github.com/zubair-trabzada/geo-seo-claude/blob/HEAD/skills/geo-report-pdf/SKILL.md
