geo-report-pdf — скилл для Claude Code: что делает и как установить
Превращает markdown-отчёт GEO-аудита в PDF с обложкой, цветными таблицами оценок и дорожной картой на 90 дней. Использует pandoc и Chrome headless.
npx skills add zubair-trabzada/geo-seo-claude --skill geo-report-pdf -a claude-codeЧто делает geo-report-pdf
Скилл читает GEO-AUDIT-REPORT.md, извлекает метаданные (название бренда, домен, итоговый балл, даты, локации), прогоняет файл через pandoc с шаблоном и CSS, затем печатает HTML в PDF через Chrome headless. В итоге получается клиентский документ с тёмно-синей обложкой, цветными ячейками оценок (зелёные ≥80, красные <35) и блоками проблем с метками серьёзности.
Понадобится pandoc (ставится через brew install pandoc) и Google Chrome по пути /Applications/Google Chrome.app/ — это привязывает скилл к macOS. Скрипт не требует Python, ReportLab или JSON-парсинга: всё держится на четырёх шагах — проверка наличия отчёта, извлечение полей из markdown, вызов pandoc с флагами --embed-resources и --standalone, запуск Chrome с --print-to-pdf.
Шаблон лежит в ~/.claude/skills/geo/templates/geo-report-template.html, в него встроен JavaScript, который перед печатью красит ячейки и добавляет цветные границы секциям. Пороги оценок, разрывы страниц и оформление настраиваются правкой CSS и HTML-шаблона.
Какие задачи решает
- собрать клиентский PDF из markdown-отчёта GEO-аудита
- раскрасить таблицы оценок по порогам (зелёный, синий, янтарный, оранжевый, красный)
- добавить обложку с извлечёнными метаданными и бейджем общего балла
- разметить блоки проблем цветными метками серьёзности (Critical, High, Medium, Low)
- напечатать styled HTML в PDF через Chrome headless без ручного экспорта
Примеры запросов агенту
- Сделай PDF из
GEO-AUDIT-REPORT.mdв текущей папке - Преврати отчёт GEO-аудита в клиентский PDF с обложкой и цветными таблицами
- Сгенерируй
GEO-REPORT.pdfиз markdown-отчёта
Как установить geo-report-pdf
1Через Skills CLI (Vercel)
npx skills add zubair-trabzada/geo-seo-claude --skill geo-report-pdf -a claude-code2Вручную: положить файлы
~/.claude/skills/geo-report-pdf/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/geo-report-pdf/
1Через Skills CLI (Vercel)
npx skills add zubair-trabzada/geo-seo-claude --skill geo-report-pdf -a codex2Вручную: положить файлы
.agents/skills/geo-report-pdf/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add zubair-trabzada/geo-seo-claude --skill geo-report-pdf -a cursor2Вручную: положить файлы
.cursor/skills/geo-report-pdf/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install zubair-trabzada/geo-seo-claude geo-report-pdf2Вручную: положить файлы
.github/skills/geo-report-pdf/SKILL.md1Через Skills CLI (Vercel)
npx skills add zubair-trabzada/geo-seo-claude --skill geo-report-pdf -a gemini-cli2Командой платформы
gemini skills install https://github.com/zubair-trabzada/geo-seo-claude --path skills/geo-report-pdfВручную: положить файлы
.devin/skills/geo-report-pdf/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add zubair-trabzada/geo-seo-claude --skill geo-report-pdf -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора16
Похожие
Вопросы о geo-report-pdf
Как установить geo-report-pdf в Claude Code?
Выполни npx skills add zubair-trabzada/geo-seo-claude --skill geo-report-pdf -a claude-code. Скилл появится в ~/.claude/skills/geo-report-pdf/SKILL.md.
Что делает geo-report-pdf?
Превращает markdown-файл GEO-аудита в стилизованный PDF с обложкой, цветными таблицами оценок, блоками проблем с метками серьёзности и дорожной картой. Под капотом pandoc с HTML-шаблоном и Chrome headless для печати.
Какие зависимости нужны для работы geo-report-pdf?
Нужен pandoc (ставится через brew install pandoc) и Google Chrome, установленный по пути /Applications/Google Chrome.app/. Скилл рассчитан на macOS, Python и дополнительные библиотеки не требуются.
Исходный текст
SKILL.md · MIT
--- name: geo-report-pdf 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. version: 2.0.0 author: geo-seo-claude tags: [geo, pdf, report, client-deliverable, professional] allowed-tools: Read, Grep, Glob, Bash, Write --- # 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 ```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 `~/.claude/skills/geo/templates/geo-report-style.css` - **Cover layout** — Edit `~/.claude/skills/geo/templates/geo-report-template.html` - **Score thresholds for color-coding** — Edit the `scoreColor()` function in the template's `<script>` block - **Which sections get page breaks** — Edit the `breakBefore` array in the template's `<script>` block ## Troubleshooting | Problem | Fix | |---|---| | `pandoc: command not found` | `brew install pandoc` | | Chrome not found | Check path: `/Applications/Google Chrome.app/Contents/MacOS/Google Chrome` | | PDF is blank / empty | Increase `--virtual-time-budget` to 8000 | | Cover metadata missing | Check GEO-AUDIT-REPORT.md has the standard header format | | Fonts not loading | PDF is rendered offline; system fonts are used as fallback — this is expected |
© geo-seo-claude · MIT · zubair-trabzada/geo-seo-claude