competitor-monitoring

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Competitor Monitoring

竞品监控

Discover competitors, build a tracked company table in Extruct, and run recurring research columns to monitor their content, social presence, news, and product moves.
发现竞品,在Extruct中构建一个被追踪的企业表格,并运行定期调研列以监控它们的内容、社交媒体动态、新闻和产品动向。

Related Skills

相关技能

market-research → competitor-monitoring → list-building (for targeting competitor customers)
                                        → competitor-post-engagers (for targeting their audience)
This skill sets up the competitive intelligence foundation. Its outputs feed into prospecting workflows (target competitor customers or engaged audiences).
market-research → competitor-monitoring → list-building (for targeting competitor customers)
                                        → competitor-post-engagers (for targeting their audience)
该技能搭建了竞品情报的基础框架。其输出可用于潜在客户开发工作流(定位竞品客户或活跃受众)。

Extruct API Operations

Extruct API 操作

This skill delegates all Extruct API calls to the
extruct-api
skill.
For all Extruct API operations, read and follow the instructions in
skills/extruct-api/SKILL.md
.
Table creation, row uploads, column creation, enrichment runs, and data fetching are handled by the extruct-api skill. This skill focuses on which competitors to track and what monitoring columns to add.
该技能将所有Extruct API调用委托给
extruct-api
技能。
所有Extruct API操作,请阅读并遵循
skills/extruct-api/SKILL.md
中的说明。
表格创建、行上传、列创建、数据补全运行和数据获取均由extruct-api技能处理。本技能专注于追踪哪些竞品以及添加哪些监控列

Inputs

输入项

InputSourceRequired
Client company domainUser providesyes
Known competitorsUser provides (optional — can be discovered)no
Monitoring focus areasUser choice (default: all)no
Existing monitoring table IDExtruct table to reuseno
输入项来源是否必填
客户企业域名用户提供
已知竞品用户提供(可选——可通过工具发现)
监控重点领域用户选择(默认:全部)
现有监控表格ID可复用的Extruct表格

Workflow

工作流

Step 1: Collect competitors

步骤1:收集竞品信息

Start by asking the user: "Which competitors do you want to track?" They may already have a list. Then augment with discovery methods as needed.
Direct input (always start here)
Ask the user for their known competitors. Most users know their top 3-5. This is the primary input — discovery methods below are supplementary.
Augment with lookalike search
Use the extruct-api skill to find similar companies:
companies similar --company-identifier {client_domain} --limit 20
Present results to the user — not all lookalikes are direct competitors. Let the user pick which ones to add.
Augment with web search
Search for competitor lists and comparison pages:
  • "{client_company} vs"
    — head-to-head comparisons
  • "{client_company} alternatives"
    — competitor roundups
  • G2/Capterra category pages for the client's product category
Augment with G2 / review site discovery
If the client is listed on G2, Capterra, or TrustRadius:
  • Find the client's category page
  • Extract other vendors in the same category
Combining methods: Use direct input as the base, then run lookalike + web search to surface competitors the user may have missed. Deduplicate by domain. Present the merged list for final confirmation.
Output: Confirmed list of 3-10 competitor domains.
首先询问用户:“你想要追踪哪些竞品?”他们可能已经有一个列表。然后根据需要使用发现方法补充竞品。
直接输入(始终从这里开始)
询问用户已知的竞品。大多数用户知道他们的前3-5个竞品。这是主要输入——以下发现方法仅作为补充。
通过相似企业搜索补充
使用extruct-api技能查找相似企业:
companies similar --company-identifier {client_domain} --limit 20
将结果呈现给用户——并非所有相似企业都是直接竞品。让用户选择要添加的竞品。
通过网络搜索补充
搜索竞品列表和对比页面:
  • "{client_company} vs"
    —— 一对一对比
  • "{client_company} alternatives"
    —— 竞品汇总
  • 客户产品类别的G2/Capterra分类页面
通过G2/评论网站发现补充
如果客户在G2、Capterra或TrustRadius上有收录:
  • 找到客户的分类页面
  • 提取同一类别中的其他供应商
方法组合: 以直接输入为基础,然后运行相似企业搜索+网络搜索,找出用户可能遗漏的竞品。按域名去重。将合并后的列表呈现给用户进行最终确认。
输出: 已确认的3-10个竞品域名列表。

Step 2: Create the competitor monitoring table

步骤2:创建竞品监控表格

