关于 competitor-intel
competitor-intel 是用于竞品研究与持续监测的整合技能,面向需要销售战卡、营销简报或对比页面资料的团队。它汇集网站、搜索排名、社交内容和趋势等公开信息,并支持与先前记录比较变化。
主要功能
- 01抓取网站与定价页面内容
- 02分析搜索排名、关键词和反向链接
- 03收集社交内容与社区讨论
- 04查看搜索可见度和需求趋势
- 05汇总竞品变化并制作简报
适用场景
- 01制作销售团队竞品战卡
- 02编写每周竞品动态摘要
- 03为对比页面收集功能与定价信息
- 04跟踪竞品排名、内容和受众信号
MCP 相关
此技能通过 Hyper MCP 调用 Firecrawl、HyperSEO 及可选的社交和搜索工具包。它整合这些来源的公开数据,用于竞品分析与变化比较。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ hyperfx-ai/ marketing-skills --skill competitor-intel安装后在 Claude Code 中输入/competitor-intel确认已加载。
附带文件references/brief-templates.mdreferences/source-by-source.md
详细介绍
竞品情报
端到端的竞品研究与监测。确定竞品范围,从所有重要的公开渠道获取信息,与上次运行结果(或你自己的数据)进行对比,并生成真正有用的简报——作战卡、每周摘要、董事会更新,或供对比页面使用的素材。
不在范围内——请转交给其他技能
| 请求 | 转交对象 |
|---|---|
| 竞品的付费广告(Facebook / Instagram 上投放中的广告) | meta-ads-library |
| 以 HyperSEO 为主要渠道的纯 SEO / 关键词研究 | seo-research——使用相同的 HyperSEO 工具包,但会深入得多地进行关键词研究 |
| 情报收集完成后,为对比营销活动生成创意内容(图像 / 文案) | ad-creative-generation |
| 获取竞品的电子邮件营销计划数据 | 不可行——仅限主动订阅者。改用 firecrawl_urls_scrape 抓取他们的落地页。 |
competitor-intel 是集成层——它从所有来源获取信息并进行综合分析。它使用 HyperSEO 分析排名、反向链接和交集,但它本身并不是 SEO 研究技能。
要求
- 已安装并连接 Hyper MCP。 https://app.hyperfx.ai/mcp
- 在 https://app.hyperfx.ai/apps 连接以下至少一个工具包:
- Firecrawl (强烈推荐——是任何网站 / 博客 / 定价页面研究的基础)
- HyperSEO (排名、反向链接、域名重叠分析所需)
- Apify 抓取工具——Instagram、TikTok、LinkedIn、Twitter、Reddit、Google 搜索、Google Trends
- 图像生成 (可选——仅当简报后续用于对比页面或作战卡素材时才需要)
如果 Agent 的工具列表中没有出现这些工具前缀(firecrawl_*、hyperseo_*、instagram_scrape*、scrape_tiktok*、x_tweets_search、reddit_scrape*、google_search_results_search、google_trends_scrape、web_pages_scrape),请停止并告知用户启用 Hyper MCP,并至少连接 Firecrawl 和一个社交媒体抓取工具。LinkedIn 抓取工具(scrape_linkedin_profiles)仅在启用了相应集成时才会出现——如果缺少该工具,请妥善跳过 LinkedIn 分析部分,而不要因此导致整份简报失败。
如何运行此技能中的工具
此技能中的每个工具都使用其规范工具名称。使用你的界面提供的调用方式运行:
| 界面 | 查找工具 | 运行工具 |
|---|---|---|
| MCP 客户端(Claude、Cursor、Codex、ChatGPT) | search("<what you want to do>"),然后运行 describe("<name>") | call("<name>", {...}) |
| Hyper CLI | hyperai search "<what you want to do>",然后运行 hyperai describe <name> | hyperai call <name> --json '{...}' |
如果找不到某个工具,说明其集成尚未连接或未在工作区启用:请停止并告知用户需要连接哪个集成。
工具范围
| 阶段 | 工具 |
|---|---|
| 网站与网页内容 | firecrawl_urls_scrape、firecrawl_urls_scrape_batch、firecrawl_websites_crawl、firecrawl_screenshots_create、firecrawl_branding_extract、web_pages_scrape(JS 渲染回退,支持使用 ai_query 进行定向提取)、web_pages_fetch、web_pages_load |
| 搜索排名与反向链接 | hyperseo_competitors_search、hyperseo_competitor_domains_search、hyperseo_domain_overview_get、hyperseo_domain_keywords_get、hyperseo_domain_intersections_search、hyperseo_site_keywords_search、hyperseo_backlinks_history_get、hyperseo_rank_history_get、hyperseo_mentions_track |
| AI 搜索与 SERP 中的品牌提及 | hyperseo_ai_overviews_get、hyperseo_ai_search_volume_get、hyperseo_mentions_track、google_search_results_search、web_search |
| 自然社交媒体 — Instagram | instagram_scrape、instagram_posts_scrape、instagram_followers_count_scrape |
| 自然社交媒体 — TikTok | tiktok_videos_scrape、tiktok_comments_scrape |
| 自然社交媒体 — LinkedIn | scrape_linkedin_profiles (有条件提供 — 仅在 Hyper 工作区启用 LinkedIn 抓取集成时可用) |
| 自然社交媒体 — Twitter / X | x_tweets_search |
| 社区 / 情绪 — Reddit | reddit_scrape、reddit_leads_scrape |
| 电商竞品详情 | ecommerce_products_scrape、ecommerce_reviews_scrape |
| 需求 / 趋势信号 | google_trends_scrape、hyperseo_search_volume_get、hyperseo_intents_search |
| 可选:对比页面素材 | images_generate |
关键规则
- 仅使用公开数据。 切勿抓取登录墙或付费墙后的内容。如果目标内容受到限制,请停止并说明情况——不要尝试绕过限制。
- 抓取前先确定竞品名单。 3–5 个竞品最合适。超过 10 个会让简报难以阅读,还会消耗大量抓取额度。如果用户没有名单,请先运行
hyperseo_competitors_search(domain=<their_domain>)找出自然搜索排名靠前的竞品,然后与用户确认名单。 - 先做快照,再比较差异。 首次运行只是建立基线——没有内容可供比较。第二次和第三次运行才会逐渐体现价值(定价发生了哪些变化、发布了哪些新帖子、谁的排名下降了)。用户首次运行时,请明确说明这一预期。
- HyperSEO 按额度计费。 请有计划地使用。只需查询 4 个竞品时,不要对 12 个竞品循环调用
hyperseo_domain_overview_get。每次调用都有成本——请批量处理并缓存结果。 - Apify 抓取器可能运行缓慢,也受速率限制。 不要同时启动 8 个抓取任务。请按顺序执行,并在结果陆续返回时向用户提供部分结果,而不是等全部运行完毕。
- 为抓取内容留存快照,而不只是分析结果。 简报中的每项主张都必须包含来源 URL、抓取时间戳和简短摘录——否则下周就没有内容可用于比较差异,简报也无法核实。
- 不要过度解读单个数据点。 “竞品 X 发布了一条获得 12K 个赞的 Reel”只是噪声。“竞品 X 过去 30 天每篇帖子的平均获赞数为 8K,高于此前的 2K”才是有效信号。请基于汇总数据进行比较,而不是依赖个别案例。
- 明确保持客观。 使用中性表述(“竞品 X 于 Z 日期发布了 Y,文案内容为……”),避免价值判断(“竞品 X 的策略已经失效……”)。简报提供的是情报,而非观点。
- 消除品牌名称搜索结果页(SERP)的歧义。 单独搜索
<competitor>往往会返回与该品牌名称相同、但无关的结果(例如,搜索“hyperfx”时,结果大多是 HyperX 耳机,而不是 hyperfx.ai)。请始终搭配类别修饰词搜索品牌,例如<competitor> alternative、<competitor> reviews、<competitor> pricing、<competitor> vs <us>,以获得准确的搜索结果页。 - 由 Apify 驱动的抓取器偶尔会失败。
instagram_scrape*、scrape_tiktok*、reddit_scrape*、google_trends_scrape、x_tweets_search和google_search_results_search偶尔会返回"fetch failed"或空结果。报告来源缺失前,请稍作等待后重试一次;如果抓取器仍不可用,也请向用户提供部分结果,不要因此放弃整份简报。
工作流
第 1 阶段 — 确定竞品名单
询问用户(或根据情况推断):
- 他们的域名——用于确定所有相对比较的基准。
- 他们的竞品名单——3–5 个名称和域名。如果不明确,请找出自然搜索排名靠前的竞品。
hyperseo_competitors_search接收的是用户希望取得排名的关键词,而不是其域名——因此,请先与用户确定其类别中的 3–5 个高意向关键词,然后运行:
hyperseo_competitors_search(
keywords=["<category keyword 1>", "<category keyword 2>", "<category keyword 3>"],
location_code=2840, # 2840=US, 2826=UK, 2124=CA, 2036=AU
limit=10
)
继续之前,请与用户确认找到的竞品名单——绝不要猜测后直接继续。
- 任务目标——这份简报用于什么目的?不同目标对应的简报形式也不同:
- 供销售使用的竞品作战卡 → 重点关注市场定位、定价,以及“遇到……时该怎么说”的异议应对话术。
- 供营销/高管团队使用的每周摘要 → 重点关注本周的变化。
- 供营销使用的对比页面资料 → 重点关注客观、可比较的功能和定价数据。
- 董事会/董事会会前更新 → 重点关注汇总态势(声量份额、排名变化、增长)。
- 更新频率——一次性还是定期更新?定期更新时应缩小来源范围,确保每次都能在合理时间内完成。
如果用户无法回答第 3 项,请停止并询问。不了解最终材料的用途就开始收集情报,注定会白费功夫。
第 2 阶段 — 构建来源矩阵
并非每种来源都与每个竞争对手或每项工作相关。针对每个竞争对手,确定要从哪些渠道获取信息。
| 竞争对手类型 | 最重要的来源 |
|---|---|
| 直接 SaaS / B2B | 网站、博客、定价页面、LinkedIn 公司帖子(如有)、AI 搜索引用(hyperseo_ai_overviews_get)、域名排名变化 |
| 电商 / DTC 品牌 | 网站、产品目录(ecommerce_products_scrape)、产品评论(ecommerce_reviews_scrape)、Instagram、TikTok、Reddit 帖子、Google Trends 关注度 |
| 消费品牌 / 创作者品牌 | Instagram、TikTok、Twitter、YouTube (通过已连接的 YouTube 工具包)、Reddit |
| 内容驱动型 / 出版机构 | 网站、博客(完整抓取)、反向链接历史、AI 搜索引用、搜索排名趋势 |
| 本地 / 多地点经营 | 网站、针对“[品牌] near me”的 Google 搜索结果、Reddit / Twitter 情绪、Google Trends 区域数据 |
完整的按来源分类指南(何时使用、能揭示什么、注意事项)见 references/source-by-source.md。
第 3 阶段 — 获取数据
按顺序获取数据;不要同时触发所有调用。顺序关系到成本,也能让前面的部分结果为后续调用提供参考。
使用顺序:
- 先获取成本最低的数据 — HyperSEO 基线(每个竞争对手调用一次,并在整个简报中复用数据):
hyperseo_domain_overview_get(domain="<competitor>.com", location_code=2840)
hyperseo_domain_keywords_get(domain="<competitor>.com", limit=50, location_code=2840)
hyperseo_domain_intersections_search(
domain1="yourbrand.com",
domain2="<competitor>.com",
limit=50,
location_code=2840
)
- 通过 Firecrawl 获取网站内容:
firecrawl_urls_scrape(url="https://<competitor>.com/pricing")
firecrawl_urls_scrape(url="https://<competitor>.com/")
firecrawl_branding_extract(url="https://<competitor>.com") # logo, colors, voice
若要深入分析完整博客存档,可使用 firecrawl_websites_crawl 抓取一次,并通过 firecrawl_crawls_status_check 查看状态。如果 Firecrawl 对 JavaScript 密集型单页应用返回的内容近乎为空,则改用 web_pages_scrape(url=..., use_proxy=true, ai_query="extract pricing tiers and prices")。
- 社交平台 — 按平台依次获取(注意:大多数抓取工具接收的是标识符数组,而非单个用户名):
instagram_scrape(direct_urls=["https://www.instagram.com/<competitor>/"], results_type="posts", results_limit=30)
instagram_followers_count_scrape(usernames=["<competitor>"]) # cheap, do it weekly
tiktok_videos_scrape(profiles=["<competitor>"], results_per_page=30)
x_tweets_search(from_user="<competitor_handle>", max_items=50)
# Only if scrape_linkedin_profiles is in your MCP tool list:
scrape_linkedin_profiles(urls=["https://www.linkedin.com/company/<competitor>"])
- 情绪与需求:
reddit_scrape(searches=["<competitor>"], max_items=50, sort="new", time="month")
google_trends_scrape(
search_terms=["<competitor>", "yourbrand"],
time_range="today 3-m", # options: now 7-d, today 1-m, today 3-m, today 5-y, all
geo="US"
)
google_search_results_search(query="<competitor> reviews", num_results=20, country="us")
- AI 搜索可见度(通常仅适用于 SaaS / B2B):
# AI Overview takes ONE keyword at a time + integer location_code
hyperseo_ai_overviews_get(keyword="<your category keyword>", location_code=2840)
# track_mentions runs the query against OpenAI / Claude / Perplexity and returns citations
hyperseo_mentions_track(
query="best <your category> tools",
brands=["<competitor>", "yourbrand"]
)
每个阶段完成后,就展示该阶段的部分结果——不要等所有数据都获取完毕后才向用户展示内容。
第 4 阶段 — 对比变化
这项技能关注的是变化量,而非快照。针对每个竞争对手,进行以下比较:
| 来源 | 比较对象 |
|---|---|
| 定价页面 | 上次抓取结果(套餐名称、价格、计划限额、新增附加项的变化) |
| 首页主视觉区 | 上次抓取结果(定位文案、新的 CTA、新增徽标的变化) |
| 域名排名 | 将 hyperseo_rank_history_get(domain=..., date_from=..., date_to=...) 与过去 30 / 90 天的数据比较 |
| 域名关键词 | 新增排名关键词、排名丢失的关键词 |
| 域名交集(对方 ∩ 你方) | 对方有排名、而你方没有排名的关键词——内容差距 |
| Instagram / TikTok | 上次运行后发布的帖子、粉丝变化、互动率变化 |
| Twitter / Reddit | 与上一周期相比,提及量的变化 |
| AI 搜索引用 | 与上次运行相比,新增的 AI Overview 引用 |
首次运行时,不存在“上次”的数据——简报中的差异部分应写明“已建立基线,下次运行时将进行对比”。请明确告知用户这一点,避免他们在第一天就期待看到洞察。
阶段 5 — 简报
综合整理并形成成果。根据用途选择简报形式(完整模板见 references/brief-templates.md):
- 竞争对手对战卡 — 每个竞争对手 1 页:定位摘要、竞争对手最有力的 3 条主张、我方的 3 条反驳、常见异议及回应、输赢模式。
- 每周摘要 — 所有竞争对手共 1 页:按重要性排序,列出每个竞争对手本周的变化。
- 对比页面素材 — 功能矩阵表、定价表、套餐限制表 — 均附来源 URL 和时间戳。
- 董事会准备情况更新 — 在此期间的声量占比、排名变化、内容发布速度、情绪趋势。
简报标准(适用于所有简报):
- 始终为每条主张注明来源和时间戳。“竞争对手 X 将 Pro 套餐价格从 $79 调高至 $99(定价页面,2026-04-29)”胜过“X 提高了价格。”
- 使用中性措辞。 简报应让读者自行得出结论。
- 区分观察结果与解读。 明确标注解读:“观察结果:‘invoice automation’ 的排名在 30d 内下降了 12 位。可能的解读:……”。
- 在简报顶部列出一份按重要性排序的‘关键事项’清单。 其余内容放在下方。大多数读者只会看前 3 条。
阶段 6 — 按计划监测(可选)
如果用户希望持续监测,而非一次性分析:
- 将来源矩阵和竞争对手列表保存在可靠的位置(
bigquery_*、Notion、Sheets 工作表,或直接放在用户的提示词模板中)。 - 安排 Agent 按固定周期重新获取数据 — 每周是最佳频率。每日会产生过多噪声;每月则会错过快速变化。
- 默认采用每周摘要形式,并可在出现重大变化时升级为深度简报。
参考工作流
| 参考资料 | 何时阅读 |
|---|---|
references/source-by-source.md | 单个来源的操作指南 — 每个抓取器 / HyperSEO 调用能揭示什么、何时使用,以及相关特性(速率限制、JS 渲染问题、缓存时段、额度成本) |
references/brief-templates.md | 竞争对手对战卡、每周摘要、对比页面和董事会准备情况模板,附示例和输出结构 |