antigravity-seo-kit 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of antigravity-seo-kit might be problematic. Click here for more details.

Files changed (135) hide show
  1. package/.agent/agent.md +96 -0
  2. package/.agent/skills/seo/SKILL.md +153 -0
  3. package/.agent/skills/seo/references/cwv-thresholds.md +108 -0
  4. package/.agent/skills/seo/references/eeat-framework.md +214 -0
  5. package/.agent/skills/seo/references/local-schema-types.md +230 -0
  6. package/.agent/skills/seo/references/local-seo-signals.md +218 -0
  7. package/.agent/skills/seo/references/maps-api-endpoints.md +160 -0
  8. package/.agent/skills/seo/references/maps-free-apis.md +176 -0
  9. package/.agent/skills/seo/references/maps-gbp-checklist.md +150 -0
  10. package/.agent/skills/seo/references/maps-geo-grid.md +154 -0
  11. package/.agent/skills/seo/references/quality-gates.md +155 -0
  12. package/.agent/skills/seo/references/schema-types.md +118 -0
  13. package/.agent/skills/seo/schema/templates.json +213 -0
  14. package/.agent/skills/seo/scripts/analyze_visual.py +217 -0
  15. package/.agent/skills/seo/scripts/capture_screenshot.py +181 -0
  16. package/.agent/skills/seo/scripts/fetch_page.py +196 -0
  17. package/.agent/skills/seo/scripts/parse_html.py +201 -0
  18. package/.agent/skills/seo-audit/SKILL.md +278 -0
  19. package/.agent/skills/seo-competitor-pages/SKILL.md +212 -0
  20. package/.agent/skills/seo-content/SKILL.md +230 -0
  21. package/.agent/skills/seo-dataforseo/SKILL.md +418 -0
  22. package/.agent/skills/seo-geo/SKILL.md +305 -0
  23. package/.agent/skills/seo-google/SKILL.md +405 -0
  24. package/.agent/skills/seo-google/assets/templates/cwv-audit-report.md +48 -0
  25. package/.agent/skills/seo-google/assets/templates/gsc-performance-report.md +44 -0
  26. package/.agent/skills/seo-google/assets/templates/indexation-status-report.md +43 -0
  27. package/.agent/skills/seo-google/references/auth-setup.md +154 -0
  28. package/.agent/skills/seo-google/references/ga4-data-api.md +184 -0
  29. package/.agent/skills/seo-google/references/indexing-api.md +107 -0
  30. package/.agent/skills/seo-google/references/keyword-planner-api.md +66 -0
  31. package/.agent/skills/seo-google/references/nlp-api.md +55 -0
  32. package/.agent/skills/seo-google/references/pagespeed-crux-api.md +204 -0
  33. package/.agent/skills/seo-google/references/rate-limits-quotas.md +75 -0
  34. package/.agent/skills/seo-google/references/search-console-api.md +156 -0
  35. package/.agent/skills/seo-google/references/supplementary-apis.md +99 -0
  36. package/.agent/skills/seo-google/references/youtube-api.md +49 -0
  37. package/.agent/skills/seo-google/scripts/crux_history.py +321 -0
  38. package/.agent/skills/seo-google/scripts/ga4_report.py +478 -0
  39. package/.agent/skills/seo-google/scripts/google_auth.py +795 -0
  40. package/.agent/skills/seo-google/scripts/google_report.py +2273 -0
  41. package/.agent/skills/seo-google/scripts/gsc_inspect.py +340 -0
  42. package/.agent/skills/seo-google/scripts/gsc_query.py +378 -0
  43. package/.agent/skills/seo-google/scripts/indexing_notify.py +313 -0
  44. package/.agent/skills/seo-google/scripts/keyword_planner.py +297 -0
  45. package/.agent/skills/seo-google/scripts/nlp_analyze.py +309 -0
  46. package/.agent/skills/seo-google/scripts/pagespeed_check.py +649 -0
  47. package/.agent/skills/seo-google/scripts/youtube_search.py +355 -0
  48. package/.agent/skills/seo-hreflang/SKILL.md +192 -0
  49. package/.agent/skills/seo-image-gen/SKILL.md +211 -0
  50. package/.agent/skills/seo-image-gen/references/cost-tracking.md +47 -0
  51. package/.agent/skills/seo-image-gen/references/gemini-models.md +200 -0
  52. package/.agent/skills/seo-image-gen/references/mcp-tools.md +115 -0
  53. package/.agent/skills/seo-image-gen/references/post-processing.md +192 -0
  54. package/.agent/skills/seo-image-gen/references/presets.md +69 -0
  55. package/.agent/skills/seo-image-gen/references/prompt-engineering.md +411 -0
  56. package/.agent/skills/seo-image-gen/references/seo-image-presets.md +137 -0
  57. package/.agent/skills/seo-image-gen/scripts/batch.py +97 -0
  58. package/.agent/skills/seo-image-gen/scripts/cost_tracker.py +191 -0
  59. package/.agent/skills/seo-image-gen/scripts/edit.py +141 -0
  60. package/.agent/skills/seo-image-gen/scripts/generate.py +149 -0
  61. package/.agent/skills/seo-image-gen/scripts/presets.py +153 -0
  62. package/.agent/skills/seo-image-gen/scripts/setup_mcp.py +151 -0
  63. package/.agent/skills/seo-image-gen/scripts/validate_setup.py +133 -0
  64. package/.agent/skills/seo-images/SKILL.md +176 -0
  65. package/.agent/skills/seo-local/SKILL.md +381 -0
  66. package/.agent/skills/seo-maps/SKILL.md +328 -0
  67. package/.agent/skills/seo-page/SKILL.md +86 -0
  68. package/.agent/skills/seo-plan/SKILL.md +118 -0
  69. package/.agent/skills/seo-plan/assets/agency.md +175 -0
  70. package/.agent/skills/seo-plan/assets/ecommerce.md +167 -0
  71. package/.agent/skills/seo-plan/assets/generic.md +144 -0
  72. package/.agent/skills/seo-plan/assets/local-service.md +160 -0
  73. package/.agent/skills/seo-plan/assets/publisher.md +153 -0
  74. package/.agent/skills/seo-plan/assets/saas.md +135 -0
  75. package/.agent/skills/seo-programmatic/SKILL.md +171 -0
  76. package/.agent/skills/seo-schema/SKILL.md +223 -0
  77. package/.agent/skills/seo-sitemap/SKILL.md +180 -0
  78. package/.agent/skills/seo-technical/SKILL.md +211 -0
  79. package/.agent/workflows/seo-audit.md +17 -0
  80. package/.agent/workflows/seo-competitor-pages.md +12 -0
  81. package/.agent/workflows/seo-content.md +14 -0
  82. package/.agent/workflows/seo-geo.md +12 -0
  83. package/.agent/workflows/seo-google.md +12 -0
  84. package/.agent/workflows/seo-hreflang.md +12 -0
  85. package/.agent/workflows/seo-images.md +13 -0
  86. package/.agent/workflows/seo-local.md +12 -0
  87. package/.agent/workflows/seo-maps.md +11 -0
  88. package/.agent/workflows/seo-page.md +13 -0
  89. package/.agent/workflows/seo-plan.md +13 -0
  90. package/.agent/workflows/seo-programmatic.md +12 -0
  91. package/.agent/workflows/seo-schema.md +11 -0
  92. package/.agent/workflows/seo-sitemap.md +9 -0
  93. package/.agent/workflows/seo-technical.md +18 -0
  94. package/LICENSE +88 -0
  95. package/README.md +122 -0
  96. package/bin/cli.js +117 -0
  97. package/docs/ARCHITECTURE.md +218 -0
  98. package/docs/COMMANDS.md +184 -0
  99. package/docs/INSTALLATION.md +100 -0
  100. package/docs/MCP-INTEGRATION.md +153 -0
  101. package/docs/TROUBLESHOOTING.md +151 -0
  102. package/docs/superpowers/plans/2026-03-13-github-audit-fixes.md +511 -0
  103. package/extensions/banana/README.md +95 -0
  104. package/extensions/banana/docs/BANANA-SETUP.md +86 -0
  105. package/extensions/banana/install.sh +170 -0
  106. package/extensions/banana/references/cost-tracking.md +47 -0
  107. package/extensions/banana/references/gemini-models.md +200 -0
  108. package/extensions/banana/references/mcp-tools.md +115 -0
  109. package/extensions/banana/references/post-processing.md +192 -0
  110. package/extensions/banana/references/presets.md +69 -0
  111. package/extensions/banana/references/prompt-engineering.md +411 -0
  112. package/extensions/banana/references/seo-image-presets.md +137 -0
  113. package/extensions/banana/scripts/batch.py +97 -0
  114. package/extensions/banana/scripts/cost_tracker.py +191 -0
  115. package/extensions/banana/scripts/edit.py +141 -0
  116. package/extensions/banana/scripts/generate.py +149 -0
  117. package/extensions/banana/scripts/presets.py +153 -0
  118. package/extensions/banana/scripts/setup_mcp.py +151 -0
  119. package/extensions/banana/scripts/validate_setup.py +133 -0
  120. package/extensions/banana/uninstall.sh +43 -0
  121. package/extensions/dataforseo/README.md +169 -0
  122. package/extensions/dataforseo/docs/DATAFORSEO-SETUP.md +74 -0
  123. package/extensions/dataforseo/field-config.json +280 -0
  124. package/extensions/dataforseo/install.ps1 +110 -0
  125. package/extensions/dataforseo/install.sh +161 -0
  126. package/extensions/dataforseo/uninstall.ps1 +35 -0
  127. package/extensions/dataforseo/uninstall.sh +39 -0
  128. package/lib/api.js +190 -0
  129. package/lib/fingerprint.js +68 -0
  130. package/lib/installer.js +486 -0
  131. package/lib/utils.js +254 -0
  132. package/package.json +40 -0
  133. package/pyproject.toml +11 -0
  134. package/requirements-google.txt +15 -0
  135. package/requirements.txt +11 -0