Delegate to the extruct-api skill to create a company table (or reuse an existing one):
json
{
  "name": "{client_name} — Competitor Monitoring",
  "kind": "company"
}
Upload competitor domains as rows (batch of 50 via extruct-api skill). The table auto-generates
company_profile
,
company_name
, and
company_website
columns.
Include the client's own domain as the first row — useful for side-by-side comparison.
委托extruct-api技能创建企业表格(或复用现有表格):
json
{
  "name": "{client_name} — Competitor Monitoring",
  "kind": "company"
}
批量上传竞品域名作为行(通过extruct-api技能最多批量上传50个)。表格会自动生成
company_profile
company_name
company_website
列。
将客户自身的域名作为第一行加入——便于对比分析。

Step 3: Add monitoring columns

步骤3:添加监控列

Add research columns based on the user's monitoring focus. Present the menu below and let them choose which to enable.
根据用户的监控重点添加调研列。呈现以下菜单,让用户选择要启用的列。

Core columns (recommended for all setups)

核心列(推荐所有配置都启用)

ColumnKeyAgentFormatPrompt summary
Key People
key_people
research_pro
text
List key people with roles, LinkedIn/X profiles. Search company website, Crunchbase/PitchBook, LinkedIn
Business Model Analysis
business_model_analysis
research_pro
text
Revenue streams, customer segments, value propositions, competitive advantages
Competitors List
competitors_list
research_pro
text
Who this competitor competes with (useful for discovering adjacent competitors)
Funding History
funding_history
research_pro
text
Funding rounds, investors, amounts, dates
列名键值代理格式提示语摘要
关键人物
key_people
research_pro
text
列出关键人物及其职位、LinkedIn/X主页。搜索企业官网、Crunchbase/PitchBook、LinkedIn
商业模式分析
business_model_analysis
research_pro
text
收入来源、客户群体、价值主张、竞争优势
竞品列表
competitors_list
research_pro
text
该竞品的竞争对手(有助于发现间接竞品)
融资历史
funding_history
research_pro
text
融资轮次、投资者、金额、日期

Content monitoring columns

内容监控列

ColumnKeyAgentFormatPrompt summary
Company Blog URL
company_blog_url
research_pro
url
Find the company's blog or content hub URL
Recent Blog Posts (6mo)
recent_blog_posts_6mo
research_pro
text
List blog posts from the last 6 months with titles, dates, topics, and URLs
People LinkedIn Updates
recent_company_updates
research_pro
text
Recent LinkedIn posts and activity from key people at the company
列名键值代理格式提示语摘要
企业博客URL
company_blog_url
research_pro
url
查找企业博客或内容中心的URL
近期博客文章(6个月内)
recent_blog_posts_6mo
research_pro
text
列出过去6个月的博客文章,包含标题、日期、主题和URL
关键人物LinkedIn动态
recent_company_updates
research_pro
text
企业关键人物的近期LinkedIn帖子和动态

News monitoring columns

新闻监控列

ColumnKeyAgentFormatPrompt summary
Recent Company News
recent_company_news
research_pro
text
News articles, press releases, product announcements from the last 6 months
Public News (6mo)
public_news_6mo
research_pro
text
Broader public coverage — media mentions, analyst reports, event appearances
News Summary
news_summary
llm
text
Synthesize recent_company_news and public_news_6mo into a concise briefing. Dependencies:
recent_company_news
,
public_news_6mo
列名键值代理格式提示语摘要
近期企业新闻
recent_company_news
research_pro
text
过去6个月的新闻文章、新闻稿、产品公告
公开新闻(6个月内)
public_news_6mo
research_pro
text
更广泛的公开报道——媒体提及、分析师报告、活动出席情况
新闻摘要
news_summary
llm
text
将近期企业新闻和公开新闻整合成简洁的简报。依赖项:
recent_company_news
public_news_6mo

Column config examples

列配置示例

