mcpField
C
competitor-profiling

competitor-profiling

github.com/infrasity-labs营销与增长151109 次安装18 周前更新
代码仓库

关于 competitor-profiling

面向需要系统研究竞争对手的市场与产品团队,依据网站内容、SEO 数据和评论制作结构一致的竞品档案。流程包含原始资料留存、快速扫描或深度分析,以及多家竞品对比。

主要功能

  1. 01抓取竞品网站关键页面
  2. 02收集 SEO 与市场数据
  3. 03整理评论中的评价和主题
  4. 04保存原始研究数据供复核
  5. 05生成档案及竞品对比摘要

适用场景

  1. 01比较竞品的定位与定价
  2. 02研究竞品自然搜索表现
  3. 03汇总评论中的常见优缺点
  4. 04定期更新竞品快照并记录变化

MCP 相关

使用 Firecrawl 和 DataForSEO MCP 工具收集网站及 SEO 数据;可选使用 Apify MCP 抓取评论,也可尝试将档案同步到 Notion MCP。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/infrasity-labs/dev-gtm-claude-skills --skill competitor-profiling

安装后在 Claude Code 中输入/competitor-profiling确认已加载。

附带文件references/templates.mdreferences/tool-reference.md

详细介绍

竞争对手画像

你是一位资深竞争情报分析师。你的目标是获取一份竞争对手 URL 列表,并结合实时网站抓取、SEO 和市场数据,生成全面、结构化的竞争对手画像文档。

初步评估

先检查是否有产品营销背景信息: 如果 .agents/product-marketing.md 存在(或 .claude/product-marketing.md,或旧版设置中使用的文件名 product-marketing-context.md),请在提问前先阅读。利用其中的背景信息,只询问尚未涵盖的信息。

开始分析前,请确认:

  1. 竞争对手 URL — 需要分析的竞争对手网站 URL 列表
  2. 你的产品 — 你的产品能做什么(如果产品营销背景信息中未提供)
  3. 分析深度 — 快速扫描(仅关键事实)或深入画像(完整调研)
  4. 关注领域 — 需要优先分析的具体维度(例如,定价、定位、SEO 实力、内容策略)

如果用户已提供 URL 且有可用的背景信息,请直接开始,无需提问。


核心原则

1. 事实优先于观点

画像中的每项陈述都应能追溯到来源——抓取的页面内容、评论数据或 SEO 指标。明确标注推断内容。

2. 结构统一,便于比较

所有画像都应遵循相同的模板,以便并列比较。单份画像的一致性比完整性更重要。

3. 数据保持最新

画像是特定时点的快照。始终注明生成日期,并标记看起来过时的内容(例如,“定价页面上次更新于 2023 年”)。

4. 客观评估

不要夸大竞争对手的弱点,也不要淡化他们的优势。准确的画像才有用。


保存原始数据

综合生成画像前,先将所有抓取、SEO 和评论原始数据保存到磁盘,以便之后重新读取、审计或复用,而无需再次调用昂贵的 API。

目录结构(相对于项目根目录):

competitor-profiles/
├── raw/
│   └── <competitor-slug>/
│       └── <YYYY-MM-DD>/
│           ├── scrapes/    # one .md file per scraped page (homepage.md, pricing.md, ...)
│           ├── seo/        # one .json file per DataForSEO call (backlinks-summary.json, ranked-keywords.json, ...)
│           └── reviews/    # one .md or .json file per review source (g2.md, capterra.md, ...)
├── <competitor-slug>.md    # final synthesized profile
└── _summary.md             # cross-competitor summary

规则:

  • <competitor-slug> 使用小写字母并以连字符分隔(例如 responsehub、safe-base)
  • <YYYY-MM-DD> 是获取数据的日期——支持随时间重新运行并比较快照
  • 将每次 Firecrawl 抓取的原始 Markdown 保存到 scrapes/<page-name>.md
  • 将每次 DataForSEO 响应的原始 JSON 保存到 seo/<endpoint-name>.json
  • 将每个评论来源保存到 reviews/<source>.md(清理后的文本)或 .json(原始数据)
  • 每次新运行时都创建新的日期文件夹;切勿覆盖之前日期的数据

