GEO PDF 报告生成器
把 GEO 审计的 Markdown 报告一键转成带封面、彩色评分表和 90 天路线图的专业客户级 PDF。
SKILL.md 声明的权限为 Read/Grep/Glob/Bash/Write,仅读取当前目录的 GEO-AUDIT-REPORT.md 并在本地生成 HTML/PDF,无网络外发、无凭据访问、数据流透明;扣分点:使用 --no-sandbox 运行 Chrome headless(模板含注入的 JavaScript,虽然只是本地 file:// 渲染,仍属可收紧的放宽默认),且无任何用户确认或回滚说明。
工作流分步清晰,含故障排除表(pandoc 缺失、Chrome 路径、空白 PDF 的 --virtual-time-budget 调整、元数据缺失处理),字段缺失时有省略 --metadata 的降级策略;扣分点:依赖仓库其他位置的模板文件(geo-report-template.html / geo-report-style.css),本次证据无法验证其存在与正确性,且静态审阅无法复现关键路径。
触发条件明确(当前目录存在 GEO-AUDIT-REPORT.md,否则明确提示先运行 /geo audit),输出格式定义具体;扣分点:Chrome 路径硬编码为 macOS /Applications,Linux/Windows 用户未覆盖,未声明非适用边界,未提及中文等非 ASCII 字体在 PDF 渲染中的表现。
版本号 2.0.0、MIT 许可、结构分层良好(前置依赖、步骤、自定义、故障排除逐层递进);扣分点:author 字段写为 'geo-seo-claude' 而非可追责的维护者,无 changelog,模板文件的位置与安装路径(~/.claude/skills/geo/templates/)隐含假设未在本技能文件内完整说明。
声称产出客户端可直接交付的 PDF,含封面、配色表、分页等具体规格,相比手工排版有明确边际价值;扣分点:静态审阅无法验证模板与渲染脚本实际可用,'No Python dependencies' 与仓库 requirements.txt(含 ReportLab 用途描述的其他 PDF 脚本)并存的表述需用户自行甄别,产出质量缺乏样例证据。
仅有作者对流程的描述,无针对本 PDF 生成技能的测试(仓库测试覆盖的是 fetch_page.py 的 SSR 检测,与本技能无关),无样例输出或第三方执行证据。
- 本评估为静态源码审阅,未执行任何生成流程,PDF 实际渲染效果未经独立验证。
- 技能依赖共享模板文件(geo-report-template.html / geo-report-style.css),请安装后确认这些文件真实存在于 ~/.claude/skills/geo/templates/。
- Chrome headless 使用 --no-sandbox 运行;若在多用户或不受信环境使用,建议移除该参数。
- Chrome 路径硬编码为 macOS,Linux/Windows 用户需自行调整。
- 中文或其他非拉丁字体的 PDF 渲染效果未声明,交付前请先行预览。
- 发布者未经 FollowSkills 企业注册表验证,维护责任以仓库现状为准。
这个 Skill 能做什么,适合哪些场景?
geo-report-pdf 是 geo-seo-claude 技能集合中的一个子技能,职责单一:把 /geo audit 生成的 GEO-AUDIT-REPORT.md 转换成可直接交付客户的 PDF 文件。它采用 pandoc 加 Chrome 无头浏览器的纯命令行管线,不依赖 Python 或 ReportLab。输出的 PDF 包含深色封面页、按分数着色的评分表、按严重程度标记的问题区块和分节分页。适合已经跑完 GEO 审计、需要产出可交付物的咨询顾问和 GEO 服务机构。
1) 在当前目录查找 GEO-AUDIT-REPORT.md,若不存在则提示先运行 /geo audit;2) 从报告头部提取品牌名、域名、GEO 总分、评分等级、审计日期、业务类型、地区和 CMS 平台等元数据;3) 调用 pandoc,配合自带的 HTML 模板和 CSS 生成自包含的 GEO-REPORT.html,并通过 --metadata 传入封面信息;4) 用 Chrome 无头模式(--headless=new --print-to-pdf)将 HTML 打印为 GEO-REPORT.pdf;5) 注入的 JavaScript 在打印前对 XX/100 分数单元格按阈值着色(≥80 绿、≥65 蓝、≥50 琥珀、≥35 橙、<35 红),为 Critical/High/Medium/Low 问题加彩色左边框,并按主要章节自动分页;6) 完成后报告文件名、大小,可 open 预览。
- GEO/SEO 顾问:跑完 /geo audit 后,需要把结果变成能发给客户的专业 PDF 交付物。
- 数字营销机构:为每个客户站点批量生成格式统一、带品牌封面和 90 天路线图的审计报告。
- 自由职业者:接单做 AI 搜索优化诊断,需要低成本的报告美化方案而不想写 Python 代码。
- 代理团队:希望报告排版可自定义(改 CSS 和 HTML 模板)以匹配自有品牌风格。
- 站长:想把自己站点的审计结果打印成离线 PDF 存档或分享给非技术决策者。
这个 Skill 有哪些优点和局限?
- 零 Python 依赖:纯 pandoc + Chrome 管线,环境干净,无 ReportLab、无 JSON 数据处理。
- 产出即客户可交付物:深色封面页、分数徽章、彩色评分表、严重度标签、分页页脚一应俱全。
- 高度可定制:颜色、字体、封面布局、配色阈值、分页规则都有明确的自定义入口。
- 报告不存在时有明确的失败提示(先跑 /geo audit),元数据缺失时模板有默认值兜底。
- 附有实用的故障排查表(pandoc 未装、Chrome 路径、PDF 空白、字体回退)。
- 强依赖上游:必须先由 /geo audit 生成 GEO-AUDIT-REPORT.md,不能独立产出审计内容。
- Chrome 路径硬编码为 macOS(/Applications/Google Chrome.app/),Linux/Windows 需自行改命令。
- 无任何测试证据,未提及跨平台验证;README 的架构图还列了一个 ReportLab 版 PDF 脚本,与本技能的管线并存,易混淆。
- 前端字段(品牌、日期、地区等)依赖报告遵循标准头部格式,格式偏差会导致封面元数据缺失。
- 只做格式转换,审计与评分能力全部来自集合中的兄弟技能,不能混为一谈。
如何安装这个 Skill?
本技能属于 zubair-trabzada/geo-seo-claude 集合(16 个技能捆绑安装)。推荐一键安装:curl -fsSL https://raw.githubusercontent.com/zubair-trabzada/geo-seo-claude/main/install.sh | bash(Windows 用 install-win.sh,需 Git Bash)。或手动:git clone https://github.com/zubair-trabzada/geo-seo-claude.git && cd geo-seo-claude && ./install.sh。集合整体要求 Python 3.8+、Claude Code CLI、Git。本技能本身另有前置条件:brew install pandoc,且 Google Chrome 必须安装在 /Applications/Google Chrome.app/。注意:SKILL.md 未说明是否支持单独安装这一个子技能。
如何使用这个 Skill?
在包含 GEO-AUDIT-REPORT.md 的目录下触发该技能(对应 README 中的 /geo report-pdf 命令)。流程是自动的:技能读取报告 → 提取封面元数据 → 运行 pandoc(模板位于 ~/.claude/skills/geo/templates/geo-report-template.html)→ 运行 Chrome 无头打印为 GEO-REPORT.pdf → 告知文件大小,可用 open GEO-REPORT.pdf 预览。若报告不存在,会提示先运行 /geo audit <url>。自定义:改 geo-report-style.css 调颜色字体,改模板 HTML 调封面布局,改模板内 scoreColor() 函数调分数配色阈值,改 breakBefore 数组调分页章节。若 PDF 空白,把 --virtual-time-budget 提高到 8000。
这个 Skill 与同类方案有什么区别?
同一仓库 scripts/ 下另有一个基于 Python ReportLab 的 generate_pdf_report.py(README 中列出的旧 PDF 路线)。本技能是与之不同的免 Python、基于 pandoc + Chrome 的替代管线。来源材料未提及任何第三方竞品。