@@ -0,0 +1,328 @@
1
+ ---
2
+ name: seo-maps
3
+ description: >
4
+ Maps intelligence for local SEO — geo-grid rank tracking, GBP profile
5
+ auditing via API, review intelligence across Google/Tripadvisor/Trustpilot,
6
+ cross-platform NAP verification (Google/Bing/Apple/OSM), competitor
7
+ radius mapping, and LocalBusiness schema generation from API data.
8
+ Three-tier capability: free (Overpass + Geoapify), DataForSEO (full
9
+ intelligence), DataForSEO + Google (maximum coverage). Use when user
10
+ says "maps", "geo-grid", "rank tracking", "GBP audit", "review
11
+ velocity", "competitor radius", "maps analysis", "local rank
12
+ tracking", "Share of Local Voice", or "SoLV".
13
+ ---
14
+
15
+ # Maps Intelligence (March 2026)
16
+
17
+ Maps platform analysis for local businesses. Works with external APIs to assess
18
+ how a business appears on Google Maps, Bing Places, Apple Maps, and OpenStreetMap.
19
+
20
+ **Boundary with seo-local:** This skill analyzes the business on maps PLATFORMS
21
+ (via APIs). seo-local analyzes local SEO signals on the WEBSITE (via HTML fetch).
22
+ Do not duplicate seo-local on-page analysis. Recommend `/seo local <url>` for
23
+ website-level checks.
24
+
25
+ ---
26
+
27
+ ## Quick Reference
28
+
29
+ | Command | What it does | Tier |
30
+ |---------|-------------|------|
31
+ | `/seo maps <url>` | Full maps presence audit (auto-selects tier) | 0+ |
32
+ | `/seo maps grid <keyword> <location>` | Geo-grid rank scan (7x7, 1 keyword default) | 1+ |
33
+ | `/seo maps reviews <business> <location>` | Cross-platform review intelligence | 1+ |
34
+ | `/seo maps competitors <keyword> <location>` | Competitor radius mapping | 0+ |
35
+ | `/seo maps nap <business-name>` | Cross-platform NAP verification | 0+ |
36
+ | `/seo maps schema <business-name>` | Generate LocalBusiness JSON-LD from data | 0+ |
37
+ | `/seo maps gbp <business> <location>` | GBP completeness audit | 1+ |
38
+
39
+ ---
40
+
41
+ ## Three-Tier Capability Detection
42
+
43
+ Before any analysis, detect the available capability tier:
44
+
45
+ ### Tier 0 (Free)
46
+ **Detection:** DataForSEO MCP tools NOT available.
47
+ **Capabilities:** Overpass API competitor discovery, Geoapify POI search, Nominatim geocoding, static GBP checklist, schema generation, cross-platform NAP guidance.
48
+ **Load:** `references/maps-free-apis.md`
49
+
50
+ ### Tier 1 (DataForSEO)
51
+ **Detection:** `business_data_business_listings_search` MCP tool IS available.
52
+ **Capabilities:** Everything in Tier 0 PLUS geo-grid rank tracking, live GBP profile audit, review intelligence (velocity, sentiment, distribution), GBP post activity, Q&A data, Tripadvisor/Trustpilot reviews.
53
+ **Load:** `references/maps-api-endpoints.md`
54
+
55
+ ### Tier 2 (DataForSEO + Google Maps Platform)
56
+ **Detection:** Tier 1 available AND Google Maps API key in environment.
57
+ **Capabilities:** Everything in Tier 1 PLUS Google Places details, real-time business status, AI-powered place summaries, photo analysis.
58
+ **Note:** Google ToS restricts storage to `place_id` only. Lat/lng cached 30 days max.
59
+
60
+ **Always communicate the detected tier to the user** at the start of analysis.
61
+
62
+ ---
63
+
64
+ ## Geo-Grid Rank Tracking (Tier 1+)
65
+
66
+ Simulates Google Maps searches from multiple GPS coordinates to show ranking
67
+ variation across a geographic area. Requires DataForSEO.
68
+
69
+ **Load:** `references/maps-geo-grid.md` for algorithm, SoLV formula, heatmap format.
70
+ **Load:** `references/maps-api-endpoints.md` for Maps SERP endpoint details.
71
+
72
+ ### Workflow
73
+
74
+ 1. Geocode business address to get center lat/lng
75
+ 2. Generate grid points (default: 7x7, 5km radius) using Haversine offset formula
76
+ 3. **Display cost estimate and ask for confirmation before proceeding**
77
+ 4. Fire DataForSEO Maps SERP API calls with `location_coordinate` per grid point
78
+ 5. Find target business rank at each point
79
+ 6. Calculate SoLV: `(top_3_count / total_points) * 100`
80
+ 7. Render ASCII heatmap in output
81
+
82
+ ### Cost Warning (REQUIRED)
83
+
84
+ Before every geo-grid scan, display:
85
+ ```
86
+ Geo-Grid Scan: [keyword] at [location]
87
+ Grid: 7x7 (49 points) | Keywords: [N] | Est. cost: $[amount]
88
+ DataForSEO credits will be consumed. Proceed?
89
+ ```
90
+
91
+ ---
92
+
93
+ ## GBP Profile Audit (Tier 1 preferred, Tier 0 manual)
94
+
95
+ Audits the 25 fields that affect Google Business Profile quality and ranking.
96
+
97
+ **Load:** `references/maps-gbp-checklist.md` for full checklist and scoring.
98
+
99
+ ### Tier 1 Workflow
100
+
101
+ 1. Fetch business profile via DataForSEO My Business Info API (keyword or CID)
102
+ 2. Map API response fields to 25-field checklist
103
+ 3. Score each field: Present + Optimized = 2pts, Present = 1pt, Missing = 0pts
104
+ 4. Apply industry-specific weight multipliers
105
+ 5. Normalize to 0-100 scale
106
+
107
+ ### Tier 0 Workflow
108
+
109
+ 1. Fetch the business website via WebFetch
110
+ 2. Extract any visible GBP signals (Maps embed, place references, review widgets)
111
+ 3. Apply static checklist based on detectable signals
112
+ 4. Mark undetectable fields as "Unknown (requires DataForSEO for live data)"
113
+
114
+ ---
115
+
116
+ ## Review Intelligence (Tier 1+)
117
+
118
+ Cross-platform review analysis: velocity, sentiment, rating distribution, fake detection.
119
+
120
+ **Reference:** `references/local-seo-signals.md` for benchmarks (shared with seo-local).
121
+
122
+ ### Workflow
123
+
124
+ 1. Fetch Google reviews via DataForSEO Reviews API (sort by newest)
125
+ 2. Calculate review velocity: reviews per month over last 6 months
126
+ 3. Check 18-day rule (Sterling Sky): any 3-week gap = ranking risk
127
+ 4. Analyze rating distribution: healthy = bell curve skewed to 5-star
128
+ 5. Calculate owner response rate: responses / total reviews
129
+ 6. Fetch Tripadvisor and Trustpilot reviews (if available)
130
+ 7. Cross-platform comparison table
131
+
132
+ ### Fake Review Detection Signals
133
+
134
+ Flag reviews matching 2+ of these patterns:
135
+ - Uniform timing (multiple reviews same day/hour)
136
+ - Reviewer accounts with limited history or single review
137
+ - Geographic inconsistencies (reviewer location vs business location)
138
+ - Exclusively 5-star velocity spike (vs historical baseline)
139
+ - Identical or near-identical text across reviews
140
+ - Sudden volume spike without corresponding marketing activity
141
+
142
+ ---
143
+
144
+ ## Competitor Radius Mapping (Tier 0+)
145
+
146
+ Identify and analyze competitors within a defined radius.
147
+
148
+ ### Tier 0 (Overpass API)
149
+
150
+ **Load:** `references/maps-free-apis.md` for query templates.
151
+
152
+ 1. Geocode business address
153
+ 2. Query Overpass API for businesses with same OSM tag within radius
154
+ 3. Parse results: name, address, phone, website, distance from center
155
+ 4. Sort by distance, present as competitor landscape table
156
+
157
+ ### Tier 1 (DataForSEO)
158
+
159
+ 1. Use Maps SERP API with business keyword + location
160
+ 2. Extract top 20 competitors with full profile data
161
+ 3. Compare: rating, review count, categories, photos, attributes
162
+ 4. Calculate competitive density score: competitors per km^2
163
+
164
+ ---
165
+
166
+ ## Cross-Platform NAP Verification (Tier 0+)
167
+
168
+ Check business listing consistency across Google, Bing Places, Apple, and OSM.
169
+
170
+ ### Workflow
171
+
172
+ 1. Search for business name on each platform:
173
+ - Google: infer from GBP data or Maps SERP result
174
+ - Bing: `WebFetch https://www.bing.com/maps?q=BUSINESS+NAME+LOCATION`
175
+ - Apple: manual check (no public API -- recommend Apple Business Connect at businessconnect.apple.com)
176
+ - OSM: Overpass or Nominatim search
177
+ 2. Extract NAP (Name, Address, Phone) from each source
178
+ 3. Compare for consistency: exact match, partial match, missing, or conflicting
179
+ 4. Flag discrepancies as Critical (name mismatch), High (address mismatch), Medium (phone mismatch)
180
+ 5. Recommend claiming unclaimed profiles
181
+
182
+ ---
183
+
184
+ ## Schema Generation (Tier 0+)
185
+
186
+ Generate LocalBusiness JSON-LD markup from collected data.
187
+
188
+ **Reference:** `references/local-schema-types.md` for industry subtypes (shared with seo-local).
189
+
190
+ ### Workflow
191
+
192
+ 1. Determine most specific schema subtype for the industry
193
+ 2. Populate required properties: `@type`, `name`, `address`, `image`
194
+ 3. Add recommended properties: `telephone`, `url`, `geo`, `openingHoursSpecification`, `priceRange`
195
+ 4. Add strategic properties for multi-location: `branchOf`, `areaServed`, `sameAs`
196
+ 5. Add `aggregateRating` if review data available
197
+ 6. Output valid JSON-LD block ready for implementation
198
+
199
+ **Do NOT generate self-serving review markup** -- Google ignores LocalBusiness review markup from the business itself. Only mark up third-party reviews visible on the page.
200
+
201
+ ---
202
+
203
+ ## Reference Files
204
+
205
+ Load on-demand as needed (do NOT load all at startup):
206
+ - `references/maps-api-endpoints.md`: DataForSEO endpoint details, params, costs
207
+ - `references/maps-free-apis.md`: Overpass, Geoapify, Nominatim query templates
208
+ - `references/maps-geo-grid.md`: Grid algorithm, SoLV formula, heatmap rendering
209
+ - `references/maps-gbp-checklist.md`: 25-field GBP audit with industry weights
210
+ - `references/local-seo-signals.md`: Ranking factors, review benchmarks (shared)
211
+ - `references/local-schema-types.md`: LocalBusiness subtypes by industry (shared)
212
+
213
+ ---
214
+
215
+ ## Output
216
+
217
+ Generate `MAPS-ANALYSIS-{domain}.md` with:
218
+
219
+ 1. **Maps Health Score: XX/100** with dimension breakdown table
220
+ 2. **Capability tier detected** (Tier 0 or Tier 1) with explanation of what's available
221
+ 3. **Geo-grid heatmap** (Tier 1): ASCII grid with SoLV percentage and average rank
222
+ 4. **GBP profile audit**: field-by-field scoring with industry-specific weights
223
+ 5. **Review intelligence**: velocity chart, rating distribution, response rate, cross-platform comparison
224
+ 6. **Competitor landscape**: count in radius, top 5 by rating/reviews, competitive density
225
+ 7. **Cross-platform presence**: Google/Bing/Apple/OSM listing status
226
+ 8. **Schema recommendation**: generated LocalBusiness JSON-LD (if missing or incomplete)
227
+ 9. **Top 10 prioritized actions** (Critical > High > Medium > Low)
228
+ 10. **Cost report**: DataForSEO credits consumed during analysis (Tier 1 only)
229
+ 11. **Limitations disclaimer**: what could not be assessed at current tier
230
+
231
+ ---
232
+
233
+ ## Cross-Skill Delegation
234
+
235
+ - Website on-page local signals: recommend `/seo local <url>`
236
+ - Full AI search visibility: recommend `/seo geo <url>`
237
+ - Schema validation and fixes: recommend `/seo schema <url>`
238
+ - Live SERP and keyword data: recommend `/seo dataforseo [command]`
239
+
240
+ ---
241
+
242
+ ## Error Handling
243
+
244
+ | Scenario | Action |
245
+ |----------|--------|
246
+ | DataForSEO MCP not available | Drop to Tier 0. Inform user: "DataForSEO not detected. Running free-tier analysis. For geo-grid tracking and review intelligence, install the DataForSEO extension." |
247
+ | Business not found in Maps SERP | Try My Business Info with keyword. If still not found, report "Business not found in Google Maps for this location." |
248
+ | Geocoding fails (Nominatim) | Ask user to provide coordinates or a more specific address. |
249
+ | API rate limit hit | Report the limit. Suggest waiting or using standard (queued) method instead of live. |
250
+ | No reviews found | Report zero review state. Recommend review generation strategy with 18-day cadence target. |
251
+ | Multi-location detected | Ask user which location to analyze, or offer batch mode with per-location cost estimate. |
252
+
253
+
254
+ ## Specialist Role Instructions
255
+
256
+ When operating as a specialist during audits:
257
+
258
+ You are a Maps Intelligence specialist. When delegated tasks during an SEO audit or given a business URL/name:
259
+
260
+ 1. Detect capability tier: check if DataForSEO MCP tools are available (try `business_data_business_listings_search`). If available = Tier 1. If not = Tier 0 (free APIs only).
261
+ 2. Identify the target business: extract name, location, and category from the URL or provided context
262
+ 3. Geocode the business address using Nominatim (free) or DataForSEO (Tier 1)
263
+ 4. Run available analyses based on tier (see below)
264
+ 5. Score the business on the Maps Health Score rubric
265
+ 6. Generate structured report with prioritized recommendations
266
+
267
+ ## Tier 0 (Free) Capabilities
268
+
269
+ - Competitor discovery via Overpass API (radius query by business category)
270
+ - Structured POI search via Geoapify (if API key available)
271
+ - Address geocoding via Nominatim (1 req/sec, include User-Agent header)
272
+ - Static GBP completeness checklist (manual assessment from visible data)
273
+ - LocalBusiness schema generation from collected data
274
+ - Cross-platform NAP guidance (recommend claiming Google, Bing, Apple)
275
+
276
+ ## Tier 1 (DataForSEO) Additional Capabilities
277
+
278
+ - Geo-grid rank tracking via Maps SERP API with `location_coordinate`
279
+ - Live GBP profile audit via My Business Info API
280
+ - Review intelligence via Reviews API (velocity, sentiment, distribution)
281
+ - GBP post activity audit via My Business Updates API
282
+ - Q&A gap analysis via Questions and Answers API
283
+ - Cross-platform reviews (Tripadvisor, Trustpilot)
284
+ - Business listings search for competitor discovery
285
+
286
+ ## Maps Health Score (0-100)
287
+
288
+ | Dimension | Weight | Data Source |
289
+ |-----------|--------|-------------|
290
+ | Geo-Grid Visibility / SoLV | 25% | DataForSEO Maps SERP (Tier 1 only; skip and redistribute if Tier 0) |
291
+ | GBP Profile Completeness | 20% | DataForSEO My Business Info (Tier 1) or manual checklist (Tier 0) |
292
+ | Review Health | 20% | DataForSEO Reviews (Tier 1) or visible review signals (Tier 0) |
293
+ | Cross-Platform Presence | 15% | WebFetch checks for Bing, Apple, OSM listings |
294
+ | Competitor Position | 10% | Overpass/DataForSEO competitor count and relative rating |
295
+ | Schema & AI Readiness | 10% | Schema detection + AI citation signal check |
296
+
297
+ **Tier 0 weight redistribution:** When geo-grid is unavailable, redistribute its 25% across GBP (+10%), Review Health (+10%), Cross-Platform (+5%).
298
+
299
+ ## Reference Files
300
+
301
+ Load on-demand:
302
+ - `skills/seo/references/maps-api-endpoints.md`: DataForSEO endpoint details and costs
303
+ - `skills/seo/references/maps-free-apis.md`: Overpass, Geoapify, Nominatim query templates
304
+ - `skills/seo/references/maps-geo-grid.md`: Grid algorithm, SoLV calculation, heatmap rendering
305
+ - `skills/seo/references/maps-gbp-checklist.md`: 25-field GBP audit checklist with industry weights
306
+ - `skills/seo/references/local-seo-signals.md`: Ranking factors, review benchmarks (shared with seo-local)
307
+ - `skills/seo/references/local-schema-types.md`: LocalBusiness subtypes by industry (shared with seo-local)
308
+
309
+ ## Cross-Skill Delegation
310
+
311
+ - Do NOT duplicate seo-local on-page analysis. Recommend `/seo local <url>` for website-level checks.
312
+ - Do NOT duplicate seo-geo AI visibility analysis. Recommend `/seo geo <url>` for full GEO audit.
313
+ - Do NOT duplicate seo-schema validation. Recommend `/seo schema <url>` for schema fixes.
314
+
315
+ ## Output Format
316
+
317
+ Provide a structured report with:
318
+ - Maps Health Score (0-100) with dimension breakdown
319
+ - Capability tier detected (Tier 0 or Tier 1)
320
+ - Geo-grid heatmap (if Tier 1) with SoLV percentage
321
+ - GBP profile completeness score with field-by-field breakdown
322
+ - Review health snapshot (rating, count, velocity, response rate, cross-platform)
323
+ - Competitor landscape (count in radius, top competitors by rating/reviews)
324
+ - Cross-platform presence status (Google, Bing, Apple, OSM)
325
+ - Generated LocalBusiness JSON-LD (if schema missing)
326
+ - Top 10 prioritized actions (Critical > High > Medium > Low)
327
+ - Cost report (DataForSEO credits consumed, if applicable)
328
+ - Limitations disclaimer (what could not be assessed at current tier)
@@ -0,0 +1,86 @@
1
+ ---
2
+ name: seo-page
3
+ description: >
4
+ Deep single-page SEO analysis covering on-page elements, content quality,
5
+ technical meta tags, schema, images, and performance. Use when user says
6
+ "analyze this page", "check page SEO", or provides a single URL for review.
7
+ ---
8
+
9
+ # Single Page Analysis
10
+
11
+ ## What to Analyze
12
+
13
+ ### On-Page SEO
14
+ - Title tag: 50-60 characters, includes primary keyword, unique
15
+ - Meta description: 150-160 characters, compelling, includes keyword
16
+ - H1: exactly one, matches page intent, includes keyword
17
+ - H2-H6: logical hierarchy (no skipped levels), descriptive
18
+ - URL: short, descriptive, hyphenated, no parameters
19
+ - Internal links: sufficient, relevant anchor text, no orphan pages
20
+ - External links: to authoritative sources, reasonable count
21
+
22
+ ### Content Quality
23
+ - Word count vs page type minimums (see quality-gates.md)
24
+ - Readability: Flesch Reading Ease score, grade level
25
+ - Keyword density: natural (1-3%), semantic variations present
26
+ - E-E-A-T signals: author bio, credentials, first-hand experience markers
27
+ - Content freshness: publication date, last updated date
28
+
29
+ ### Technical Elements
30
+ - Canonical tag: present, self-referencing or correct
31
+ - Meta robots: index/follow unless intentionally blocked
32
+ - Open Graph: og:title, og:description, og:image, og:url
33
+ - Twitter Card: twitter:card, twitter:title, twitter:description
34
+ - Hreflang: if multi-language, correct implementation
35
+
36
+ ### Schema Markup
37
+ - Detect all types (JSON-LD preferred)
38
+ - Validate required properties
39
+ - Identify missing opportunities
40
+ - NEVER recommend HowTo (deprecated) or FAQ (restricted to gov/health)
41
+
42
+ ### Images
43
+ - Alt text: present, descriptive, includes keywords where natural
44
+ - File size: flag >200KB (warning), >500KB (critical)
45
+ - Format: recommend WebP/AVIF over JPEG/PNG
46
+ - Dimensions: width/height set for CLS prevention
47
+ - Lazy loading: loading="lazy" on below-fold images
48
+
49
+ ### Core Web Vitals (reference only, not measurable from HTML alone)
50
+ - Flag potential LCP issues (huge hero images, render-blocking resources)
51
+ - Flag potential INP issues (heavy JS, no async/defer)
52
+ - Flag potential CLS issues (missing image dimensions, injected content)
53
+
54
+ ## Output
55
+
56
+ ### Page Score Card
57
+ ```
58
+ Overall Score: XX/100
59
+
60
+ On-Page SEO: XX/100 ████████░░
61
+ Content Quality: XX/100 ██████████
62
+ Technical: XX/100 ███████░░░
63
+ Schema: XX/100 █████░░░░░
64
+ Images: XX/100 ████████░░
65
+ ```
66
+
67
+ ### Issues Found
68
+ Organized by priority: Critical -> High -> Medium -> Low
69
+
70
+ ### Recommendations
71
+ Specific, actionable improvements with expected impact
72
+
73
+ ### Schema Suggestions
74
+ Ready-to-use JSON-LD code for detected opportunities
75
+
76
+ ## DataForSEO Integration (Optional)
77
+
78
+ If DataForSEO MCP tools are available, use `serp_organic_live_advanced` for real SERP positions and `backlinks_summary` for backlink data and spam scores.
79
+
80
+ ## Error Handling
81
+
82
+ | Scenario | Action |
83
+ |----------|--------|
84
+ | URL unreachable (DNS failure, connection refused) | Report the error clearly. Do not guess page content. Suggest the user verify the URL and try again. |
85
+ | Page requires authentication (401/403) | Report that the page is behind authentication. Suggest the user provide the rendered HTML directly or a publicly accessible URL. |
86
+ | JavaScript-rendered content (empty body in HTML) | Note that key content may be rendered client-side. Analyze the available HTML and flag that results may be incomplete. Suggest using a browser-rendered snapshot if available. |
@@ -0,0 +1,118 @@
1
+ ---
2
+ name: seo-plan
3
+ description: >
4
+ Strategic SEO planning for new or existing websites. Industry-specific
5
+ templates, competitive analysis, content strategy, and implementation
6
+ roadmap. Use when user says "SEO plan", "SEO strategy", "content strategy",
7
+ "site architecture", or "SEO roadmap".
8
+ ---
9
+
10
+ # Strategic SEO Planning
11
+
12
+ ## Process
13
+
14
+ ### 1. Discovery
15
+ - Business type, target audience, competitors, goals
16
+ - Current site assessment (if exists)
17
+ - Budget and timeline constraints
18
+ - Key performance indicators (KPIs)
19
+
20
+ ### 2. Competitive Analysis
21
+ - Identify top 5 competitors
22
+ - Analyze their content strategy, schema usage, technical setup
23
+ - Identify keyword gaps and content opportunities
24
+ - Assess their E-E-A-T signals
25
+ - Estimate their domain authority
26
+
27
+ ### 3. Architecture Design
28
+ - Load industry template from `assets/` directory
29
+ - Design URL hierarchy and content pillars
30
+ - Plan internal linking strategy
31
+ - Sitemap structure with quality gates applied
32
+ - Information architecture for user journeys
33
+
34
+ ### 4. Content Strategy
35
+ - Content gaps vs competitors
36
+ - Page types and estimated counts
37
+ - Blog/resource topics and publishing cadence
38
+ - E-E-A-T building plan (author bios, credentials, experience signals)
39
+ - Content calendar with priorities
40
+
41
+ ### 5. Technical Foundation
42
+ - Hosting and performance requirements
43
+ - Schema markup plan per page type
44
+ - Core Web Vitals baseline targets
45
+ - AI search readiness requirements
46
+ - Mobile-first considerations
47
+
48
+ ### 6. Implementation Roadmap (4 phases)
49
+
50
+ #### Phase 1: Foundation (weeks 1-4)
51
+ - Technical setup and infrastructure
52
+ - Core pages (home, about, contact, main services)
53
+ - Essential schema implementation
54
+ - Analytics and tracking setup
55
+
56
+ #### Phase 2: Expansion (weeks 5-12)
57
+ - Content creation for primary pages
58
+ - Blog launch with initial posts
59
+ - Internal linking structure
60
+ - Local SEO setup (if applicable)
61
+
62
+ #### Phase 3: Scale (weeks 13-24)
63
+ - Advanced content development
64
+ - Link building and outreach
65
+ - GEO optimization
66
+ - Performance optimization
67
+
68
+ #### Phase 4: Authority (months 7-12)
69
+ - Thought leadership content
70
+ - PR and media mentions
71
+ - Advanced schema implementation
72
+ - Continuous optimization
73
+
74
+ ## Industry Templates
75
+
76
+ Load from `assets/` directory:
77
+ - `saas.md`: SaaS/software companies
78
+ - `local-service.md`: Local service businesses
79
+ - `ecommerce.md`: E-commerce stores
80
+ - `publisher.md`: Content publishers/media
81
+ - `agency.md`: Agencies and consultancies
82
+ - `generic.md`: General business template
83
+
84
+ ## Output
85
+
86
+ ### Deliverables
87
+ - `SEO-STRATEGY.md`: Complete strategic plan
88
+ - `COMPETITOR-ANALYSIS.md`: Competitive insights
89
+ - `CONTENT-CALENDAR.md`: Content roadmap
90
+ - `IMPLEMENTATION-ROADMAP.md`: Phased action plan
91
+ - `SITE-STRUCTURE.md`: URL hierarchy and architecture
92
+
93
+ ### KPI Targets
94
+ | Metric | Baseline | 3 Month | 6 Month | 12 Month |
95
+ |--------|----------|---------|---------|----------|
96
+ | Organic Traffic | ... | ... | ... | ... |
97
+ | Keyword Rankings | ... | ... | ... | ... |
98
+ | Domain Authority | ... | ... | ... | ... |
99
+ | Indexed Pages | ... | ... | ... | ... |
100
+ | Core Web Vitals | ... | ... | ... | ... |
101
+
102
+ ### Success Criteria
103
+ - Clear, measurable goals per phase
104
+ - Resource requirements defined
105
+ - Dependencies identified
106
+ - Risk mitigation strategies
107
+
108
+ ## DataForSEO Integration (Optional)
109
+
110
+ If DataForSEO MCP tools are available, use `dataforseo_labs_google_competitors_domain` and `dataforseo_labs_google_domain_intersection` for real competitive intelligence, `dataforseo_labs_bulk_traffic_estimation` for traffic estimates, `kw_data_google_ads_search_volume` and `dataforseo_labs_bulk_keyword_difficulty` for keyword research, and `business_data_business_listings_search` for local business data.
111
+
112
+ ## Error Handling
113
+
114
+ | Scenario | Action |
115
+ |----------|--------|
116
+ | Unrecognized business type | Fall back to `generic.md` template. Inform user that no industry-specific template was found and proceed with the general business template. |
117
+ | No website URL provided | Proceed with new-site planning mode. Skip current site assessment and competitive gap analysis that require a live URL. |
118
+ | Industry template not found | Check `assets/` directory for available templates. If the requested template file is missing, use `generic.md` and note the missing template in output. |