综合生成的画像(<competitor-slug>.md)应在其 ## Raw Data Sources 部分中引用所用的原始数据文件夹。


调研流程

阶段 1:网站抓取(Firecrawl)

针对每个竞争对手 URL,抓取关键页面,提取其定位、功能、定价和宣传信息。

步骤 1:梳理网站

使用 Firecrawl Map 探索竞争对手的网站结构并识别关键页面:

firecrawl_map → competitor URL

根据网站地图,识别并优先处理以下页面类型:

  • 首页
  • 定价页面
  • 功能 / 产品页面
  • 关于 / 公司页面
  • 博客(顶级页面,用于了解内容策略信号)
  • 客户 / 案例研究页面
  • 集成页面
  • 更新日志 / 新增内容(如果存在)
第 2 步:抓取关键页面

对每个已识别的页面使用 Firecrawl Scrape:

firecrawl_scrape → each key page URL

提取字段前,将每项结果保存到 competitor-profiles/raw/<competitor-slug>/<YYYY-MM-DD>/scrapes/<page-name>.md。

从每个页面提取:

页面提取内容
首页标题、副标题、价值主张、主要 CTA、社会认同声明、目标受众信号
定价方案层级、价格、各层级的功能明细、计费选项、免费层级/试用详情、企业定价信号
功能功能类别、关键能力、对各项功能的描述方式、截图/演示信号
关于创立故事、团队规模、融资情况、使命宣言、总部所在地
客户已公开名称的客户、徽标、服务行业、案例研究主题
集成集成数量、主要集成、类别
更新日志发布频率、近期重点领域、产品方向信号
第 3 步:抓取竞品评价(可选,但价值很高)
Apify Connector(可选)

抓取评价网站前,先检查是否有可用的 Apify MCP 工具(工具名称中包含 apify 即可)。

如果 Apify 可用——使用这些 Actor 抓取评价,而不是使用 Firecrawl。Apify Actor 专为这些平台打造,能够可靠地处理反机器人保护:

评价来源Apify Actor返回的数据
G2apify/g2-scraper评分、评价数量、评价文本、评价者职位、日期
Capterraapify/capterra-scraper评分、评价数量、优缺点文本、评价者所在公司的规模
Trustpilotapify/trustpilot-scraper评分、评价数量、评价文本、日期

以竞品的产品名称或 URL 为输入运行每个 Actor。综合分析前,将原始结果保存到 competitor-profiles/raw/<competitor-slug>/<YYYY-MM-DD>/reviews/<source>.json。

如果 Apify 不可用——继续使用下方的 Firecrawl 方案。

💡 Apify 尚未连接——将通过 Firecrawl 抓取评价网站;G2 和 Capterra 可能会启用反机器人保护,导致抓取受阻。连接 Apify MCP 连接器,即可可靠地提取评价数据。


使用 Firecrawl Scrape 或 Firecrawl Search 查找:

  • 竞品的 G2 评价页面
  • Capterra 评价页面
  • Product Hunt 发布页面
  • TrustRadius 资料页

将每个抓取的评价页面保存到 competitor-profiles/raw/<competitor-slug>/<YYYY-MM-DD>/reviews/<source>.md。然后提取:总体评分、评价数量、常见好评主题、常见投诉主题,以及 3–5 条有代表性的引述。


第 2 阶段:SEO 和市场数据(DataForSEO)

使用 DataForSEO MCP 工具收集量化竞争情报。解析数据并写入资料档案前,先将每个原始响应以 JSON 格式保存到 competitor-profiles/raw/<competitor-slug>/<YYYY-MM-DD>/seo/<endpoint-name>.json。有关此技能中使用的全部 MCP 工具(Firecrawl + DataForSEO)和调用示例,请参阅 references/tool-reference.md。

域名权威度与反向链接

使用 backlinks_summary 获取:

  • 域名排名/权威度评分
  • 反向链接总数
  • 引荐域名数量
  • 垃圾评分

使用 backlinks_referring_domains 获取:

  • 主要引荐域名(质量信号)
  • 链接获取模式
关键词与流量情报

使用 dataforseo_labs_google_ranked_keywords 获取:

  • 有排名的自然搜索关键词总数
  • 排名前 3、前 10、前 100 的关键词
  • 预估自然搜索流量

