> Find quick-win SEO content opportunities by comparing your site's existing content against competitor keyword rankings. Chains site-content-catalog and seo-domain-analyzer to build a content inventory, then identifies gaps — topics competitors rank for that you don't cover yet. Outputs a prioritized list of posts to write or update. Use when a seed/Series A team wants to start winning organic traffic without guessing.
npx skills add https://github.com/gooseworks-ai/goose-skills --skill 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.
https://yourcompany.com)Build an inventory of the target site's current pages and posts:
/sitemap.xml, /sitemap_index.xml, robots.txt for Sitemap: directives)/feed, /blog/feed) or blog index crawl if no sitemapThis prevents recommending content you've already written.
For each competitor domain, pull SEO metrics:
APIFY_API_TOKEN is set)If Apify data is limited, supplement with web search probes:
site:[competitor] for indexed page countCompare your content inventory (Phase 1) against competitor keyword/topic coverage (Phase 2):
| Type | Definition | Priority |
|------|------------|----------|
| Hard gap | Competitor has a page/post on topic, you have nothing | High |
| Soft gap | You have content on topic but it's thin (< 500 words, old, no depth) | Medium |
| Positioning gap | Competitor owns a keyword cluster that maps to your ICP's exact problem | High |
| Informational gap | High traffic, low commercial intent — good for awareness, not conversion | Low |
For each gap topic, score commercial intent (1-5):
Prioritize gaps with score ≥ 3.
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 the current working directory or wherever the user prefers.
| Component | Cost |
|-----------|------|
| Site content catalog | Free (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 |
APIFY_API_TOKEN env var (for Semrush/Ahrefs data; free web search probes work without it)A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).
Extracts and analyzes competitors' ads from ad libraries (Facebook, LinkedIn, etc.) to understand what messaging, problems, and creative approaches are working. Helps inspire and improve your own ad campaigns.
Identifies high-quality leads for your product or service by analyzing your business, searching for target companies, and providing actionable contact strategies. Perfect for sales, business development, and marketing professionals.
Analyzes your recent Claude Code chat history to identify coding patterns, development gaps, and areas for improvement, curates relevant learning resources from HackerNews, and automatically sends a personalized growth report to your Slack DMs.
Complete App Store Optimization (ASO) toolkit for researching, optimizing, and tracking mobile app performance on Apple App Store and Google Play Store
NGS analysis toolkit. BAM to bigWig conversion, QC (correlation, PCA, fingerprints), heatmaps/profiles (TSS, peaks), for ChIP-seq, RNA-seq, ATAC-seq visualization.
Materials science toolkit. Crystal structures (CIF, POSCAR), phase diagrams, band structure, DOS, Materials Project integration, format conversion, for computational materials science.
Transforms vague UI ideas into polished, Stitch-optimized prompts. Enhances specificity, adds UI/UX keywords, injects design system context, and structures output for better generation results.
Take gooseworks-ai/seo-opportunity-finder from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.