AI SkillFind OpportunitiesMarketing

SEO Opportunity Finder — quick wins from competitor gaps — Claude Skill

A Claude Skill for Claude Code by Gooseworks — run /seo-opportunity-finder in Claude·Updated

Compatible withClaude·ChatGPT·OpenClaw

Find quick-win SEO content opportunities by competitor gap analysis

  • Catalogs your existing content
  • Compares against competitor keyword rankings
  • Identifies topics they rank for and you don't
  • Outputs a prioritized list of posts to write or update
  • Designed for quick wins, not long-term strategy

Who this is for

What it does

First SEO program

For seed/Series A teams just starting SEO, find the easiest wins to validate the channel.

Editorial calendar input

Feed your weekly editorial planning with prioritized SEO opportunities.

Content refresh triage

Find existing posts you should refresh based on competitor coverage.

How it works

1

Take your site and competitors as input

2

Catalog your existing content

3

Compare against competitor keyword rankings

4

Identify gap topics

5

Output prioritized opportunity list

Metrics this improves

Keyword Rankings
More keyword rankings by targeting gap topics competitors already validated
Marketing
Organic Traffic
Higher organic traffic from filling content gaps
Marketing

Works with

Want to use SEO Opportunity Finder?

Choose how to get started.

Run in Claude Code
Free. Open source.

Install and run this skill locally on your computer.

1
Install Claude Code

Open a terminal on your computer and paste this command:

2
Install the skill

This downloads the skill with all its files to your computer:

Add -g at the end to make it available in all your projects.

3
Run it

Start Claude Code, then type the command:

then
View source on GitHub
Use on ElasticFlow
Team and collaboration features

Run skills from your browser. Share results, manage access, collaborate with your team. No terminal needed.

Free 14-day trial. Cancel anytime.

SEO Opportunity Finder

Identify the highest-leverage content gaps between your site and competitors. Combines a crawl of your existing content with competitor keyword/traffic analysis to surface a prioritized list of posts worth writing.

Core principle: Don't start from a blank keyword list. Start by knowing what you have, then find what competitors have that you don't — and pick the gaps most likely to convert.

When to Use

  • "Find SEO content gaps vs our competitors"
  • "What topics should we write about to rank?"
  • "We're starting a blog — where should we focus first?"
  • "What keywords are [competitor] ranking for that we're missing?"

Phase 0: Intake

  1. Your website URL (e.g., https://yourcompany.com)
  2. 2-3 competitor URLs to compare against
  3. Primary ICP — who are you trying to attract? (This filters for commercial intent vs. general traffic)
  4. Any topics/keyword themes that are definitely in scope? (Optional — helps prioritize output)

Phase 1: Catalog Your Existing Content

Run site-content-catalog to build an inventory of your current pages and posts:

python3 skills/site-content-catalog/scripts/catalog_site.py \
  --url <your_site_url> \
  --output json

Extract from results:

  • All blog post titles and URLs
  • Inferred topics/themes per post
  • Estimated content age (from URL slugs or metadata if available)

This prevents recommending content you've already written.

Phase 2: Analyze Competitor SEO Footprint

Run seo-domain-analyzer for each competitor:

# Uses Apify Semrush/Ahrefs scrapers
node skills/seo-domain-analyzer/src/cli.js analyze --domain <competitor_domain>

Collect for each competitor:

  • Top ranking keywords (by estimated traffic volume)
  • Top pages by organic traffic
  • Domain authority / DR score
  • Keyword categories they're winning in

If seo-domain-analyzer returns limited data (low-traffic competitor), supplement with seo-traffic-analyzer:

python3 skills/seo-traffic-analyzer/scripts/analyze_seo.py \
  --url <competitor_url> \
  --output summary

Phase 3: Identify Gaps

Compare your content inventory (Phase 1) against competitor keyword/topic coverage (Phase 2):

Gap Classification

TypeDefinitionPriority
Hard gapCompetitor has a page/post on topic, you have nothingHigh
Soft gapYou have content on topic but it's thin (< 500 words, old, no depth)Medium
Positioning gapCompetitor owns a keyword cluster that maps to your ICP's exact problemHigh
Informational gapHigh traffic, low commercial intent — good for awareness, not conversionLow

Commercial Intent Filter

For each gap topic, score commercial intent (1-5):

  • 5 — Directly maps to your product (e.g., "best AI SDR tools for startups")
  • 4 — Problem-aware but not product-specific (e.g., "how to scale outbound SDR")
  • 3 — Adjacent pain point (e.g., "cold email open rates benchmark 2026")
  • 2 — Educational, tangential (e.g., "what is lead scoring")
  • 1 — Generic traffic, low conversion potential

Prioritize gaps with score ≥ 3.

Phase 4: Synthesize & Output

Produce a prioritized opportunity table + editorial brief starters:

# SEO Opportunity Report — [Your Company] vs [Competitors]
Generated: [DATE]

## Your Content Snapshot
- Total indexed pages: [N]
- Blog posts: [N]
- Main topic clusters: [list]

## Competitor Benchmarks
| Domain | DR | Est. Monthly Organic Traffic | Top Keyword Clusters |
|--------|----|-----------------------------|----------------------|
| [comp1] | [X] | [X] | [topics] |
| [comp2] | [X] | [X] | [topics] |

## Top 10 Content Opportunities

### 1. [Topic/Title Suggestion]
- **Keyword target:** [keyword phrase]
- **Why it matters:** [what problem it solves for ICP]
- **Competitor owning it:** [competitor URL]
- **Est. monthly searches:** [range]
- **Commercial intent score:** [1-5]
- **Recommended format:** [listicle / how-to / comparison / landing page]
- **Estimated effort:** [hours or word count target]

### 2. [Topic/Title Suggestion]
...

## Quick Wins (update existing posts)

| Your Post | Issue | What to Add |
|-----------|-------|-------------|
| [URL] | [thin/outdated] | [recommendation] |

## Recommended Content Calendar (Next 90 Days)

| Month | Post | Intent Score | Est. Traffic Potential |
|-------|------|-------------|----------------------|
| Month 1 | [post 1] | [score] | [range] |
| Month 1 | [post 2] | [score] | [range] |
| Month 2 | [post 3] | [score] | [range] |
...

Save to clients/<client-name>/intelligence/seo-opportunities-[YYYY-MM-DD].md.

Cost

ComponentCost
Site content catalogFree (sitemap crawl)
SEO domain analyzer (per competitor)~$1-3 (Apify Semrush scraper)
Traffic analyzer (supplement)~$0.10-0.50 (web search probes)
Total per run~$3-10 for 3 competitors

Tools Required

  • Apify API tokenAPIFY_API_TOKEN env var
  • Upstream skills: site-content-catalog, seo-domain-analyzer, seo-traffic-analyzer

Trigger Phrases

  • "Find our SEO content gaps"
  • "What should we write about to rank?"
  • "Compare our content coverage to [competitor]"
  • "Run SEO opportunity finder for [client]"