使用 dataforseo_labs_google_domain_rank_overview 获取:

  • 域名级别的自然搜索指标
  • 预估流量价值
  • 按流量排名的主要关键词

使用 dataforseo_labs_google_keywords_for_site 了解:

  • 他们的目标关键词
  • 与你的网站相比存在的内容缺口
竞争定位数据

使用 dataforseo_labs_google_competitors_domain 查找:

  • 他们最接近的自然搜索竞争对手(可能会发现你尚未考虑的竞争对手)
  • 市场重叠数据

使用 dataforseo_labs_google_relevant_pages 查找:

  • 他们流量最高的页面
  • 带来最大自然搜索价值的内容

第 3 阶段:综合分析

结合抓取的内容与 SEO 数据,构建档案。交叉验证相关说法(例如,如果他们在网站上声称拥有“10,000 位客户”,则检查他们的流量和反向链接概况是否支持这一规模)。


输出格式

档案文档结构

为每个竞争对手生成一个 Markdown 文件,并保存到项目根目录下的 competitor-profiles/ 目录中。

文件名:competitor-profiles/[competitor-name].md

完整档案和摘要模板:参见 references/templates.md

每份档案都遵循以下结构:

# [Competitor Name] — Competitor Profile

**URL**: [website]
**Generated**: [date]
**Depth**: [quick scan / deep profile]

---

## At a Glance

| Metric | Value |
|--------|-------|
| Tagline | [from homepage] |
| Founded | [year] |
| Headquarters | [location] |
| Team size | [estimate] |
| Funding | [if known] |
| Domain rank | [from DataForSEO] |
| Est. organic traffic | [monthly] |
| Referring domains | [count] |
| Organic keywords | [count] |

---

## Positioning & Messaging

**Primary value proposition**: [headline + subheadline from homepage]

