Industry Research
You conduct deep, intent-driven industry research. The core question is "what are people looking for?" -- not "what are competitors doing?" Keyword intent, search demand, and real audience language are the primary signals. Competitor analysis serves the intent research by finding gaps in what's being served.
Before Starting
Check for product marketing context first:
If .agents/product-marketing-context.md exists (or .claude/product-marketing-context.md in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Then determine:
- 1. Client name -- Which client to research for
- Industry/market -- The market category and key services/products
- Seed keywords -- 5-8 starting keyword phrases reflecting core services
- Competitor URLs -- 3-5 known competitor websites to analyze
- Geographic focus -- Target region for keyword data (default: US)
If dispatched via cron or orchestrator with a specific client name, use the product-marketing-context for that client to derive seed keywords and competitors automatically.
Workflow
Step 1: Keyword Research (Ahrefs)
Use Ahrefs to gather keyword data. Try the Ahrefs MCP server first (if available via mcporter or MCP tools list). If MCP is not available, fall back to the Ahrefs REST API at https://api.ahrefs.com/v3 with Authorization: Bearer $AHREFS_API_KEY.
Regardless of access method, gather data from these endpoints/capabilities:
Keywords Explorer overview -- seed keywords (batch up to 10 per request) for volume, difficulty, traffic potential:
CODEBLOCK0
Keywords Explorer matching terms -- for each seed keyword, find related keywords (limit: 100 results per seed):
CODEBLOCK1
Keywords Explorer related terms -- semantically similar keywords:
CODEBLOCK2
Cluster results by topic (group keywords sharing the same parent topic or SERP overlap).
Classify each keyword's intent:
- - Informational -- how/what/why questions, guides, educational content
- Transactional -- near me, cost, buy, hire, service, pricing queries
Rate limit: Max 60 requests/min. Budget cap: 15 API calls per research run.
If neither Ahrefs MCP nor AHREFSAPIKEY is available, skip this step and note "Ahrefs data unavailable -- no MCP server or API key configured" in the artifact. Continue with Firecrawl+Exa only.
Step 2: Audience Research (Firecrawl + Exa)
Use exa.js search to find Reddit threads, forum posts, Quora answers about the industry/problem space:
CODEBLOCK3
CODEBLOCK4
CODEBLOCK5
Use firecrawl.js scrape to extract content from top 5 most relevant results:
CODEBLOCK6
Extract:
- - Exact questions people ask
- Pain points in their own words
- Emotional language
- Common objections
Cross-reference with Google's People Also Ask (search for each seed keyword via Exa and extract PAA-style questions):
CODEBLOCK7
Step 3: Content Gap Analysis
For each top keyword cluster, use exa.js search to find what currently ranks:
CODEBLOCK8
Use firecrawl.js scrape on top 3 ranking pages per cluster to analyze content depth:
CODEBLOCK9
Identify gaps:
- - Topics with search demand but weak/missing/outdated content from competitors
- Flag underserved angles -- queries where top results are generic directories (Yelp, WebMD) rather than authoritative guides
- Note city-specific opportunities if geographic focus applies
Step 4: Competitor Landscape
Use firecrawl.js map on each competitor URL to discover their site structure:
CODEBLOCK10
Use firecrawl.js scrape on their key pages (homepage, services, blog, pricing) -- max 5 pages per competitor:
CODEBLOCK11
Analyze:
- - Positioning/messaging
- Content strategy (blog frequency, topics)
- SEO approach (city pages, programmatic content)
If Ahrefs is available (MCP or API), use Site Explorer organic-keywords to see what keywords competitors rank for:
CODEBLOCK12
Identify messaging patterns and gaps -- what positioning angles are unclaimed.
Step 5: Compile Artifact
Write the output to .agents/industry-research-{client}.md where {client} is the lowercase client name (e.g., allcare).
Use this artifact template:
CODEBLOCK13
Target artifact size: 3,000-5,000 words. Synthesize and distill -- do not dump raw scraped content.
Each section has its own Last researched: timestamp so consuming skills can verify recency.
Tips
- - Focus on intent, not just volume -- a 500-volume transactional keyword outperforms a 5,000-volume informational one for conversions
- Capture exact audience language -- "my mom can barely get to the doctor" is more valuable than "transportation barriers to healthcare access"
- Budget API calls carefully -- 15 Ahrefs calls per run, scrape selectively (use
firecrawl.js map before scrape) - Keep the artifact scannable -- downstream skills read specific sections, not the whole document
Related Skills
- - competitive-intelligence -- For detailed competitor analysis (company-level deep dives)
- market-research -- For market sizing, TAM/SAM/SOM, and industry trends
- firecrawl-cli -- For raw Firecrawl scraping (detailed tool documentation)
- exa-company-research -- For raw Exa web search on specific companies
- product-marketing-context -- For foundational product/service context that feeds into research
行业研究
你进行深入的、以意图为导向的行业研究。核心问题是人们在寻找什么?——而不是竞争对手在做什么?关键词意图、搜索需求和真实的受众语言是主要信号。竞争对手分析服务于意图研究,通过发现现有内容供给中的空白。
开始之前
首先检查产品营销上下文:
如果存在 .agents/product-marketing-context.md(或在旧版设置中为 .claude/product-marketing-context.md),请在提问前阅读它。使用该上下文,仅询问未涵盖或特定于该任务的信息。
然后确定:
- 1. 客户名称 -- 要研究的客户
- 行业/市场 -- 市场类别和关键服务/产品
- 种子关键词 -- 5-8个反映核心服务的起始关键词短语
- 竞争对手URL -- 要分析的3-5个已知竞争对手网站
- 地理重点 -- 关键词数据的目标地区(默认:美国)
如果通过cron或编排器以特定客户名称调度,则使用该客户的产品营销上下文自动推导种子关键词和竞争对手。
工作流程
第1步:关键词研究(Ahrefs)
使用Ahrefs收集关键词数据。首先尝试Ahrefs MCP服务器(如果可通过mcporter或MCP工具列表使用)。如果MCP不可用,则回退到 https://api.ahrefs.com/v3 的Ahrefs REST API,使用 Authorization: Bearer $AHREFSAPIKEY。
无论访问方式如何,从以下端点/功能收集数据:
关键词探索器概览 -- 种子关键词(每批最多10个)的搜索量、难度、流量潜力:
POST /keywords-explorer/overview
Body: { keywords: [seed1, seed2, ...], country: us }
关键词探索器匹配词 -- 针对每个种子关键词,查找相关关键词(每个种子限制:100个结果):
POST /keywords-explorer/matching-terms
Body: { keyword: seed keyword, country: us, limit: 100 }
关键词探索器相关词 -- 语义相似的关键词:
POST /keywords-explorer/related-terms
Body: { keyword: seed keyword, country: us, limit: 100 }
按主题聚类结果(将共享相同父主题或SERP重叠的关键词分组)。
对每个关键词的意图进行分类:
- - 信息型 -- 如何/什么/为什么的问题、指南、教育内容
- 交易型 -- 附近、费用、购买、雇佣、服务、价格查询
速率限制: 最多60次请求/分钟。预算上限: 每次研究运行15次API调用。
如果Ahrefs MCP和AHREFSAPIKEY均不可用,则跳过此步骤,并在产物中注明Ahrefs数据不可用——未配置MCP服务器或API密钥。仅继续使用Firecrawl+Exa。
第2步:受众研究(Firecrawl + Exa)
使用 exa.js search 查找关于该行业/问题空间的Reddit帖子、论坛帖子和Quora回答:
bash
exa.js search [行业] 问题 困难 reddit --num-results 10
bash
exa.js search [行业] 建议 论坛 --num-results 10
bash
exa.js search site:reddit.com [服务] 体验 --num-results 10
使用 firecrawl.js scrape 提取最相关的前5个结果的内容:
bash
firecrawl.js scrape --url https://reddit.com/r/relevant-thread
提取:
- - 人们提出的确切问题
- 用他们自己的语言表达的痛点
- 情感化语言
- 常见反对意见
与Google的人们也问交叉引用(通过Exa搜索每个种子关键词并提取PAA风格的问题):
bash
exa.js search [种子关键词] 人们也问的问题 --num-results 5
第3步:内容差距分析
针对每个顶级关键词聚类,使用 exa.js search 查找当前排名内容:
bash
exa.js search [关键词] --num-results 10
使用 firecrawl.js scrape 对每个聚类的前3个排名页面进行内容深度分析:
bash
firecrawl.js scrape --url https://top-ranking-page.com/article
识别差距:
- - 有搜索需求但竞争对手内容薄弱/缺失/过时的主题
- 标记服务不足的角度——顶级结果是通用目录(Yelp、WebMD)而非权威指南的查询
- 如果适用地理重点,则注意特定城市的机遇
第4步:竞争对手格局
使用 firecrawl.js map 对每个竞争对手URL进行站点结构发现:
bash
firecrawl.js map --url https://competitor.com
使用 firecrawl.js scrape 抓取其关键页面(首页、服务、博客、定价)——每个竞争对手最多5个页面:
bash
firecrawl.js scrape --url https://competitor.com/services
分析:
- - 定位/信息传达
- 内容策略(博客频率、主题)
- SEO方法(城市页面、程序化内容)
如果Ahrefs可用(MCP或API),使用站点探索器的自然关键词查看竞争对手排名的关键词:
GET /site-explorer/organic-keywords?target=competitor.com&limit=50
识别信息传达模式和差距——哪些定位角度尚未被占据。
第5步:编译产物
将输出写入 .agents/industry-research-{client}.md,其中 {client} 是客户名称的小写形式(例如 allcare)。
使用此产物模板:
markdown
行业研究:{客户名称}
客户:{客户全名}
最后完整刷新:YYYY-MM-DD
1. 关键词聚类与意图映射
最后研究时间:YYYY-MM-DD
聚类:{主题名称}
| 关键词 | 月搜索量 | 难度 | 意图 | 流量潜力 |
|---|
| 关键词短语 | X,XXX | XX | 信息型/交易型 | X,XXX |
意图分布: X% 信息型,X% 交易型
主要机遇: 顶级关键词机遇摘要
2. 问题与痛点
最后研究时间:YYYY-MM-DD
人们提出的问题(来自PAA、Reddit、论坛)
痛点(受众原话)
- - 来自真实用户的逐字引用 -- 来源(Reddit、论坛等)
3. 内容差距与机遇
最后研究时间:YYYY-MM-DD
服务不足的角度
当前排名内容(及薄弱之处)
| 查询 | 顶级结果 | 差距/机遇 |
|---|
| 搜索查询 | 当前顶级结果 | 缺失或薄弱之处 |
4. 竞争对手格局
最后研究时间:YYYY-MM-DD
谁为我们的关键词排名
| 竞争对手 | 排名关键词 | 定位 | 内容策略 |
|---|
| 竞争对手名称 | 关键关键词 | 他们的定位方式 | 博客、城市页面等 |
信息传达模式
- - 竞争对手:他们的信息传达角度 -- 框架类型
- 差距: 未被占据的定位角度
目标产物大小: 3,000-5,000字。综合提炼——不要倾倒原始抓取内容。
每个部分都有自己的最后研究时间:时间戳,以便消费技能验证时效性。
提示
- - 关注意图,而不仅仅是搜索量——一个500搜索量的交易型关键词在转化方面优于一个5,000搜索量的信息型关键词
- 捕捉真实的受众语言——我妈妈几乎没法去看医生比医疗服务的交通障碍更有价值
- 谨慎预算API调用——每次运行15次Ahrefs调用,选择性抓取(在 scrape 之前使用 firecrawl.js map)
- 保持产物可扫描性——下游技能读取特定部分,而非整个文档
相关技能
- - 竞争情报 -- 用于详细的竞争对手分析(公司级深度研究)
- 市场研究 -- 用于市场规模、TAM/SAM/SOM和行业趋势
- firecrawl-cli -- 用于原始Firecrawl抓取(详细工具文档)
- exa-company-research -- 用于特定公司的原始Exa网络搜索
- 产品营销上下文 -- 用于为研究提供基础的产品/服务上下文