Install
$ agentstack add skill-mshahiddigital-agentic-local-seo-audit-content-gaps ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Content Gap Analysis — Phase 5
Executive Summary
Content gap analysis is the systematic identification of topics, formats, and pages that competitors have and your client doesn't — or where competitors outperform significantly in depth. In 2025, content gaps operate on 3 layers: (1) keyword gaps (traditional — competitor ranks for keyword, client doesn't); (2) topical cluster gaps (competitor has full pillar+cluster architecture on a service, client has one thin page); (3) AI visibility gaps (competitor's content is cited in AI Overviews or by ChatGPT/Perplexity, client's isn't). The third layer is new in 2025 and often the highest-value gap: AI Overviews appear for 20–35% of queries, and being excluded from AIO = losing 30–45% of potential CTR on those queries (Dataslayer 2025). FAQPage schema is the single highest-leverage fix: sites with FAQPage are cited in AIO at 3.2× the rate of pages without it (Amsive 2025).
2025 content gap benchmarks:
- AIO content gap: if competitor appears in AIO for core service queries and client doesn't — highest priority gap
- Format gaps: competitor has video (VideoObject schema), FAQ (FAQPage), HowTo (HowToSchema) — client has text only
- Cluster completeness threshold: competitor at 10+ pages per service cluster vs. client at 1–3 pages = full cluster gap
- Word count gap: competitor pillar page 3,000+ words vs. client 800 words = depth gap (flagged as High priority)
- INP gap: competitor pages INP 500ms = UX gap that affects rankings and AIO eligibility
- Freshness gap: competitor pillar updated in last 30 days vs. client not updated in 12+ months = AI citation disadvantage (76.4% freshness advantage)
Numbered Action Plan:
Immediate (Week 1, No New Content)
- Run Ahrefs Content Gap — Competitive Analysis → Content Gap → enter client domain + 3 competitors → export all "Missing" keywords (all competitors rank, client doesn't). Sort by traffic value. Effort: 1 hr. Priority: 25 (5×5).
- Run SEMrush Keyword Gap — apply Intent filter: Missing + Informational = missing educational content; Missing + Commercial = missing comparison pages. Focus: KD ≤40 + Volume ≥100/month. Effort: 30 min.
- Map AIO citation gaps — for each main service keyword: check if AI Overviews appear (search in Chrome incognito). Is client cited? Which competitors are? Each uncited service = AIO content gap. Effort: 30 min.
- Audit format gaps — check if competitors have: FAQPage schema (use Google Rich Results Test), HowTo schema, VideoObject (embedded video), price comparison tables, local stats. Effort: 20 min/competitor.
- Cluster completeness audit — for each service topic: count client pages vs. competitor pages. Any cluster where competitor has 5+ pages and client has 20% YoY impressions drop)
From GSC YoY comparison:
| Page | Prior Clicks | Current Clicks | YoY Change | Action | Priority | |------|------------|--------------|-----------|--------|---------| | [URL] | [X] | [Y] | -[%] | Refresh stats/examples + schema | Critical if >50% |
Section 6: Local Content Gaps
Location-specific content gaps often have lower competition and high conversion intent.
City/Neighborhood Content Missing (Service × Location Matrix)
| | [City 1] | [City 2] | [Neighborhood 1] | [Neighborhood 2] | |-|---------|---------|-----------------|-----------------| | [Service A] | ✅ | ❌ | ❌ | ❌ | | [Service B] | ✅ | ✅ | ❌ | ❌ | | [Service C] | ❌ | ❌ | ❌ | ❌ |
Priority: red cells with highest population/search density first.
Emergency + High-Intent Local Gaps
| Query Pattern | Volume | Client Page? | Action | |-------------|--------|------------|--------| | "Emergency [service] [city]" | [vol] | Yes/No | Create dedicated emergency page | | "[service] open now [city]" | [vol] | Yes/No | Add hours + GBP service markup | | "Same day [service] [city]" | [vol] | Yes/No | Create/optimize service page | | "24 hour [service] [city]" | [vol] | Yes/No | Create/optimize service page |
Section 7: Content Gap Priority Matrix
Score all identified gaps. Build/improve the highest-priority first:
| Gap | Content Type | Est. Monthly Traffic | Competition (KD) | Time to Rank | Impact (1–5) | Feasibility (1–5) | Priority | Effort | |-----|------------|--------------------|--------------------|------------|-------------|-------------------|---------|--------| | [table-stakes topic] | Blog post | [vol] | Low (<20) | 1–3 months | 4 | 4 | 16 | 4–6 hrs | | [missing service page] | Service page | [vol] | Medium (20–50) | 2–4 months | 5 | 4 | 20 | 6–10 hrs | | [unowned snippet] | FAQ section | [vol] | Low | 2–8 weeks | 4 | 5 | 20 | 1–2 hrs | | [AIO gap] | FAQ + schema | [vol] | N/A | 2–6 weeks | 5 | 5 | 25 | 1–2 hrs | | [P4–10 quick win] | Expand existing | [vol] | Low | 2–4 weeks | 4 | 5 | 20 | 1–2 hrs |
Top 10 Priority Content Pieces (ordered by Priority Score):
- [Content title] — [keyword] — [format] — [est. traffic] — Effort: [X hrs]
- [Content title] — [keyword] — [format] — [est. traffic] — Effort: [X hrs]
- [Content title] — [keyword] — [format] — [est. traffic] — Effort: [X hrs]
- [Content title] — [keyword] — [format] — [est. traffic] — Effort: [X hrs]
- [Content title] — [keyword] — [format] — [est. traffic] — Effort: [X hrs]
Output
Write complete findings to {AUDIT_DIR}/content-gaps.md with YAML frontmatter:
---
skill: research/content-gaps
phase: 5
date: [YYYY-MM-DD]
business: [Business Name]
url: [URL]
score: [X/100]
gaps_identified: [X]
quick_wins: [X]
aio_gaps: [X]
table_stakes_missing: [X]
---
Include:
- Score X/100 with gap severity breakdown
- Topic gaps table (all 3 competitors vs. client)
- Content format gaps checklist
- Golden opportunities list (blue ocean + PAA + snippets)
- AIO gap analysis table (30 target keywords)
- Existing page improvement opportunities (P4-10 quick wins)
- Local content matrix (service × location)
- Priority matrix (all gaps, Impact × Feasibility scored)
- Top 10 priority content pieces with effort estimates
Key consumers:
research/keyword-gaps— keyword mapping for identified content gap topicsresearch/topical-gaps— maps gaps to topical authority structureoutput/report-generation— feeds quick wins and 30/90-day content plans
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: mshahiddigital
- Source: mshahiddigital/agentic-local-seo-audit
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.