geo-report-pdf
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseGEO PDF Report Generator
GEO PDF报告生成器
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.
本技能可从GEO审计数据生成专业、视觉精美的PDF报告。该PDF包含评分仪表盘、条形图、平台就绪度可视化、颜色编码表格以及优先级行动计划——可直接交付给客户。
Prerequisites
前置条件
- ReportLab must be installed:
pip install reportlab - The PDF generation script is located at:
~/.claude/skills/geo/scripts/generate_pdf_report.py - Run a full GEO audit first (using ) to have data to include in the report
/geo-audit
- 必须安装ReportLab:
pip install reportlab - PDF生成脚本位于:
~/.claude/skills/geo/scripts/generate_pdf_report.py - 需先运行完整的GEO审计(使用命令),以获取可纳入报告的数据
/geo-audit
How to Generate a PDF Report
如何生成PDF报告
Step 1: Collect Audit Data
步骤1:收集审计数据
After running a full , collect all scores, findings, and recommendations into a JSON structure. The JSON data must follow this schema:
/geo-auditjson
{
"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"}
}
}运行完整的命令后,将所有评分、发现和建议整理为JSON结构。JSON数据必须遵循以下 schema:
/geo-auditjson
{
"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"}
}
}Step 2: Write JSON Data to a Temp File
步骤2:将JSON数据写入临时文件
Write the collected audit data to a temporary JSON file:
bash
undefined将收集到的审计数据写入临时JSON文件:
bash
undefinedWrite audit data to temp file
Write audit data to temp file
cat > /tmp/geo-audit-data.json << 'EOF'
{ ... audit JSON data ... }
EOF
undefinedcat > /tmp/geo-audit-data.json << 'EOF'
{ ... audit JSON data ... }
EOF
undefinedStep 3: Generate the PDF
步骤3:生成PDF
Run the PDF generation script:
bash
python3 ~/.claude/skills/geo/scripts/generate_pdf_report.py /tmp/geo-audit-data.json GEO-REPORT-[brand].pdfThe script will produce a professional PDF report with:
- Cover Page — Brand name, URL, date, overall GEO score with visual gauge
- Executive Summary — Key findings and top recommendations
- Score Breakdown — Table and bar chart of all 6 scoring categories
- AI Platform Readiness — Visual horizontal bar chart per platform with scores
- AI Crawler Access — Color-coded table (green=allowed, red=blocked)
- Key Findings — Severity-coded findings list (critical/high/medium/low)
- Prioritized Action Plan — Quick wins, medium-term, and strategic initiatives
- Appendix — Methodology, data sources, and glossary
运行PDF生成脚本:
bash
python3 ~/.claude/skills/geo/scripts/generate_pdf_report.py /tmp/geo-audit-data.json GEO-REPORT-[brand].pdf该脚本将生成一份专业PDF报告,包含以下内容:
- 封面 — 品牌名称、URL、日期、整体GEO评分及可视化仪表盘
- 执行摘要 — 关键发现和顶级建议
- 评分细分 — 6个评分类别的表格和条形图
- AI平台就绪度 — 各平台的可视化水平条形图及评分
- AI爬虫访问权限 — 颜色编码表格(绿色=允许,红色=阻止)
- 关键发现 — 按严重程度编码的发现列表(严重/高/中/低)
- 优先级行动计划 — 快速见效项、中期项和战略举措
- 附录 — 方法论、数据源和术语表
Step 4: Return the PDF Path
步骤4:返回PDF路径
After generation, tell the user where the PDF was saved and its file size.
生成完成后,告知用户PDF的保存位置和文件大小。
Complete Workflow Example
完整工作流示例
When the user runs this skill, follow this exact sequence:
-
Check for existing audit data — Look for recent GEO audit reports in the current directory:
GEO-CLIENT-REPORT.mdGEO-AUDIT-REPORT.md- Or any files from a recent audit
GEO-*.md
-
If no audit data exists — Tell the user to runfirst, then come back for the PDF.
/geo-audit <url> -
If audit data exists — Parse the markdown report to extract:
- Overall GEO score
- Category scores (citability, brand authority, content/E-E-A-T, technical, schema, platform)
- Platform readiness scores (Google AIO, ChatGPT, Perplexity, Gemini, Bing Copilot)
- AI crawler access status
- Key findings with severity levels
- Quick wins, medium-term, and strategic action items
- Executive summary
-
Build the JSON — Structure all data into the JSON schema shown above.
-
Write JSON to temp file — Save to
/tmp/geo-audit-data.json -
Run the PDF generator:bash
python3 ~/.claude/skills/geo/scripts/generate_pdf_report.py /tmp/geo-audit-data.json "GEO-REPORT-[brand_name].pdf" -
Report success — Tell the user the PDF was generated, its location, and file size.
当用户运行本技能时,请严格遵循以下步骤:
-
检查现有审计数据 — 在当前目录中查找近期的GEO审计报告:
GEO-CLIENT-REPORT.mdGEO-AUDIT-REPORT.md- 任何近期审计生成的文件
GEO-*.md
-
若无审计数据 — 告知用户需先运行命令,之后再返回生成PDF。
/geo-audit <url> -
若有审计数据 — 解析markdown报告以提取以下内容:
- 整体GEO评分
- 类别评分(可引用性、品牌权威性、内容E-E-A-T、技术、Schema、平台)
- 平台就绪度评分(Google AI Overviews、ChatGPT、Perplexity、Gemini、Bing Copilot)
- AI爬虫访问状态
- 带严重级别的关键发现
- 快速见效项、中期项和战略行动项
- 执行摘要
-
构建JSON — 将所有数据整理为上述所示的JSON schema结构。
-
将JSON写入临时文件 — 保存至
/tmp/geo-audit-data.json -
运行PDF生成器:bash
python3 ~/.claude/skills/geo/scripts/generate_pdf_report.py /tmp/geo-audit-data.json "GEO-REPORT-[brand_name].pdf" -
报告成功 — 告知用户PDF已生成,以及其保存位置和文件大小。
If the User Provides a URL
若用户提供URL
If the user runs with a URL:
/geo-report-pdf https://example.com- First run a full audit: invoke the skill for that URL
geo-audit - Then collect all the audit data from the generated report files
- Generate the PDF as described above
当用户运行并附带URL时:
/geo-report-pdf https://example.com- 首先运行完整审计:调用技能处理该URL
geo-audit - 然后从生成的报告文件中收集所有审计数据
- 按照上述步骤生成PDF
Parsing Markdown Audit Data
解析Markdown审计数据
When extracting data from existing GEO markdown reports, look for these patterns:
- GEO Score: Look for "GEO Score: XX/100" or "Overall: XX/100" or "GEO Readiness Score: XX"
- Category Scores: Look for score tables with columns like "Component | Score | Weight"
- Platform Scores: Look for tables with "Google AI Overviews", "ChatGPT", "Perplexity", etc.
- Crawler Status: Look for tables with "Allowed" or "Blocked" status for crawlers like GPTBot, ClaudeBot
- Findings: Look for sections titled "Key Findings", "Critical Issues", "Recommendations"
- Action Items: Look for sections titled "Quick Wins", "Action Plan", "Recommendations"
从现有GEO markdown报告提取数据时,请查找以下模式:
- GEO评分:查找包含"GEO Score: XX/100"、"Overall: XX/100"或"GEO Readiness Score: XX"的内容
- 类别评分:查找包含“Component | Score | Weight”等列的评分表格
- 平台评分:查找包含“Google AI Overviews”、“ChatGPT”、“Perplexity”等项的表格
- 爬虫状态:查找包含GPTBot、ClaudeBot等爬虫的“Allowed”或“Blocked”状态的表格
- 发现:查找标题为“Key Findings”、“Critical Issues”、“Recommendations”的章节
- 行动项:查找标题为“Quick Wins”、“Action Plan”、“Recommendations”的章节
Notes
注意事项
- If ReportLab is not installed, run:
pip install reportlab - The PDF is designed for US Letter size (8.5" x 11")
- Color palette: Navy primary (#1a1a2e), Blue accent (#0f3460), Coral highlight (#e94560), Green success (#00b894)
- Each page has a header line, page numbers, "Confidential" watermark, and generation date
- Score gauges use traffic-light colors: green (80+), blue (60-79), yellow (40-59), red (below 40)
- 若未安装ReportLab,请运行:
pip install reportlab - PDF采用美国信纸尺寸(8.5" x 11")
- 调色板:海军蓝主色(#1a1a2e)、蓝色强调色(#0f3460)、珊瑚色高亮(#e94560)、绿色成功色(#00b894)
- 每页都有页眉线、页码、“Confidential”(保密)水印和生成日期
- 评分仪表盘使用交通灯颜色:绿色(80分及以上)、蓝色(60-79分)、黄色(40-59分)、红色(40分以下)