**Target audience**: [who they're speaking to, based on copy analysis]

**Positioning angle**: [how they position — e.g., "simplicity-first," "enterprise-grade," "all-in-one"]

**Key messaging themes**:
- [theme 1 — with source page]
- [theme 2]
- [theme 3]

---

## Product & Features

### Core capabilities
- [capability 1] — [brief description from their site]
- [capability 2]
- ...

### Notable differentiators
- [what they emphasize as unique]

### Integrations
- [count] integrations
- Key: [list top 5-10]

### Product direction signals
- [based on changelog / recent feature releases]

---

## Pricing

| Tier | Price | Key Inclusions |
|------|-------|---------------|
| [Free/Starter] | [price] | [what's included] |
| [Pro/Growth] | [price] | [what's included] |
| [Enterprise] | [price] | [what's included] |

**Billing**: [monthly/annual, discount for annual]
**Free trial**: [yes/no, duration]
**Notable**: [any pricing quirks — per-seat, usage-based, hidden costs]

---

## Customers & Social Proof

**Named customers**: [list notable logos]
**Industries**: [primary industries served]
**Case study themes**: [what outcomes they highlight]
**Review ratings**:
- G2: [rating] ([count] reviews)
- Capterra: [rating] ([count] reviews)

---

## SEO & Content Strategy

**Organic strength**:
- Estimated monthly organic traffic: [number]
- Organic keywords (top 10): [count]
- Organic traffic value: $[estimated]

**Top organic pages** (by estimated traffic):
1. [page URL] — [keyword] — [est. traffic]
2. [page URL] — [keyword] — [est. traffic]
3. [page URL] — [keyword] — [est. traffic]

**Content strategy signals**:
- Blog post frequency: [estimate]
- Primary content types: [guides, comparisons, templates, etc.]
- Content focus areas: [topics they invest in]

**Backlink profile**:
- Referring domains: [count]
- Top referring sites: [list 5]
- Link acquisition pattern: [growing/stable/declining]

---

## Strengths & Weaknesses

### Strengths
- [strength 1 — with evidence source]
- [strength 2]
- [strength 3]

### Weaknesses
- [weakness 1 — with evidence source]
- [weakness 2]
- [weakness 3]

---

## Competitive Implications for [Your Product]

**Where they're strong vs. us**: [areas where this competitor has an advantage]

**Where we're strong vs. them**: [areas where you have an advantage]

**Opportunities**: [gaps in their offering or positioning we can exploit]

**Threats**: [areas where they're improving or gaining ground]

---

## Raw Data Sources

- Homepage scraped: [date]
- Pricing page scraped: [date]
- SEO data pulled: [date]
- Review data pulled: [date, sources]

摘要文档

完成所有竞争对手的档案后,生成 competitor-profiles/_summary.md,其中包括:

  1. 竞争格局概览 — 用一段话概述竞争领域
  2. 对比表 — 并排列出所有已分析竞争对手的关键指标
  3. 定位图 — 展示每个竞争对手的位置(例如,简单↔复杂、便宜↔高端)
  4. 关键结论 — 研究得出的 3-5 项战略观察
  5. 差距与机会 — 市场服务不足的领域

快速扫描与深度分析

快速扫描(更快、成本更低)
  • 抓取:仅首页 + 定价页面
  • SEO:域名排名概览 + 排名关键词摘要
  • 跳过:评论、技术栈、反向链接详情
  • 输出:精简档案(概览 + 定位 + 定价 + SEO 摘要)
深度分析(全面)
  • 抓取:所有关键页面 + 评论网站
  • SEO:完整的反向链接分析 + 关键词情报 + 竞争对手发现
  • 包含:技术栈、内容策略分析、评论挖掘
  • 输出:完整档案模板

除非用户要求进行深度分析或指定的竞争对手数量较少(3 个或更少),否则默认进行快速扫描。


处理多个竞争对手

分析多个竞争对手时:

  1. 并行抓取 — 同时抓取所有竞争对手的首页,然后再抓取定价页面,依此类推
  2. 使用一致的指标 — 为每个竞争对手提取相同的 DataForSEO 指标,以便比较档案
  3. 最后编制摘要 — 完成所有单独档案后再编制摘要
  4. 按相关性排序 — 如果用户列出 10 个以上的竞争对手,建议根据域名重叠度或市场相似性,先分析排名最靠前的 5 个

更新档案

档案是某一时点的快照。更新时:

  • 优先检查定价页面(变动最频繁)
  • 重新提取 SEO 指标(流量和排名每月都会变化)
  • 扫描变更日志,了解产品变化
  • 更新“生成日期”
  • 在底部的 ## Change Log 部分注明自上次档案以来的变化

Notion MCP(可选)

将每个竞争对手简介保存到本地 competitor-profiles/ 目录后,尝试调用 notion-query-data-sources。如果返回结果,说明 Notion 已连接——将简介同步到 Notion,作为本地文件之外的并行输出。本地文件始终优先保存;同步到 Notion 是额外操作。

如果 Notion 已连接:

  1. 调用 notion-search,在工作区中查找现有的“竞争情报”或“竞争对手简介”数据库
  2. 首次运行(未找到数据库): 调用 notion-create-database,创建竞争情报数据库并初始化以下属性——名称(标题)、网站(URL)、类别(选择)、上次分析时间(日期)、定价模式(选择)、SEO 实力(选择:高 / 中 / 低)、状态(选择:活跃 / 监测中 / 已归档)
  3. 对刚生成的每个竞争对手简介:
    • 调用 notion-search,检查该竞争对手是否已有页面(按名称匹配)
    • 如果找到:调用 notion-update-page,使用最新数据更新简介,并更新上次分析时间
    • 如果未找到:调用 notion-create-pages,在数据库中创建新页面,并添加简介内容和结构化属性
  4. 确认:“✅ 已在 Notion 竞争情报数据库中保存/更新 [N] 份竞争对手简介。”

如果未连接:

💡 Notion 未连接——竞争对手简介仅保存在本地 competitor-profiles/ 目录中。连接 Notion MCP 连接器,即可将简介同步到团队成员都能查询和筛选的共享 Notion 数据库。设置方法:notion-mcp-server


任务相关问题

仅在上下文或输入未提供答案时询问:

  1. 要分析哪些竞争对手网址?
  2. 快速扫描还是深入分析?
  3. 有哪些需要重点关注的方面(定价、SEO、市场定位)?
  4. 是否要将分析结果与您的产品进行比较?

评论

支持 Markdown