agentsclimarketplace

Geo competitor scanner

Skill geoly-ai/geo-skills/geo-competitor-scanner

GEO skills for OpenClaw, including site audit, llms-txt optimization, schema generation and more.

Install
npx -y skills add geoly-ai/geo-skills --skill geo-competitor-scanner

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 13 stars13 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Analyze competitor GEO (Generative Engine Optimization) strategies by examining their content structure, Schema markup, llms.txt, and AI citation signals. Benchmark your brand against competitors and identify strategic gaps and opportunities. Use whenever the user mentions scanning competitor GEO strategies, comparing AI search performance, analyzing competitor content for AI citations, finding GEO gaps, or wants to understand how competitors win AI citations.

SKILL.md

5.5 KB, as published. Nobody here has run it

GEO Competitor Scanner

Methodology by GEOly AI (geoly.ai) β€” understand how competitors win AI citations before they widen the gap.

Analyze competitor websites across key GEO signals to benchmark your brand and identify opportunities.

Quick Start

Scan competitors:

python scripts/scan_competitors.py --brand yourdomain.com \
  --competitors competitor1.com,competitor2.com \
  --output report.md

Scan Dimensions

1. Technical GEO Infrastructure

CheckWhy It Matters
/llms.txt existsAI crawler guidance
/robots.txt allows AI botsCrawl accessibility
Schema.org types presentStructured understanding
JSON-LD validMachine-readable content
HTTPS enforcedSecurity signal

2. Content Structure Analysis

SignalWhat to Look For
Direct answer leadFirst paragraph answers the question
FAQ sectionsExplicit Q&A blocks (2-5 per page)
Header structureH2 every 300-500 words
Data citationsStatistics with sources
Definition blocksKey terms defined clearly

3. Entity & Brand Signals

SignalImplementation
Organization schemaHomepage JSON-LD
sameAs linksSocial/Wikipedia connections
Consistent namingBrand name standardized
About pageEntity definition
Brand in first 100 wordsEarly entity mention

4. Citation-Optimized Content

Content TypeGEO Value
Original researchUnique data attracts citations
Comparison pages"vs" queries are high-intent
Definition content"What is" queries are common
Content hubsTopical authority building
Statistics pagesReference-worthy data

Full methodology: See references/scan-methodology.md

Research Workflow

Step 1: Identify Competitors

Collect up to 5 competitors:

  • Direct competitors (same category)
  • Adjacent competitors (overlapping use cases)
  • Aspirational competitors (bigger brands)

Step 2: Automated Scan

Run scanner on each domain:

python scripts/scan_competitors.py \
  --brand yourdomain.com \
  --competitors comp1.com,comp2.com,comp3.com \
  --pages 5 \
  --output scan-results.json

Step 3: Manual Review

For nuanced signals, review manually:

  • Content quality (can't automate)
  • Brand voice consistency
  • Unique value propositions

Step 4: Gap Analysis

Identify:

  • πŸ† Competitor advantages β€” What they do better
  • 🎯 Quick wins β€” Easy to implement (copy)
  • πŸ•³οΈ Category gaps β€” No one is doing this (opportunity)

Scoring System

Each competitor scored 0-10 per dimension:

ScoreRatingMeaning
9-10ExcellentBest practice implementation
7-8GoodSolid with minor gaps
5-6FairSignificant room for improvement
3-4PoorMajor issues present
0-2CriticalFundamental problems

Overall GEO Score: Average of 4 dimensions (max 10)

Output Report

Competitive Matrix

| Signal | Your Brand | Competitor A | Competitor B | Gap |
|--------|------------|--------------|--------------|-----|
| llms.txt | ❌ | βœ… | ❌ | -1 |
| AI crawlers | βœ… | βœ… | βœ… | 0 |
| Organization schema | βœ… | βœ… | ❌ | 0 |
| FAQ schema | ❌ | βœ… | βœ… | -1 |
| Direct-answer content | 3/5 | 4/5 | 2/5 | -1 |
| Original research | ❌ | βœ… | ❌ | -1 |
| Comparison pages | βœ… | βœ… | ❌ | 0 |
| Definition content | ❌ | ❌ | ❌ | 0 |
| **Overall** | **5.2/10** | **7.8/10** | **4.1/10** | **-2.6** |

Insights

πŸ† Competitor Advantages:

  • Competitor A: Strong FAQ schema on all product pages
  • Competitor B: Publishes quarterly industry benchmarks

🎯 Your Quick Wins:

  • Add llms.txt (3 competitors have it, you don't)
  • Implement FAQ schema on top 10 pages
  • Add definition blocks to 5 key concept pages

πŸ•³οΈ Category Gaps:

  • No competitor has a comprehensive "What is [category]?" guide
  • Missing: Comparison matrix of all major players
  • Opportunity: Original research on industry trends

Advanced Usage

Page-Level Analysis

Scan specific competitor pages:

python scripts/analyze_page.py https://competitor.com/pricing \
  --type product \
  --output analysis.json

Trend Tracking

Track competitor changes over time:

# Initial scan
python scripts/scan_competitors.py --brand your.com --competitors comp.com --save-baseline

# 30 days later
python scripts/scan_competitors.py --brand your.com --competitors comp.com --compare-to baseline.json

Bulk Page Analysis

Analyze multiple pages from sitemap:

python scripts/bulk_scan.py https://competitor.com/sitemap.xml \
  --limit 50 \
  --output bulk-results.json

See Also

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.