competitive-intel

competitive-intel

Autonomous competitive intelligence tracking competitors across LinkedIn, news, reviews, job postings, and regulatory signals, generating executive briefs and sales battlecards.

Category
Visit Server

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.json describing a fictional company. Copy them, drop in your own details, and the whole system re-points at your market. Your real company_context.json and competitors.json are git-ignored so they never get committed.


What it does

Weekly (e.g. Monday 9am):

  1. Pulls each competitor's recent LinkedIn posts
  2. Scans Google News, competitor sitemaps, and blog content
  3. Monitors community forums and Reddit for unfiltered feedback
  4. Checks G2, Capterra, and SoftwareAdvice for new user reviews
  5. Tracks competitor job postings for leading product signals
  6. Scans regulatory and industry developments relevant to your market
  7. Diffs the findings against last week's brief to surface what changed
  8. Writes a structured executive brief, framed from your company's angle
  9. Generates one sales battlecard per competitor
  10. 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-text notes field 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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured