geo-report-pdf

geo-report-pdf is a skill for Claude Code from techhorizonlabs/thl-open. It costs 46 tokens per session (1,721 once invoked), scanned A, a copy of geo-report-pdf, MIT.

A PDF report generator for presenting website and AI-search audit results with charts, score displays, tables, and prioritized actions.

In plain words
What is it for?
It turns audit data into a client-ready PDF, using either the supplied ReportLab script or the branded TypeScript report path.
Why use it?
It provides a shareable document for people who need to review or deliver audit findings outside the coding environment.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter.

Needs its repository: it reads a path above its own folder, which exists only inside the repository. The line is **Two PDF paths — pick one.** For a **branded, client-ready** deliverable, prefer the TypeScript [`tools/audit-report-kit`](../../tools/audit-report-kit) (react.

Part of the thl-open plugin — 17 skills shipped together

Good fit It turns audit data into a client-ready PDF, using either the supplied ReportLab script or the branded TypeScript report path.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.

Clone the repo
git clone --depth 1 https://github.com/techhorizonlabs/thl-open
agentmods
npx agentmods add skills/techhorizonlabs/thl-open/geo-report-pdf

Made for: Claude Code.

Or install thl-open, the plugin that ships this one along with the rest of its 17 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for geo-report-pdf

README.md
[![agentmods](https://agentmods.dev/badge/skills/techhorizonlabs/thl-open/geo-report-pdf/github.svg)](https://agentmods.dev/skills/techhorizonlabs/thl-open/geo-report-pdf)
Your own site
<a href="https://agentmods.dev/skills/techhorizonlabs/thl-open/geo-report-pdf"><img src="https://agentmods.dev/badge/skills/techhorizonlabs/thl-open/geo-report-pdf/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for geo-report-pdf

Your own site · 80×15
<a href="https://agentmods.dev/skills/techhorizonlabs/thl-open/geo-report-pdf"><img src="https://agentmods.dev/badge/skills/techhorizonlabs/thl-open/geo-report-pdf.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 46 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,721 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin 84% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00046 $0.01721
Opus 5 $0.00023 $0.00860
Sonnet 5 $0.00009 $0.00344
Haiku 4.5 $0.00005 $0.00172

Measured 10d ago against content hash 399514da103e, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

geo-report-pdf scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

This is a copy

84% identical to geo-report-pdf — 18 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

skills/geo-report-pdf/SKILL.md · 167 lines

How it starts

The opening of the file, as written. The whole thing — 167 lines — stays where its author put it; the contents beside it link to each section on GitHub.

GEO PDF Report Generator

Purpose

This skill generates a professional, visually polished PDF report from GEO audit data. The PDF includes score gauges, bar charts, platform readiness visualizations, color-coded tables, and a prioritized action plan — ready to deliver directly to clients.

Two PDF paths — pick one. For a branded, client-ready deliverable, prefer the TypeScript tools/audit-report-kit (react-pdf, THL brand tokens, provenance tags, for null scores, compile-checked JSON-LD alongside). The ReportLab script below is the lightweight Python path when you don't want a Node toolchain. They render the same audit JSON; don't run both.

Prerequisites

  • ReportLab must be installed: pip install reportlab
  • The Python PDF generation script lives at ../geo/scripts/generate_pdf_report.py (shared with the geo umbrella skill). Run it from the repo root: python3 skills/geo/scripts/generate_pdf_report.py <data.json> <out.pdf>.
  • Run a full GEO audit first (using geo-audit) to have data to include in the report

How to Generate a PDF Report

Step 1: Collect Audit Data

After running a full /geo-audit, collect all scores, findings, and recommendations into a JSON structure. The JSON data must follow this schema:

{
    "url": "https://example.com",
    "brand_name": "Example Company",
    "date": "2026-02-18",
    "geo_score": 65,
    "scores": {
        "ai_citability": 62,
        "brand_authority": 78,
        "content_eeat": 74,
        "technical": 72,
        "schema": 45,
        "platform_optimization": 59
    },
    "platforms": {
        "Google AI Overviews": 68,
        "ChatGPT": 62,
        "Perplexity": 55,
        "Gemini": 60,
        "Bing Copilot": 50
    },
    "executive_summary": "A 4-6 sentence summary of the audit findings...",
    "findings": [
        {
            "severity": "critical",
            "title": "Finding Title",
            "description": "Description of the finding and its impact."
        }
    ],
    "quick_wins": [
        "Action item 1",
        "Action item 2"
    ],
    "medium_term": [
        "Action item 1",
        "Action item 2"
    ],
    "strategic": [
        "Action item 1",
        "Action item 2"
    ],
    "crawler_access": {
        "GPTBot": {"platform": "ChatGPT", "status": "Allowed", "recommendation": "Keep allowed"},
        "ClaudeBot": {"platform": "Claude", "status": "Blocked", "recommendation": "Unblock for visibility"}
    }
}

Read the full file on GitHub · 167 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 10d ago First seen · 167 lines · 46 tokens per session scan A 399514da103e

Subscribe to this mod's changes

geo-report-pdf is a skill published in the GitHub repository techhorizonlabs/thl-open (15 stars, last pushed 2d ago), licensed MIT. It adds 46 tokens to every session and 1,721 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. It is 84% identical to geo-report-pdf, differing in 18 lines, and is treated as a copy.

Related

Other skills, from other repositories

geo-report-pdf

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.

asale-ai/seo-geo-skill · 59 tokens

geo-report-pdf

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.

zubair-trabzada/geo-seo-claude · 59 tokens

geo-report-pdf

Generate a professional PDF report from GEO audit data using ReportLab. Creates a polished, client-ready PDF with score gauges, bar charts, platform readiness visualizations, color-coded tables, and prioritized action plans.

KSfak/Zubair-Trabzada-YouTube · 46 tokens

geo-report

Generate a professional, client-facing GEO report combining all audit results into a single deliverable with scores, findings, and prioritized actions.

asale-ai/seo-geo-skill · 28 tokens

geo-proposal

Auto-generate a professional, client-ready GEO service proposal from audit data. Creates a full proposal in markdown and PDF including executive summary, findings, recommended service packages (Basic/Standard/Premium), pricing, timeline, and terms. Use when user says "proposal", "proposta", "offerta", "preventivo"…

asale-ai/seo-geo-skill · 83 tokens

geo-report-pdf

Generate a professional PDF report from GEO audit data using ReportLab. Creates a polished, client-ready PDF with score gauges, bar charts, platform readiness visualizations, color-coded tables, and prioritized action plans.

TheSmokeDev/geo-skills · 46 tokens