skills/research/traffic-analyzer/SKILL.md
Analyze website traffic, global rank, engagement metrics, and traffic sources for any domain. Use this skill to evaluate affiliate program websites, compare competitor traffic, assess advertiser strength, or understand where an audience comes from. Triggers on: "analyze traffic for [domain]", "how much traffic does [site] get", "compare traffic between [site A] and [site B]", "is [program] worth promoting based on traffic", "traffic analysis", "website analytics for [domain]", "where does [site] get traffic", "check if [advertiser] is legit", "evaluate [program] website health", "SimilarWeb analysis", "traffic sources for [domain]", "how popular is [site]", "website rank", "domain authority check", "compare affiliate program websites".
npx skillsauth add affitor/affiliate-skills traffic-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.
Analyze website traffic, engagement, and traffic sources for any domain. Goes beyond raw data — scores the domain, interprets what the traffic patterns mean for affiliate promotion, and recommends whether the program is worth your time.
A tool returns numbers. This skill returns a verdict.
Use cases:
This skill belongs to Stage S1: Research
competitor-spy identifies competitor sites — analyze their traffic sourcesdomains: string[] # (required) 1-5 domains to analyze — "heygen.com", "synthesia.io"
compare: boolean # (optional, default: true if 2+ domains) Side-by-side comparison
focus: string # (optional, default: "affiliate")
# "affiliate" — score from promoter perspective
# "competitor" — analyze as a competitor site
# "advertiser" — evaluate advertiser health
With SimilarWeb API (see shared/references/social-data-providers.md):
If social_data_config.similarweb is configured:
Without API (web_search fallback):
For each domain:
web_search "[domain] traffic similarweb" → often shows rank and visit estimates in snippetsweb_search "[domain] site traffic statistics" → third-party reportsweb_search "site:[domain]" → Google index count as proxy for content depthweb_search "[domain] alexa rank" OR "[domain] semrush traffic" → alternative sourcesweb_fetch "https://www.similarweb.com/website/[domain]/" → extract visible data from SimilarWeb free page (may be limited)Note: web_search data is approximate. SimilarWeb API provides exact metrics.
For each domain, analyze and interpret:
Traffic Volume:
global_rank: number # Lower = better. <10K = major site, <100K = solid, <1M = niche
country_rank: number # Rank in primary country
monthly_visits: string # "1.2M", "350K", "45K"
visits_trend: string # "growing" | "stable" | "declining" (if historical data available)
Engagement Quality:
pages_per_visit: number # >3 = good engagement, <2 = bouncy
avg_visit_duration: string # ">3 min" = engaged, "<1 min" = low quality
bounce_rate: number # <40% = excellent, 40-60% = normal, >60% = concerning
Traffic Sources Breakdown:
direct: number # % — brand strength indicator
search: number # % — SEO strength
social: number # % — social media presence
referral: number # % — partnership/affiliate ecosystem
paid: number # % — ad spend (high paid = advertiser invests in acquisition)
For affiliate promoters (focus: "affiliate"):
Score the domain as an affiliate promotion target:
| Signal | Good (8-10) | OK (5-7) | Red Flag (1-4) | |--------|-------------|----------|-----------------| | Monthly visits | >500K | 50K-500K | <50K | | Bounce rate | <40% | 40-60% | >70% | | Search traffic | >30% | 15-30% | <10% (overly dependent on ads) | | Brand (direct) | >30% | 15-30% | <10% (nobody knows them) | | Pages/visit | >4 | 2-4 | <2 |
Why this matters for affiliates:
For competitor analysis (focus: "competitor"):
For advertiser evaluation (focus: "advertiser"):
Calculate an overall Traffic Health Score (0-100):
traffic_score = (
rank_score × 0.20 + # Based on global rank
volume_score × 0.25 + # Based on monthly visits
engagement_score × 0.25 + # Based on bounce rate + pages/visit + duration
diversity_score × 0.15 + # Traffic source diversity (not overly dependent on one channel)
brand_score × 0.15 # Direct traffic % (brand recognition)
)
Score interpretation:
If 2+ domains provided, create side-by-side comparison:
Before presenting output, verify:
If any check fails, fix before delivering. Do not flag checklist to user.
output_schema_version: "1.0.0"
domains_analyzed:
- domain: string
data_source: "similarweb_api" | "web_search_estimate"
metrics:
global_rank: number | null
country_rank: number | null
country: string | null
monthly_visits: string
pages_per_visit: number | null
avg_duration: string | null
bounce_rate: number | null
traffic_sources:
direct: number | null # percentage
search: number | null
social: number | null
referral: number | null
paid: number | null
traffic_score: number # 0-100
verdict: string # "excellent" | "good" | "fair" | "weak" | "red_flag"
interpretation: string # 2-3 sentence analysis based on focus
comparison: object | null # if 2+ domains
winner: string
reasoning: string
recommended_next_skill: string
## Traffic Analysis: [Domain(s)]
### Data Source
📊 **[SimilarWeb API | Web search estimates (approximate)]**
---
### [domain1.com] — Traffic Score: [XX]/100 — [Verdict]
| Metric | Value | Assessment |
|--------|-------|------------|
| Global Rank | #XX,XXX | [Good/Fair/Low] |
| Monthly Visits | X.XM | [High/Medium/Low] |
| Pages/Visit | X.X | [Engaged/Average/Bouncy] |
| Avg Duration | Xm Xs | [Good/Low] |
| Bounce Rate | XX% | [Healthy/Concerning/High] |
**Traffic Sources:**
Direct: ██████████░░░░░░ 35% (strong brand) Search: ████████░░░░░░░░ 28% (good SEO) Social: ████░░░░░░░░░░░░ 15% (social presence) Referral: ███░░░░░░░░░░░░░ 12% (affiliate ecosystem) Paid: ██░░░░░░░░░░░░░░ 10% (moderate ad spend)
**What This Means for You:**
[2-3 sentences interpreting metrics for the user's focus — affiliate/competitor/advertiser]
---
### [If comparing 2+ domains]
### Head-to-Head: [domain1] vs [domain2]
| Metric | [domain1] | [domain2] | Winner |
|--------|-----------|-----------|--------|
| Traffic Score | XX/100 | XX/100 | [domain] |
| Monthly Visits | X.XM | XXK | [domain] |
| Engagement | X.X pg/visit | X.X pg/visit | [domain] |
| Brand Strength | XX% direct | XX% direct | [domain] |
| SEO | XX% search | XX% search | [domain] |
**Verdict:** [domain1] is the stronger affiliate promotion target because [reasoning].
---
### 🎯 Recommendation
[Specific, actionable recommendation based on focus]
### Next Steps
- `affiliate-program-search` — check commission details for [domain]
- `competitor-spy` — deep dive into their affiliate strategy
- `trending-content-scout` — find what content about [domain/product] is performing
shared/references/social-data-providers.md." Still provide estimated score.Example 1:
User: "Is HeyGen worth promoting? Check their traffic."
→ domain: "heygen.com", focus: "affiliate"
→ SimilarWeb or web_search → Global rank: ~15K, 2.1M monthly visits
→ Score: 82/100 — "Excellent. HeyGen has strong traffic with healthy engagement. 35% direct traffic shows strong brand recognition. Your referral links benefit from existing brand awareness."
→ Next: affiliate-program-search for HeyGen commission details
Example 2: User: "Compare Notion vs ClickUp vs Monday.com traffic for my productivity niche" → domains: ["notion.so", "clickup.com", "monday.com"] → Analyze all 3, side-by-side comparison → Winner: Notion (highest traffic, best engagement) → But: ClickUp has highest referral % (12%) = strongest affiliate ecosystem → may convert better
Example 3: User: "I found this small SaaS tool — screenpal.com. Is the advertiser legit?" → domain: "screenpal.com", focus: "advertiser" → Global rank: ~180K, ~300K monthly visits → Score: 55/100 — "Fair. Niche tool with moderate traffic. Growing steadily. Low paid traffic (2%) suggests bootstrapped. Engagement is good (3.8 pages/visit). Worth promoting if commission is strong, but don't expect brand-name conversion rates."
When this skill produces unexpected, incomplete, or incorrect output, generate a
skill_feedback block (see shared/references/feedback-protocol.md for full schema).
Skill-specific failure modes:
data_quality, note domain.data_quality, severity: medium.wrong_output.Auto-detect triggers:
traffic_score is 0 or null for a well-known domaintraffic_sources percentages are nullReport issues: GitHub Issues | Discussions
shared/references/social-data-providers.md — SimilarWeb API configurationshared/references/flywheel-connections.md — master flywheel connection mapshared/references/affiliate-glossary.md — affiliate marketing terminologyshared/references/feedback-protocol.md — issue detection and reporting standardaffiliate-program-search (S1) — traffic score as program evaluation factorcompetitor-spy (S1) — traffic sources reveal competitor strategyniche-opportunity-finder (S1) — traffic data validates niche demandcontent-angle-ranker (S1) — traffic source breakdown informs platform prioritizationtrending-content-scout (S1) — social traffic % hints at which platforms to scoutcompetitor-spy (S1) — competitor domains to analyzeaffiliate-program-search (S1) — program URLs to evaluateniche-opportunity-finder (S1) — top program domains in a nicheperformance-report shows your referral contribution to the advertiser → compare your traffic impact over time → prioritize programs where you move the needlechain_metadata:
skill_slug: "traffic-analyzer"
stage: "research"
timestamp: string
suggested_next:
- "affiliate-program-search"
- "competitor-spy"
- "trending-content-scout"
development
Scan social platforms for top-performing content by engagement before you create anything. Use this skill when the user wants to see what content is winning in a niche, find viral content patterns, research what's working on YouTube/TikTok/X/Reddit, benchmark engagement, discover content gaps, or says "what content is working for [topic]", "show me top performing content about [keyword]", "what's trending in [niche]", "find viral content about [product]", "content research for [keyword]", "what gets views in [niche]", "engagement analysis for [topic]", "scout the competition", "what videos are getting the most views about [keyword]", "social listening for [topic]", "trending content in [niche]", "top content analysis", "what hooks work for [keyword]", "content intelligence", "find winning formats".
development
Rank content angles by engagement data, competition level, and platform fit. Data-driven angle selection instead of guesswork. Use this skill when the user has a keyword or product and needs to decide WHAT to create, which angle to take, which format to use, or which platform to target. Triggers on: "what angle should I use", "rank content ideas for [keyword]", "best angle for [product]", "which content idea will perform best", "help me pick an angle", "what should I write about", "content angle for [topic]", "rank my content ideas", "which approach will get the most views", "data-driven content planning", "angle ranker", "content scoring", "which hook should I use", "compare these content ideas", "prioritize my content angles", "what video should I make".
tools
Generate branded infographic specifications from any content or data. Outputs structured layout, copy, data visualization, and color scheme — ready to render as HTML/CSS, Satori, Canva, or any design tool. Use this skill when the user wants an infographic, data visual, social media image, comparison chart, stat card, or says "create an infographic for [content]", "make a visual for my LinkedIn post", "design an image for [topic]", "stat graphic for [data]", "comparison infographic", "branded image", "social media graphic", "infographic for [blog post]", "data visualization", "visual content", "image for my post", "LinkedIn carousel image", "feature comparison chart", "pricing table image".
testing
Research trending topics, collect source articles, and generate a structured research brief for content creation. Stop writing from thin air — write from real sources. Use this skill when the user wants to research a topic before writing, collect sources for an article, create a research-backed content brief, or says "research [topic] for me", "find sources about [keyword]", "content brief for [topic]", "what's the latest on [product]", "research before writing", "collect articles about [keyword]", "trending news about [topic]", "gather sources for my article", "brief me on [topic]", "what are people saying about [product]", "news roundup for [keyword]", "research brief", "source collection", "content research", "prep research for writing".