Key People:
json
{
  "kind": "agent",
  "name": "Key People",
  "key": "key_people",
  "value": {
    "agent_type": "research_pro",
    "prompt": "List the key people in the company along with their roles. To find key people, leverage company website, crunchbase/pitchbook or other company profiles, search linkedin and broader web.\n\nFor each person, provide their LinkedIn and/or X profile links if available. Format the response as a bulleted list with names, roles, and links.",
    "output_format": "text",
    "extra_dependencies": ["company_name", "company_website"]
  }
}
Recent Blog Posts:
json
{
  "kind": "agent",
  "name": "Recent Blog Posts 6mo",
  "key": "recent_blog_posts_6mo",
  "value": {
    "agent_type": "research_pro",
    "prompt": "Find and list blog posts published by this company in the last 6 months. For each post include: title, publication date, main topic/theme, and URL. Focus on the company's official blog or content hub. If no blog is found, check for articles on Medium, Substack, or LinkedIn articles by the company page.",
    "output_format": "text",
    "extra_dependencies": ["company_name", "company_website", "company_blog_url"]
  }
}
People LinkedIn Updates:
json
{
  "kind": "agent",
  "name": "People LinkedIn Updates",
  "key": "recent_company_updates",
  "value": {
    "agent_type": "research_pro",
    "prompt": "Find recent LinkedIn posts and updates from key people at this company (founders, executives, and other visible team members). Summarize the main themes, announcements, and engagement patterns. Include links to notable posts.",
    "output_format": "text",
    "extra_dependencies": ["company_name", "company_website", "key_people"]
  }
}
News Summary (LLM synthesis, depends on other columns):
json
{
  "kind": "agent",
  "name": "News Summary",
  "key": "news_summary",
  "value": {
    "agent_type": "llm",
    "prompt": "Synthesize the recent company news and public news into a concise executive briefing. Highlight: 1) Major product or strategy shifts, 2) Funding or M&A activity, 3) Key hires or departures, 4) Market positioning changes. Keep it to 3-5 bullet points.",
    "output_format": "text",
    "extra_dependencies": ["recent_company_news", "public_news_6mo"]
  }
}
关键人物:
json
{
  "kind": "agent",
  "name": "Key People",
  "key": "key_people",
  "value": {
    "agent_type": "research_pro",
    "prompt": "List the key people in the company along with their roles. To find key people, leverage company website, crunchbase/pitchbook or other company profiles, search linkedin and broader web.\n\nFor each person, provide their LinkedIn and/or X profile links if available. Format the response as a bulleted list with names, roles, and links.",
    "output_format": "text",
    "extra_dependencies": ["company_name", "company_website"]
  }
}
近期博客文章:
json
{
  "kind": "agent",
  "name": "Recent Blog Posts 6mo",
  "key": "recent_blog_posts_6mo",
  "value": {
    "agent_type": "research_pro",
    "prompt": "Find and list blog posts published by this company in the last 6 months. For each post include: title, publication date, main topic/theme, and URL. Focus on the company's official blog or content hub. If no blog is found, check for articles on Medium, Substack, or LinkedIn articles by the company page.",
    "output_format": "text",
    "extra_dependencies": ["company_name", "company_website", "company_blog_url"]
  }
}
关键人物LinkedIn动态:
json
{
  "kind": "agent",
  "name": "People LinkedIn Updates",
  "key": "recent_company_updates",
  "value": {
    "agent_type": "research_pro",
    "prompt": "Find recent LinkedIn posts and updates from key people at this company (founders, executives, and other visible team members). Summarize the main themes, announcements, and engagement patterns.",
    "output_format": "text",
    "extra_dependencies": ["company_name", "company_website", "key_people"]
  }
}
新闻摘要(LLM合成,依赖其他列):
json
{
  "kind": "agent",
  "name": "News Summary",
  "key": "news_summary",
  "value": {
    "agent_type": "llm",
    "prompt": "Synthesize the recent company news and public news into a concise executive briefing. Highlight: 1) Major product or strategy shifts, 2) Funding or M&A activity, 3) Key hires or departures, 4) Market positioning changes. Keep it to 3-5 bullet points.",
    "output_format": "text",
    "extra_dependencies": ["recent_company_news", "public_news_6mo"]
  }
}

Step 4: Run enrichment

步骤4:运行数据补全

Delegate to the extruct-api skill to trigger enrichment on all newly added columns. Scope the run to only the new columns.
Monitor progress — these are
research_pro
columns, so they take longer than
llm
columns (expect 1-3 minutes per row per column).
委托extruct-api技能触发所有新增列的数据补全。将运行范围限定为仅新增列。
监控进度——这些是
research_pro
列,因此比
llm
列耗时更长(预计每列每行1-3分钟)。

Step 5: Review baseline results

步骤5:查看基准结果

Once enrichment completes, fetch data and present a competitor overview:
Competitor Monitoring Baseline — {client_name}
================================================

| Company | Key People | Blog Posts (6mo) | Recent News | Funding |
|---------|-----------|------------------|-------------|---------|
| Competitor A | 5 found | 12 posts | 3 articles | Series B |
| Competitor B | 3 found | 0 posts | 1 article | Seed |
| ...     | ...       | ...              | ...         | ...     |

Notable Findings:
- [Competitor A] published 12 blog posts in 6mo — active content strategy
- [Competitor B] raised Series B last month — expect product expansion
- [Competitor C] has no blog — rely on social monitoring instead
Ask the user:
  • "Does the competitor list look complete? Want to add any?"
  • "Any columns returning thin results that we should drop?"
  • "Ready to move to next steps (target their customers, scrape their audience)?"
