All skills
browserbase avatar

/competitor-analysis

@8102b95 official
by browserbasebrowserbase/skills3.7k stars
240

Competitor research and intelligence skill. Takes a user's company (with optional seed competitor URLs), auto-discovers additional competitors via Browserbase Search API, deeply researches each using a 4-lane pattern (marketing surface, external signal, public benchmarks, strategic diff vs the user's company), and compiles the results into an HTML report with four views: overview, per-competitor deep dive, side-by-side feature/pricing matrix, and a chronological mentions feed (news, reviews, social, comparison pages, and public benchmarks). Use when the user wants to: (1) analyze competitors, (2) build a competitive matrix, (3) extract competitor pricing / features, (4) find comparison pages and online mentions of competitors, (5) surface public benchmarks. Triggers: "competitor analysis", "analyze competitors", "competitive intel", "competitor research", "competitor pricing", "feature comparison", "price comparison", "find comparisons", "who's comparing us", "competitor mentions", "competitor benchmarks".

Use this Skill: https://skilld.dev/gh/browserbase/skills/competitor-analysis

This session only. Nothing lands on disk.

referencesresearch-patterns.md

≈2.6k tokens on demand. Your agent reads this file only when SKILL.md points to it.

Competitor Analysis — Research Patterns

Contents

Overview

Two research contexts:

  1. Self-Research (Step 1) — Deep research on the user's company so we know what "competitor" means for this run.
  2. Competitor Research (Step 4) — For each discovered/seeded competitor, run the 4-lane enrichment below.

Both use the Plan → Research → Synthesize pattern. Self-research is identical in shape to the one in company-research, so profiles can be reused across skills.

