mcpField
G
geo-report-pdf

geo-report-pdf

github.com/zubair-trabzadaドキュメント11.3k848 回インストール3 週間前に更新
リポジトリ

geo-report-pdf について

geo-report-pdfは、pandocとヘッドレスChromeでGEO監査のMarkdownレポートを整形済みPDFに変換するスキルです。監査資料をまとめるユーザー向けに、テンプレートでメタデータやスコア、各セクションの表示を整えます。

主な機能

  1. 01GEO監査MarkdownのPDF変換
  2. 02レポート表紙メタデータの抽出
  3. 03スコア表セルの色分け
  4. 04重要度に応じた指摘のスタイル設定
  5. 05セクションごとの改ページ
  6. 06テンプレートとCSSのカスタマイズ

活用シーン

  1. 01GEO-AUDIT-REPORT.mdのPDF化
  2. 02共有用の監査結果の作成
  3. 03レポートの色とページ構成の調整

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/zubair-trabzada/geo-seo-claude --skill geo-report-pdf

インストール後、Claude Code で/geo-report-pdfを入力して読み込まれたか確認します。

詳細

GEO PDF レポート生成ツール(pandoc パイプライン)

前提条件

  • pandoc — brew install pandoc
  • Google Chrome — /Applications/Google Chrome.app/ にインストールされている必要があります

Python の依存関係はありません。ReportLab は使用しません。JSON データの加工も不要です。

仕組み

  1. 現在のディレクトリにある GEO-AUDIT-REPORT.md(/geo audit によって作成)を読み込みます
  2. レポートから表紙のメタデータ(ブランド名、ドメイン、GEO スコア、日付、所在地)を抽出します
  3. 同梱の CSS と HTML テンプレートを使って pandoc を実行し、自己完結型の GEO-REPORT.html を生成します
  4. Chrome をヘッドレスで実行し、HTML を GEO-REPORT.pdf に出力します

pandoc テンプレート(~/.claude/skills/geo/templates/geo-report-template.html)には、次の内容が挿入されます。

  • GEO スコアバッジを備えた、ページ全体に広がる濃紺の表紙セクション
  • セクションごとの表紙メタデータ(日付、事業種別、所在地、プラットフォーム)
  • 印刷前に Chrome 内で実行され、スコアセルに色を付け、指摘事項のセクションに重大度タグを付ける JavaScript

ワークフロー

ステップ 1:監査レポートを確認する

現在のディレクトリに GEO-AUDIT-REPORT.md があるか確認します。存在しない場合は、まず /geo audit <url> を実行するようユーザーに伝えます。

ステップ 2:レポートから表紙のメタデータを抽出する

GEO-AUDIT-REPORT.md の冒頭を読み込み、次の項目を抽出します。

フィールド確認する場所
brand_name最初の H1 タイトル(「GEO Audit Report:」の後)
domain2 行目の太字の行(例:**Domain:** alexamediasolutions.com)
geo_score## Overall GEO Score: XX / 100 に一致する行
score_label同じ行のスコアの後にある単語(例:「Poor」、「Fair」、「Good」)
date**Audit Date:** の行
business_type**Business Type:** の行
locations**Locations:** の行
platform**CMS:** の行
ステップ 3:pandoc を実行する
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

<field> プレースホルダーを、ステップ 2 で抽出した値に置き換えます。レポートにフィールドが見つからない場合は、該当する --metadata フラグを省略します。テンプレートには適切なデフォルト値が設定されています。

ステップ 4:Chrome をヘッドレスで実行する
"/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"
ステップ 5:完了を報告する

ユーザーに次の内容を伝えます。

  • GEO-REPORT.pdf が現在のディレクトリに生成されたこと
  • ファイルサイズ
  • 任意で、プレビューするには open GEO-REPORT.pdf を実行すること

PDF の内容

  • 表紙 — 濃紺のグラデーション、ブランド名、ドメイン、GEO スコアバッジ(スコアに応じて色分け)、監査日、事業種別、所在地、CMS プラットフォーム
  • スコア表 — XX/100 を含むセルを色分けします:≥80 は緑、≥65 は青、≥50 は琥珀色、≥35 はオレンジ、<35 は赤
  • 指摘事項のセクション — 「Critical / High / Medium / Low」を含む h3 見出しに、重大度に応じた色の左枠線付きコールアウトブロックを適用します(赤/オレンジ/黄/緑)
  • セクションの改ページ — 主要なセクション(High Priority、90-Day Roadmap、Component Score Summary、Generated Schema)は自動的に新しいページから始まります
  • コードブロック — JSON スキーマテンプレートをダークテーマの等幅フォントで表示します
  • ページフッター — ブランド名 · GEO Audit · 日付とページ番号(CSS @page による)

レポートのカスタマイズ

  • 色/タイポグラフィ — ~/.claude/skills/geo/templates/geo-report-style.css を編集します
  • 表紙のレイアウト — ~/.claude/skills/geo/templates/geo-report-template.html を編集します
  • 色分けのスコアしきい値 — テンプレートの <script> ブロックにある scoreColor() 関数を編集します
  • 改ページを適用するセクション — テンプレートの <script> ブロックにある breakBefore 配列を編集します

トラブルシューティング

問題解決方法
pandoc: command not foundbrew install pandoc
Chrome が見つからないパスを確認します:/Applications/Google Chrome.app/Contents/MacOS/Google Chrome
PDF が空白/空--virtual-time-budget を 8000 に増やします
表紙のメタデータがないGEO-AUDIT-REPORT.md が標準のヘッダー形式になっているか確認します
フォントが読み込まれないPDF はオフラインでレンダリングされるため、システムフォントがフォールバックとして使われます。これは想定された動作です

コメント