$npx -y skills add zubair-trabzada/geo-seo-claude --skill geo-compareMonthly delta tracking and progress reporting for GEO clients. Compares two GEO audits (baseline vs. current), calculates score improvements across all categories, tracks action item completion, and generates a "here's your progress" client report. Use when user says "compare", "
| 1 | # GEO Monthly Delta Report Generator |
| 2 | |
| 3 | ## Purpose |
| 4 | |
| 5 | The single most powerful retention tool for a GEO agency: show clients **exactly** |
| 6 | what improved since they started working with you. Every point gained on the GEO |
| 7 | score is proof of value. This skill generates the "here's your progress" report. |
| 8 | |
| 9 | --- |
| 10 | |
| 11 | ## Commands |
| 12 | |
| 13 | ``` |
| 14 | /geo compare <domain> |
| 15 | /geo compare <baseline-file> <current-file> |
| 16 | /geo compare electron-srl.com --month march-2026 |
| 17 | ``` |
| 18 | |
| 19 | **Examples:** |
| 20 | ``` |
| 21 | /geo compare electron-srl.com |
| 22 | /geo compare ~/.geo-prospects/audits/electron-srl.com-2026-01-15.md ~/.geo-prospects/audits/electron-srl.com-2026-03-12.md |
| 23 | ``` |
| 24 | |
| 25 | --- |
| 26 | |
| 27 | ## Workflow |
| 28 | |
| 29 | ### Step 1: Find Audit Files |
| 30 | |
| 31 | If only domain is provided: |
| 32 | 1. Look in `~/.geo-prospects/audits/` for files matching `<domain>-*.md` |
| 33 | 2. Sort by date |
| 34 | 3. Use oldest as baseline, newest as current |
| 35 | 4. If only one file exists: use it as baseline, run a fresh quick audit as current |
| 36 | 5. If no files exist: suggest running `/geo prospect audit <domain>` first |
| 37 | |
| 38 | ### Step 2: Parse Both Audits |
| 39 | |
| 40 | Extract from each audit file: |
| 41 | - Overall GEO Score |
| 42 | - Per-category scores (6 categories) |
| 43 | - Per-platform scores (5 platforms) |
| 44 | - AI crawler status (14 crawlers) |
| 45 | - Critical issues list |
| 46 | - Action items list with status |
| 47 | |
| 48 | ### Step 3: Calculate Deltas |
| 49 | |
| 50 | For each metric: |
| 51 | - Delta = Current - Baseline |
| 52 | - Trend = ▲ (improved), ▼ (declined), ── (unchanged) |
| 53 | - Color coding in report: green (+), red (-), gray (=) |
| 54 | |
| 55 | ### Step 4: Generate Monthly Report |
| 56 | |
| 57 | Output to `~/.geo-prospects/reports/<domain>-monthly-<date>.md` |
| 58 | |
| 59 | --- |
| 60 | |
| 61 | ## Report Template |
| 62 | |
| 63 | Generate the following document: |
| 64 | |
| 65 | ```markdown |
| 66 | # GEO Monthly Progress Report |
| 67 | ## [COMPANY NAME] — [MONTH YEAR] |
| 68 | |
| 69 | **Reporting period:** [BASELINE DATE] → [CURRENT DATE] |
| 70 | **Prepared by:** [AGENCY NAME] |
| 71 | **Report reference:** GEO-MONTHLY-[DOMAIN]-[YYMMDD] |
| 72 | |
| 73 | --- |
| 74 | |
| 75 | ## Executive Summary |
| 76 | |
| 77 | [2-3 sentences: What improved, what's the trend, what to focus on next month.] |
| 78 | |
| 79 | Example: "Electron Srl's GEO Score improved from 32 to 44 this month (+12 points), |
| 80 | placing the site firmly in the 'Below Average' tier and on track to reach 'Moderate' |
| 81 | by May. The biggest wins were AI crawler access (+3 crawlers now allowed) and schema |
| 82 | implementation (+Organization and LocalBusiness schemas live). Next month's focus is |
| 83 | content citability — the highest-weighted remaining gap." |
| 84 | |
| 85 | --- |
| 86 | |
| 87 | ## GEO Score Progress |
| 88 | |
| 89 | ``` |
| 90 | OVERALL GEO SCORE |
| 91 | |
| 92 | Baseline [▓▓▓▓░░░░░░░░░░░░░░░░] 32/100 (Critical) |
| 93 | Current [▓▓▓▓▓▓▓▓░░░░░░░░░░░░] 44/100 (Below Average) |
| 94 | Change ▲ +12 points (+37.5%) |
| 95 | |
| 96 | Target: 65/100 by Month 6 (on track ✓) |
| 97 | ``` |
| 98 | |
| 99 | --- |
| 100 | |
| 101 | ## Score Breakdown: Before vs. After |
| 102 | |
| 103 | | Category | Baseline | Current | Change | Trend | |
| 104 | |----------|---------|---------|--------|-------| |
| 105 | | AI Citability & Visibility | [X]/100 | [X]/100 | [+/-X] | [▲/▼/──] | |
| 106 | | Brand Authority Signals | [X]/100 | [X]/100 | [+/-X] | [▲/▼/──] | |
| 107 | | Content Quality & E-E-A-T | [X]/100 | [X]/100 | [+/-X] | [▲/▼/──] | |
| 108 | | Technical Foundations | [X]/100 | [X]/100 | [+/-X] | [▲/▼/──] | |
| 109 | | Structured Data | [X]/100 | [X]/100 | [+/-X] | [▲/▼/──] | |
| 110 | | Platform Optimization | [X]/100 | [X]/100 | [+/-X] | [▲/▼/──] | |
| 111 | | **TOTAL** | **[X]/100** | **[X]/100** | **[+/-X]** | **[▲/▼]** | |
| 112 | |
| 113 | --- |
| 114 | |
| 115 | ## Platform Readiness: Before vs. After |
| 116 | |
| 117 | | AI Platform | Baseline | Current | Change | |
| 118 | |-------------|---------|---------|--------| |
| 119 | | Google AI Overviews | [X]/100 | [X]/100 | [+/-X] | |
| 120 | | ChatGPT Web Search | [X]/100 | [X]/100 | [+/-X] | |
| 121 | | Perplexity AI | [X]/100 | [X]/100 | [+/-X] | |
| 122 | | Google Gemini | [X]/100 | [X]/100 | [+/-X] | |
| 123 | | Bing Copilot | [X]/100 | [X]/100 | [+/-X] | |
| 124 | |
| 125 | --- |
| 126 | |
| 127 | ## AI Crawler Access Changes |
| 128 | |
| 129 | | Crawler | Baseline | Current | Change | |
| 130 | |---------|---------|---------|--------| |
| 131 | | GPTBot (ChatGPT) | Blocked/Allowed | Blocked/Allowed | ✓ Fixed / No change | |
| 132 | | ClaudeBot (Anthropic) | Blocked/Allowed | Blocked/Allowed | ✓ Fixed / No change | |
| 133 | | PerplexityBot | Blocked/Allowed | Blocked/Allowed | ✓ Fixed / No change | |
| 134 | | Google-Extended (Gemini) | Blocked/Allowed | Blocked/Allowed | ✓ Fixed / No change | |
| 135 | | Bingbot | Blocked/Allowed | Blocked/Allowed | ✓ Fixed / No change | |
| 136 | |
| 137 | [Show only crawlers that changed, or all if few crawlers.] |
| 138 | |
| 139 | --- |
| 140 | |
| 141 | ## Action Plan Progress |
| 142 | |
| 143 | ### Quick Wins — Status Update |
| 144 | |
| 145 | | # | Action | Assigned | Status | Impact | |
| 146 | |---|--------|---------|--------|--------| |
| 147 | | 1 | Allow all AI crawlers in robots.txt | Client dev | ✅ Done | +3 crawlers | |
| 148 | | 2 | Add Organization schema to homepage | Client dev | ✅ Done | Schema scor |