Self-Research (User's Company)

Sub-Questions

  • "What does {company} sell and what specific problem does it solve?"
  • "Who are {company}'s existing customers? What industries, company sizes, use cases?"
  • "Who are {company}'s known competitors? What category do they compete in?"
  • "What pricing model does {company} use?"
  • "What features, integrations, and differentiators does {company}'s marketing emphasize?"

Page Discovery

Dynamic via sitemap — do NOT hardcode /about or /pricing:

  1. browse cloud fetch --allow-redirects "{company website}/sitemap.xml" — primary source
  2. Scan for URLs with keywords: pricing, customer, compare, vs, about, features, integrations
  3. Optionally fetch /llms.txt for page descriptions
  4. Pick 3-5 most relevant URLs

External Research

  • browse cloud search "{company} alternatives competitors vs"
  • browse cloud search "{company} review comparison"
  • Fetch 1-2 most informative third-party pages

Synthesis Output

Produce a profile with:

  • Company, Product, Existing Customers, Competitors (seed list), Use Cases
  • precise_category — one clear sentence that describes what category this product competes in. Avoid fuzzy words like "tools" or "platform". Good: "AI web search API for agents with neural + keyword retrieval". Bad: "search tools". This becomes the anchor for discovery queries and the gate.
  • category_include_keywords — 8-15 phrases that a direct competitor's marketing would very likely contain (title or hero). Include semantic variants. e.g. for Exa: web search api, search api, neural search, semantic search, retrieval api, search for ai agents, search for llms, serp api, embeddings search, live crawling, answer api, research api.
  • exclusion_list — phrases that indicate a different category, used by the gate to reject false positives. e.g. vector database, enterprise search appliance, site search widget, observability, analytics platform, data warehouse, scraping platform (full ETL/scraping suites, not retrieval APIs), internal knowledge base.

The same profiles/{company-slug}.json shape used by company-research, extended with the three new fields. The competitors array becomes the seed list and the first inputs to the comparison-graph expansion in Step 3.


Competitor Research — 4 Research Lanes

For each competitor, run these four lanes (depth-gated):

Lane 1 — Marketing Surface (ALL depth modes)

Goal: extract what the competitor says about themselves from their own site.

Sub-questions:

  • "What does {competitor} sell, who is it for, and how is it positioned?"
  • "What are {competitor}'s pricing tiers and pricing model?"
  • "What key features, integrations, and platforms does {competitor} list?"

Pages to fetch (via sitemap discovery — do NOT hardcode):

  1. Homepage
  2. /pricing (or equivalent from sitemap)
  3. /features, /product, /platform, /solutions
  4. /integrations, /customers, /case-studies

Extract into frontmatter fields: tagline, positioning, product_description, target_customer, pricing_model, pricing_tiers, key_features, integrations.

Lane 2 — External Signal (deep + deeper)

Goal: what the rest of the internet says about them.

Sub-questions:

  • "What third-party comparison pages mention {competitor}?"
  • "What do users say on Reddit, HN, G2, Capterra?"
  • "What recent news, launches, or announcements?"
  • "Who is talking about them on LinkedIn or YouTube?"

Search queries:

"{competitor} vs"
"{competitor} alternatives"
"{competitor} review"
"{competitor} G2" / "{competitor} Capterra"
"site:reddit.com {competitor}"
"site:news.ycombinator.com {competitor}"
"site:linkedin.com/posts {competitor}"
"site:youtube.com {competitor}"
"{competitor} launch 2025 OR 2026"
"{competitor} funding announcement"

Extraction rule: From search results, harvest each hit as a Mentions entry. Classify source type from the URL:

  • reddit.com → Reddit
  • news.ycombinator.com → HN
  • linkedin.com → LinkedIn
  • youtube.com / youtu.be → YouTube
  • g2.com / capterra.com / trustradius.com → Review
  • *vs* in path or title → Comparison
  • news domains (techcrunch, theverge, venturebeat, forbes, businesswire, globenewswire) → News
  • twitter.com / x.com → X
  • spotify.com/episode / transistor/simplecast → Podcast

For LinkedIn and YouTube, the snippet + URL from browse cloud search is enough. Do NOT try to deep-fetch individual LinkedIn posts (auth walls) — list them with title/snippet.

Lane 3 — Public Benchmarks (deeper only)

Goal: find third-party benchmarks that measured this competitor's product.

Sub-questions:

  • "Has {competitor} been included in any public benchmark?"
  • "Are there GitHub repos, PRs, or blog posts comparing {competitor} head-to-head on a measured axis (speed, accuracy, cost, pass rate)?"

Search queries:

"{competitor} benchmark"
"{competitor} performance test"
"site:github.com {competitor} benchmark"
"site:github.com {competitor} vs"
"{competitor} vs {seed_competitor} benchmark"   # pairwise, use another known competitor as the seed
"{category} benchmark {competitor}"             # e.g. "web search api benchmark {competitor}"

Extraction: Add each hit to Benchmarks section with: title, source, URL, key finding (one line). Also mirror into Mentions with type Benchmark.

Known benchmark repos to check directly (if domain is on-topic):

  • Public retrieval-quality leaderboards (e.g. BEIR / MTEB-style repos) when a vendor publishes scores
  • Category-specific benchmark repos discovered via the first search wave

Lane 4 — Strategic Diff vs User's Company (deeper only)

Goal: explicitly compare this competitor to the user's company.

Inputs: {user_company_profile} (from Step 1) — specifically product, use_cases, key_features if available.

Sub-questions:

  • "What features does {competitor} have that {user_company} does not?"
  • "What features does {user_company} have that {competitor} does not?"
  • "Who does {competitor} serve that {user_company} does not (and vice versa)?"
  • "Where does each one win on the marketing surface (price, feature depth, DX, ecosystem)?"

No new fetches required for this lane — it's a synthesis step over Lane 1 + 2 + 3 findings plus the user's profile. Write as:

## Comparison vs {user_company}
- **Overlaps**: ...
- **Gaps**: ...
- **Where they win**: ...
- **Where you win**: ...

Also populate the strategic_diff frontmatter field with a one-line summary for the overview table.


Depth Mode Behavior

Quick Mode (~lots of competitors, cheap)

  • Lanes: 1 only
  • Budget: 2-3 tool calls per competitor (homepage + pricing page)
  • Fields populated: tagline, product_description, pricing_tiers, key_features
  • Mentions / Benchmarks / Comparison: skipped

Deep Mode (balanced, default)

  • Lanes: 1 + 2
  • Budget: 5-8 tool calls per competitor
  • Everything in quick + 5-10 mentions across source types

Deeper Mode (full intel)

  • Lanes: 1 + 2 + 3 + 4
  • Budget: 10-15 tool calls per competitor
  • Everything in deep + benchmarks section + strategic diff section

Finding Format (per lane)

Every finding is a factual statement tied to a source:

{
  "lane": "marketing | external | benchmark | strategic",
  "fact": "Rival Co charges $99/mo for 10K search requests",
  "sourceUrl": "https://rivalco.com/pricing",
  "confidence": "high"
}

Confidence:

  • high: Directly stated on the competitor's own website or official press
  • medium: Inferred from third-party articles, reviews, or job posts
  • low: Speculative / outdated sources

Research Loop Rules

  1. Lane 1 first — always start with the competitor's own site
  2. Use sitemap, not hardcoded paths — /pricing might be /plans or /pricing-plans
  3. Rephrase, don't retry — if a search returns generic junk, switch keywords
  4. Fetch selectively — pick the 1-2 most promising URLs per query
  5. For LinkedIn/YouTube: search only, don't fetch — snippet is enough, avoid auth walls
  6. Respect step budget per depth mode
  7. Deduplicate mentions — same URL should only appear once in ## Mentions

Synthesis Instructions

After the research loop completes for a competitor:

  1. Fill frontmatter fields from Lane 1 findings
  2. Write body sections: Product, Pricing, Features, Positioning (all from Lane 1)
  3. Append ## Mentions from Lane 2 classified hits
  4. Append ## Benchmarks from Lane 3 (deeper only)
  5. Append ## Comparison vs {user_company} from Lane 4 synthesis (deeper only)
  6. Append ## Research Findings as a raw-findings appendix with confidence tags

No ICP score. No threat score. Pure intel.

If a field has no supporting findings, leave it empty rather than guessing.

Source: SKILL.md on GitHub

2 alerts2mo3 checks · Risk HIGH
  • Gen Agent Trust Hub2mo

    This skill performs automated competitor research and report generation. However, it requires users to modify their global security settings to bypass command confirmation prompts for high-risk tools like 'node' and 'rm'. Additionally, it lacks adequate protection against indirect prompt injection when processing data from the public web.

  • Socket2mo

    No alerts

  • Snyk2mo

    Risk: CRITICAL · 2 issues

Signed by skilld at 8102b95. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub last month.

Activeupdated 4 months ago
compatibility
Requires the browse CLI (npm install -g browse) and BROWSERBASE_API_KEY env var
metadata
{
  "author": "browserbase",
  "version": "0.2.0"
}
All 1 allowed tools
Bash Agent AskUserQuestion

README badge

README badge for browserbase/skills/competitor-analysis