competitive-intel
Autonomous competitive intelligence tracking competitors across LinkedIn, news, reviews, job postings, and regulatory signals, generating executive briefs and sales battlecards.
README
competitive-intel
A Claude Code plugin that runs autonomous competitive intelligence. Point it at your competitors and it tracks them across LinkedIn, news, user reviews, job postings, and regulatory signals, then writes an executive brief and per-competitor sales battlecards, on a schedule, and emails them to you.
Seven specialist agents each own one source. A brief-writer synthesizes everything into one brief with a week-over-week diff. A battlecard-writer turns it into something a sales rep can use in a live deal. It runs on free search by default, so there's no required API key beyond a Gmail App Password for delivery.
Built by Brittany Slay. MIT licensed.
Anonymized template. The two config files ship as
*.example.jsondescribing a fictional company. Copy them, drop in your own details, and the whole system re-points at your market. Your realcompany_context.jsonandcompetitors.jsonare git-ignored so they never get committed.
What it does
Weekly (e.g. Monday 9am):
- Pulls each competitor's recent LinkedIn posts
- Scans Google News, competitor sitemaps, and blog content
- Monitors community forums and Reddit for unfiltered feedback
- Checks G2, Capterra, and SoftwareAdvice for new user reviews
- Tracks competitor job postings for leading product signals
- Scans regulatory and industry developments relevant to your market
- Diffs the findings against last week's brief to surface what changed
- Writes a structured executive brief, framed from your company's angle
- Generates one sales battlecard per competitor
- Emails the brief and battlecards
Daily (e.g. 8am):
- A lightweight breaking-news check that only emails you when something significant happens (score ≥ 4/10)
Architecture
agents/
linkedin-researcher.md # LinkedIn posts -> structured JSON
news-scanner.md # News + sitemap + community forums -> structured JSON
review-monitor.md # G2/Capterra/SoftwareAdvice -> review sentiment JSON
hiring-tracker.md # Job postings -> product investment signals JSON
regulatory-radar.md # Regulatory/industry signals -> structured JSON
brief-writer.md # All agents -> executive brief (with week-over-week diff)
battlecard-writer.md # Brief + reviews + hiring -> sales battlecards
commands/
run-intel.md # /run-intel — full weekly pipeline
daily-alert.md # /daily-alert — lightweight daily breaking-news check
skills/
competitive-analysis.md # Auto-activates on competitor questions
mcp/apify/
index.js # MCP server — 5 tools (below)
company_context.example.json # -> copy to company_context.json (your positioning)
competitors.example.json # -> copy to competitors.json (who to track)
scripts/
weekly-run.sh # Cron: weekly — /run-intel
daily-alert.sh # Cron: daily — /daily-alert
output/ # Generated briefs and battlecards (auto-created, git-ignored)
Agents
| Agent | What it does | Output |
|---|---|---|
linkedin-researcher |
Reads competitor LinkedIn posts | Themes, product signals, tone, hiring posts |
news-scanner |
News, press, blog + Reddit/forums | Product launches, partnerships, community complaints |
review-monitor |
G2, Capterra, SoftwareAdvice | Sentiment trends, complaint themes, your openings |
hiring-tracker |
Job posting analysis | Leading product signals, tech stack, geographic expansion |
regulatory-radar |
Regulatory & industry signals | What's coming, competitor reactions, your openings |
brief-writer |
Synthesizes all agents | Executive brief with week-over-week diff |
battlecard-writer |
Brief + reviews + hiring | Per-competitor sales battlecards |
MCP tools (mcp/apify/index.js)
| Tool | What it does |
|---|---|
linkedin_posts |
Fetches a company's LinkedIn posts (search-indexed by default) |
check_sitemap |
Fetches sitemap.xml and filters URLs by publish date — fast, no key |
crawl_website |
Full-page text extraction |
google_search |
Web search (DuckDuckGo by default; Brave/Apify optional) |
send_email |
Sends a styled HTML email via Gmail |
Quick start
Prerequisites: Claude Code, Node.js, and a Gmail account with an App Password. No other API keys required.
# 1. Clone
git clone <your-repo-url> && cd competitive-intel
# 2. Install the MCP server deps
cd mcp/apify && npm install && cd ../..
# 3. Create your config from the examples
cp company_context.example.json company_context.json
cp competitors.example.json competitors.json
# ...then edit both with your real details.
# 4. Set delivery env vars (add to ~/.zshrc or ~/.bashrc)
export GMAIL_USER="you@gmail.com"
export GMAIL_APP_PASSWORD="xxxx xxxx xxxx xxxx"
# export BRAVE_API_KEY="..." # optional, improves search quality
# 5. Register the MCP server
claude mcp add competitive-intel node "$(pwd)/mcp/apify/index.js" \
-e GMAIL_USER=$GMAIL_USER -e GMAIL_APP_PASSWORD=$GMAIL_APP_PASSWORD
# 6. Run it
claude
> /run-intel
See GUIDE.md for full setup, customization, and scheduling.
Usage
/run-intel # Full cycle — all agents, brief, battlecards, email
/run-intel focus:product # LinkedIn + news only — fast product check
/run-intel focus:hiring # Hiring tracker only
/run-intel focus:regulatory # Regulatory radar only
/run-intel no-email # Run everything, skip email
/daily-alert # Manual breaking-news check
The competitive-analysis skill also activates automatically when you ask competitor questions in plain language, e.g. "What is Competitor A doing in AI this quarter?" or "What are people saying about Competitor B in reviews?"
Configuration
| Variable | Required | Description |
|---|---|---|
GMAIL_USER |
Yes | Gmail address used to send the brief |
GMAIL_APP_PASSWORD |
Yes | Gmail App Password — generate here |
BRAVE_API_KEY |
No | Brave Search API key — free tier, improves search over DuckDuckGo |
No paid scraping key required. Search uses DuckDuckGo by default; crawling uses native HTTP fetch; LinkedIn coverage is best-effort via search-indexed posts. For full LinkedIn coverage you can add an Apify token and the linkedin-researcher agent switches to the Apify actor automatically.
Two files drive all quality — keep them current:
company_context.json— your positioning, differentiators, win/loss themes, ICP. Injected into every brief and battlecard.competitors.json— who to track, plus a free-textnotesfield per competitor that gives the agents starting context.
A note on ethics
This tool reads publicly available information: public posts, press, published reviews, public job listings. It does not scrape private data, bypass logins, or collect personal contact information. Keep it that way. See PRIVACY.md.
Built with
- Claude Code — agents and orchestration
- nodemailer — email delivery
- Optional: Apify and Brave Search API for higher-fidelity sourcing
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。