skills/capabilities/seo-domain-analyzer/SKILL.md
Pull real SEO metrics for any domain using Apify scrapers for Semrush and Ahrefs data. Gets domain authority, organic traffic estimates, keyword rankings, backlink profiles, top performing pages, and auto-discovers competitors from keyword overlap. No Semrush/Ahrefs subscription needed — uses Apify actors that scrape public pages.
npx skillsauth add gooseworks-ai/goose-skills seo-domain-analyzerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Pull real SEO performance data for any domain — no Semrush or Ahrefs subscription needed. Uses Apify actors that scrape Semrush/Ahrefs public pages to get authority scores, traffic estimates, keyword rankings, backlink profiles, and competitor discovery.
# Basic domain analysis
python3 scripts/analyze_domain.py --domain "example.com"
# With competitor comparison
python3 scripts/analyze_domain.py \
--domain "example.com" \
--competitors "competitor1.com,competitor2.com,competitor3.com"
# Check specific keywords
python3 scripts/analyze_domain.py \
--domain "example.com" \
--keywords "cloud cost optimization,reduce aws bill,finops tools"
# Save output
python3 scripts/analyze_domain.py \
--domain "example.com" --output seo-profile.json
| Parameter | Required | Default | Description | |-----------|----------|---------|-------------| | domain | Yes | — | Domain to analyze (e.g., "example.com") | | competitors | No | auto-discovered | Comma-separated competitor domains | | keywords | No | auto-inferred | Specific keywords to check rankings for | | output | No | stdout | Path to save JSON output | | skip-backlinks | No | false | Skip Ahrefs backlink analysis (saves ~$0.10) |
| Data Source | Apify Actor | Est. Cost |
|-------------|------------|-----------|
| Domain overview (Semrush) | devnaz/semrush-scraper | ~$0.10/domain |
| Backlink profile (Ahrefs) | radeance/ahrefs-scraper | ~$0.10/domain |
| Keyword rank checks | apify/google-search-scraper | ~$0.002/keyword |
| Typical full run | | ~$0.50-1.00 |
| With 3 competitors | | ~$1.50-3.00 |
Use Apify actor devnaz/semrush-scraper to get:
# Actor: devnaz/semrush-scraper
# Input: domain URL
{
"urls": ["https://example.com"]
}
Extracted metrics:
Use Apify actor radeance/ahrefs-scraper to get:
# Actor: radeance/ahrefs-scraper
# Input: domain for backlink analysis
{
"urls": ["https://example.com"],
"mode": "domain-overview"
}
Extracted metrics:
For specific keywords (user-provided or auto-inferred from Phase 1), verify actual rankings using Google search:
# Actor: apify/google-search-scraper
# Input: keyword queries
{
"queries": "cloud cost optimization",
"maxPagesPerQuery": 1,
"resultsPerPage": 10,
"countryCode": "us",
"languageCode": "en"
}
For each keyword:
Keyword sources (in priority order):
site:[domain] to see page titles)From the Semrush data, extract the highest-traffic pages:
If Semrush doesn't provide per-page data, supplement with:
site:[domain] and note which pages appear first (proxy for importance)site:[domain] blog for top blog contentCompetitors are identified from multiple sources:
For each competitor, run a lighter version of Phase 1 (domain overview only):
{
"domain": "example.com",
"analysis_date": "2026-02-25",
"domain_metrics": {
"semrush_authority_score": 45,
"ahrefs_domain_rating": 52,
"organic_monthly_traffic": 28500,
"organic_keywords": 1240,
"backlinks": 8930,
"referring_domains": 412,
"traffic_trend": "increasing"
},
"top_pages": [
{
"url": "https://example.com/blog/reduce-aws-costs",
"estimated_traffic": 3200,
"top_keyword": "reduce aws costs",
"ranking_keywords": 45
}
],
"keyword_rankings": [
{
"keyword": "cloud cost optimization",
"position": 4,
"url": "https://example.com/blog/cloud-cost-optimization-guide",
"serp_competitors": ["vantage.sh", "antimetal.com", "finout.io"]
}
],
"backlink_profile": {
"domain_rating": 52,
"total_backlinks": 8930,
"referring_domains": 412,
"dofollow_ratio": 0.78,
"top_referring_domains": ["techcrunch.com", "producthunt.com", ...],
"anchor_text_distribution": {
"branded": 0.45,
"keyword": 0.22,
"generic": 0.18,
"url": 0.15
}
},
"competitors": [
{
"domain": "competitor1.com",
"authority_score": 62,
"organic_traffic": 45000,
"organic_keywords": 2100,
"keyword_overlap": 340
}
]
}
# SEO Domain Profile: example.com
**Date:** 2026-02-25
## Domain Metrics
| Metric | Value |
|--------|-------|
| Semrush Authority Score | 45/100 |
| Ahrefs Domain Rating | 52/100 |
| Monthly Organic Traffic | ~28,500 |
| Organic Keywords | 1,240 |
| Backlinks | 8,930 |
| Referring Domains | 412 |
| Traffic Trend | Increasing |
## Top Performing Pages
| # | URL | Est. Traffic | Top Keyword |
|---|-----|-------------|-------------|
| 1 | /blog/reduce-aws-costs | 3,200 | reduce aws costs |
| ... |
## Keyword Rankings
| Keyword | Position | URL | SERP Competitors |
|---------|----------|-----|-----------------|
| cloud cost optimization | #4 | /blog/cloud-cost... | vantage.sh, antimetal.com |
| ... |
## Backlink Profile
- Domain Rating: 52/100
- Referring Domains: 412
- Dofollow Ratio: 78%
- Top linking sites: TechCrunch, Product Hunt, ...
## Competitor Comparison
| Domain | Authority | Traffic | Keywords | Overlap |
|--------|-----------|---------|----------|---------|
| example.com | 45 | 28.5K | 1,240 | — |
| competitor1.com | 62 | 45K | 2,100 | 340 |
| ... |
seo-traffic-analyzer skill which uses web search probes.If APIFY_API_TOKEN is not set or Apify actors fail, the script falls back to:
seo-traffic-analyzer skill)site:[domain] for indexed page countThis gives less precise data but still produces a useful report.
requests libraryAPIFY_API_TOKEN env var (for Apify mode; falls back to free probes without it)development
End-to-end skill that turns a single reference image into a fully-installed, example-rendered style preset for the goose-graphics composite. Analyzes the image, writes the slim style spec, registers it in styles/index.json, generates all 7 format examples using the standard brief, renders PNGs via Playwright, and updates examples/manifest.json. Invoke with /goose-graphics-create-style.
development
Evaluate YC batch companies for investment — scrapes the YC directory, researches each company and its founders (work history, LinkedIn, website), assesses founder-company fit, and exports to Google Sheets with priority rankings. Use when asked to evaluate YC companies, research a YC batch, screen startups, or do due diligence on YC companies.
tools
Take screenshots of any website using Notte browser automation. Use when asked to screenshot, capture, or snap a webpage.
development
Search the web, platforms, and datasets. Use when asked to search, find, look up, research, or discover information from the web, YouTube, Amazon, eBay, news, academic sources, or any online platform.