Agent Skillsfirecrawl/web-agent › competitor-analysis

competitor-analysis

GitHub

用于对比多个公司或产品的定价、功能和定位,生成标准化竞争矩阵。支持通过搜索发现竞品,并抓取主页、定价页和特性页信息。

agent-core/src/skills/definitions/competitor-analysis/SKILL.md firecrawl/web-agent

Trigger Scenarios

compare X vs Y alternatives to X competitive landscape of …

Install

npx skills add firecrawl/web-agent --skill competitor-analysis -g -y
More Options

Non-standard path

npx skills add https://github.com/firecrawl/web-agent/tree/main/agent-core/src/skills/definitions/competitor-analysis -g -y

Use without installing

npx skills use firecrawl/web-agent@competitor-analysis

指定 Agent (Claude Code)

npx skills add firecrawl/web-agent --skill competitor-analysis -a claude-code -g -y

安装 repo 全部 skill

npx skills add firecrawl/web-agent --all -g -y

预览 repo 内 skill

npx skills add firecrawl/web-agent --list

SKILL.md

Frontmatter
{
    "name": "competitor-analysis",
    "category": "Research",
    "description": "Compare two or more companies, products, or platforms across pricing, features, positioning, and docs. Use this skill whenever the user says \"compare X vs Y\", \"how does X stack up against Y\", \"alternatives to X\", \"competitive landscape of …\", \"X vs Y vs Z\", or asks for a competitor matrix. Uses search to discover competitors when the user only names a category, then scrape for each competitor's homepage, pricing page, and features\/docs. Returns a normalized comparison matrix as JSON.\n"
}

Competitor Analysis

Structured side-by-side comparison of competing products. Designed for search + scrape; no interact needed for typical marketing/pricing pages.

When to use

  • User names 2+ companies or products: "compare Vercel, Netlify, Cloudflare Pages"
  • User names a category only: "best CDNs for edge functions" — search to discover the top 3–5 players, then analyze
  • User asks for alternatives: "what are the alternatives to X?"
  • User wants a feature matrix or positioning summary

Do NOT use for single-vendor deep-dives — use deep-research or structured-extraction instead.

Strategy

  1. Identify competitors.

    • If the user listed them, use that list.
    • Otherwise search once: "top <category> providers 2026" or "<product> alternatives". Pick the 3–5 most-cited.
  2. For each competitor, gather three pages:

    • Homepage — one-line positioning, target audience
    • Pricing page (usually /pricing or /plans) — tiers, units, free tier, enterprise gate
    • Features or product page — top 5–10 capabilities, any standout differentiators
  3. Fan out when scale warrants.

    • 2–3 competitors: stay in the orchestrator, scrape serially or with parallel tool calls.
    • 4+ competitors: use spawnAgents, one worker per competitor. Each worker gets the 3 URLs above and returns a normalized sub-object.
  4. Normalize before formatting.

    • Align pricing tiers by role (Free / Pro / Team / Enterprise) even when vendors name them differently.
    • Call out where a competitor has a capability the others don't.
    • Flag anything missing (e.g. "Enterprise pricing is contact-sales only").
  5. Call formatOutput once at the end with the full matrix.

Quick start

await agent.run({
  prompt: 'Compare Vercel, Netlify, and Cloudflare Pages on pricing, edge functions, and free tier generosity',
  skills: ['competitor-analysis'],
  format: 'json',
})
// User gave only a category — discover competitors first
await agent.run({
  prompt: 'Compare the top 4 vector databases for production RAG workloads',
  skills: ['competitor-analysis'],
  format: 'json',
})

Output schema

Every run should produce an object with this shape (add fields as the user's prompt demands):

{
  "category": "Edge hosting platforms",
  "competitors": [
    {
      "name": "Vercel",
      "url": "https://vercel.com",
      "positioning": "Frontend cloud for Next.js and React",
      "pricing": [
        { "tier": "Hobby", "price": 0, "unit": "month", "limits": {} },
        { "tier": "Pro", "price": 20, "unit": "seat/month", "limits": {} }
      ],
      "strengths": [],
      "weaknesses": [],
      "freeTier": true,
      "enterpriseContactOnly": false,
      "sources": []
    }
  ],
  "summary": "One-paragraph takeaway comparing the field.",
  "bestFit": {
    "budgetConscious": "",
    "enterprise": "",
    "developer": ""
  }
}

Tips

  • Pricing pages lie by omission. Always look for overages, egress costs, and seat minimums that show up only in a footnote.
  • Marketing copy is noise. Prefer the pricing page and docs over the homepage for factual claims.
  • If a scrape returns 404 on /pricing, search "<vendor> pricing" before guessing another URL — vendors often move these pages.
  • Populate strengths and weaknesses from evidence, not opinion. "Has a built-in KV store (competitor docs do not mention one)" is fair game; "better DX" is not.
  • Always include sources: [...] on every competitor object with the URLs you actually scraped.

See also

Version History

  • f023adf Current 2026-07-24 21:56

Same Skill Collection

agent-core/src/skills/definitions/deep-research/SKILL.md
agent-core/src/skills/definitions/e-commerce/SKILL.md
agent-core/src/skills/definitions/financial-research/SKILL.md
agent-core/src/skills/definitions/pricing-tracker/SKILL.md
agent-core/src/skills/definitions/structured-extraction/SKILL.md

Metadata

Files
0
Version
f023adf
Hash
f74300e3
Indexed
2026-07-24 21:56

inicio - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-21 21:34
浙ICP备14020137号-1 $mapa de visitantes$