数据补全完成后,获取数据并呈现竞品概览:
Competitor Monitoring Baseline — {client_name}
================================================

| Company | Key People | Blog Posts (6mo) | Recent News | Funding |
|---------|-----------|------------------|-------------|---------|
| Competitor A | 5 found | 12 posts | 3 articles | Series B |
| Competitor B | 3 found | 0 posts | 1 article | Seed |
| ...     | ...       | ...              | ...         | ...     |

Notable Findings:
- [Competitor A] published 12 blog posts in 6mo — active content strategy
- [Competitor B] raised Series B last month — expect product expansion
- [Competitor C] has no blog — rely on social monitoring instead
询问用户:
  • “竞品列表是否完整?是否要添加更多?”
  • “有没有列返回的结果过少,需要删除?”
  • “是否准备好进入下一步(定位他们的客户、抓取他们的受众)?”

Step 6: Re-running for fresh data

步骤6:重新运行以获取最新数据

Extruct does not have built-in scheduling. To refresh monitoring data, re-run enrichment on the table's columns. Each re-run overwrites the previous column values with fresh research results.
How to re-run: Use the extruct-api skill to trigger enrichment on specific columns:
tables run {table_id} --mode all --columns recent_blog_posts_6mo,recent_company_updates,recent_company_news
What to re-run and when:
ColumnsWhen to re-runWhy
recent_blog_posts_6mo
,
recent_company_updates
When the user wants a content updateBlog and social data goes stale fastest
recent_company_news
,
public_news_6mo
,
news_summary
When the user wants a news updateCatches new announcements, funding, launches
key_people
After hearing about exec changesDetects new hires, departures
funding_history
After hearing about a raiseUpdates funding rounds
business_model_analysis
,
competitors_list
Periodically or after market shiftsThese change slowly — quarterly at most
Re-running all columns at once:
tables run {table_id} --mode all
This refreshes everything but costs more research credits and takes longer. Prefer scoped re-runs for routine updates.
After each re-run, review the updated data (Step 5) and flag significant changes to the user — new blog posts, funding rounds, people moves, or messaging shifts.
Extruct没有内置调度功能。要刷新监控数据,请重新运行表格列的数据补全。每次重新运行都会用最新的调研结果覆盖之前的列值。
如何重新运行: 使用extruct-api技能触发特定列的数据补全:
tables run {table_id} --mode all --columns recent_blog_posts_6mo,recent_company_updates,recent_company_news
重新运行的列和时机:
重新运行时机原因
recent_blog_posts_6mo
,
recent_company_updates
当用户需要内容更新时博客和社交媒体数据过时最快
recent_company_news
,
public_news_6mo
,
news_summary
当用户需要新闻更新时捕捉新公告、融资、产品发布
key_people
听说高管变动后检测新招聘或离职情况
funding_history
听说融资后更新融资轮次
business_model_analysis
,
competitors_list
定期或市场变化后这些数据变化缓慢——最多每季度更新一次
一次性重新运行所有列:
tables run {table_id} --mode all
这会刷新所有数据,但会消耗更多调研积分且耗时更长。日常更新优先选择限定范围的重新运行。
每次重新运行后,查看更新后的数据(步骤5),并向用户标记重大变化——新博客文章、融资轮次、人事变动或营销策略调整。

Output

输出

OutputFormatLocation
Competitor monitoring tableExtruct company table
https://app.extruct.ai/tables/{table_id}
输出项格式位置
竞品监控表格Extruct企业表格
https://app.extruct.ai/tables/{table_id}

Next Steps After Setup

设置完成后的后续步骤

  • Target competitor customers → use
    list-building
    with competitor domains as seeds for lookalike search
  • Target competitor audience → use
    competitor-post-engagers
    to scrape people engaging with competitor LinkedIn posts
  • Deep dive on a competitor → use
    market-research
    for in-depth analysis of a specific competitor's market positioning
  • Enrich with custom data points → use
    list-enrichment
    to add custom research columns (pricing, tech stack, etc.)
  • 定位竞品客户 → 使用
    list-building
    技能,以竞品域名为种子进行相似企业搜索
  • 定位竞品受众 → 使用
    competitor-post-engagers
    技能抓取与竞品LinkedIn帖子互动的用户
  • 深入分析单个竞品 → 使用
    market-research
    技能对特定竞品的市场定位进行深度分析
  • 用自定义数据点补全 → 使用
    list-enrichment
    技能添加自定义调研列(定价、技术栈等)