MR
Mayur Rathi
@sickn33
⭐ 47.3k GitHub stars

geo-report-pdf

geo-report-pdf is an code AI skill with a core value of Generate a professional PDF report from a GEO audit using pandoc + Chrome headless. It helps developers solve real-world problems in the code domain, boosting efficiency, automating repetitive tasks, and optimizing workflows.

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

Last verified on: 2026-10-06

Quick Facts

Category code
Works With Claude
Source sickn33/antigravity-awesome-skills
Stars ⭐ 47.3k
Last Verified 2026-10-06
Risk Level Low
mkdir -p ./skills/geo-report-pdf && curl -sfL https://raw.githubusercontent.com/sickn33/antigravity-awesome-skills/main/skills/geo-report-pdf/SKILL.md -o ./skills/geo-report-pdf/SKILL.md

Run in terminal / PowerShell. Requires curl (Unix) or PowerShell 5+ (Windows).

Skill Content

# 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 (`references/` templates in this skill or user-provided 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


bash
pandoc GEO-AUDIT-REPORT.md \
  --to html5 \
  --standalone \
  --embed-resources \
  --template ~/.claude/skills/geo/templates/geo-report-template.html \
  --css ~/.claude/skills/geo/templates/geo-report-style.css \
  --metadata title="GEO Audit Report — <brand_name>" \
  --metadata brand_name="<brand_name>" \
  --metadata domain="<domain>" \
  --metadata geo_score="<geo_score>" \
  --metadata score_label="<score_label>" \
  --metadata date="<date>" \
  --metadata business_type="<business_type>" \
  --metadata locations="<locations>" \
  --metadata platform="<platform>" \
  -o GEO-REPORT.html

Replace `<field>` placeholders with values extracted in Step 2. If a field is not found in the report, omit that `--metadata` flag — the template has sensible defaults.


Step 4: Run Chrome headless


bash
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
  --headless=new \
  --disable-gpu \
  --no-sandbox \
  --print-to-pdf="$(pwd)/GEO-REPORT.pdf" \
  --print-to-pdf-no-header \
  --no-pdf-header-footer \
  --virtual-time-budget=5000 \
  "file://$(pwd)/GEO-REPORT.html"

Step 5: Report completion


Tell the user:

- `GEO-REPORT.pdf` was generated in the current directory

- File size

- Optionally: `open GEO-REPORT.pdf` to preview it


What the PDF Contains


- **Cover page** — Dark navy gradient, brand name, domain, GEO score badge (colored by score), audit date, business type, locations, CMS platform

- **Score tables** — Cells containing `XX/100` are color-coded: ≥80 green, ≥65 blue, ≥50 amber, ≥35 orange, <35 red

- **Finding sections** — `h3` headings containing "Critical / High / Medium / Low" get severity-colored left-border callout blocks (red / orange / yellow / green)

- **Section page breaks** — Major sections (High Priority, 90-Day Roadmap, Component Score Summary, Generated Schema) break to new pages automatically

- **Code blocks** — JSON schema templates render with dark theme monospace styling

- **Page footer** — Brand name · GEO Audit · date + page numbers (via CSS `@page`)


Customizing the Report


- **Colors / typography** — Edit `references/` templates in this skill or user-provided HTML

- **Cover layout** — Edit `references/` templates in this skill or user-provided HTML

- **Score thresholds for colo

🎯 Best For

  • Developers scaffolding new projects
  • Prototype builders
  • Claude users
  • Software engineers
  • Development teams

💡 Use Cases

  • Bootstrapping React components
  • Creating API route handlers
  • Code quality improvement
  • Best practice enforcement

📖 How to Use This Skill

  1. 1

    Install the Skill

    Copy the install command from the Terminal tab and run it. The SKILL.md file downloads to your local skills directory.

  2. 2

    Load into Your AI Assistant

    Open Claude and reference the skill. Paste the SKILL.md content or use the system prompt tab.

  3. 3

    Apply geo-report-pdf to Your Work

    Open your project in the AI assistant and ask it to apply the skill. Start with a small module to verify the output quality.

  4. 4

    Review and Refine

    Review AI suggestions before committing. Run tests, check for regressions, and iterate on the skill output.

❓ Frequently Asked Questions

Can I customize the generated output?

Yes — modify the skill's prompt instructions to match your project conventions and coding style.

Is geo-report-pdf compatible with Cursor and VS Code?

Yes — this skill works with any AI coding assistant including Cursor, VS Code with Copilot, and JetBrains IDEs.

Do I need specific dependencies for geo-report-pdf?

Check the install command and Works With section. Most code skills only require the AI assistant and your codebase.

How do I install geo-report-pdf?

Copy the install command from the Terminal tab and run it. The skill downloads to ./skills/geo-report-pdf/SKILL.md, ready to use.

Can I customize this skill for my team?

Absolutely. Edit the SKILL.md file to add team-specific instructions, examples, or workflows.

⚠️ Common Mistakes to Avoid

Using generated code without understanding

Understand what generated code does before shipping it to production.

Skipping validation

Always test AI-generated code changes, even for simple refactors.

Missing dependency updates

Check if the skill requires updated dependencies or new packages.

🔗 Related Skills