Competitor Watch — Your 24/7 Competitive Intelligence Agent
They ship a feature. You know in minutes, not weeks.
Competitor Watch monitors your competitive landscape automatically—websites, product pages, pricing, blog posts, social accounts—and alerts you when something changes. No more finding out your rival launched that feature you've been building after their customers already know about it.
What makes it different: Tiered monitoring (fierce rivals get deep tracking, adjacents get high-level), intelligent diffing (highlights what matters, filters noise), and digestible summaries that tell you so what instead of dumping raw HTML changes.
The Problem
You're a founder or product leader. You have 3-5 direct competitors and maybe a dozen companies in adjacent spaces. They're all shipping, pricing, pivoting, and posting. You check manually when you remember (usually when a customer mentions it). By the time you notice a major move, it's too late to react strategically.
Manual competitive intelligence doesn't scale. Bookmarking competitor URLs and checking them weekly doesn't work. You need an agent that watches constantly and only interrupts when something actually matters.
What It Does
- - Website Monitoring: Track homepage, product pages, pricing pages, docs
- Change Detection: Smart diffing that filters out timestamps, session IDs, ads
- Content Extraction: Pull new blog posts, feature announcements, case studies
- Pricing Tracking: Detect price changes, plan additions, new tiers
- Social Listening: Monitor Twitter/LinkedIn for major announcements
- Tiered Tracking: Deep monitoring for direct rivals, high-level for adjacents
- Smart Alerts: Summaries that tell you what changed and why it matters
Setup
- 1. Run
scripts/setup.sh to initialize config and data directories - Edit
~/.config/competitor-watch/config.json with your competitive landscape - Add competitors: INLINECODE2
- Test monitoring: INLINECODE3
- Set up cron or heartbeat: Run
check.sh every 30-60 minutes
Config
Config lives at ~/.config/competitor-watch/config.json. See config.example.json for full schema.
Key sections:
- - competitors — List of companies to track (name, URLs, tier, tags)
- tiers — Define monitoring depth (fierce, important, watching, adjacent)
- monitoring — What to track (pages, content, pricing, social)
- diffing — Change detection settings (ignore patterns, similarity threshold)
- alerts — When and how to notify (min change size, cooldown, channel)
- scheduling — Check frequency per tier
Tiered Monitoring
Fierce (direct competitors in every deal):
- - Check every 30 minutes
- Monitor: pricing, features, docs, blog, social
- Alert on: any meaningful change
- Keep: 90 days of snapshots
Important (frequent competitive overlap):
- - Check every 2 hours
- Monitor: pricing, features, blog
- Alert on: medium+ changes
- Keep: 30 days of snapshots
Watching (potential future threat):
- - Check daily
- Monitor: homepage, blog
- Alert on: major changes only
- Keep: 14 days of snapshots
Adjacent (different market, relevant trends):
- - Check weekly
- Monitor: blog, major announcements
- Alert on: significant pivots or launches
- Keep: 7 days of snapshots
Scripts
| Script | Purpose |
|---|
| INLINECODE7 | Initialize config and data directories |
| INLINECODE8 |
Add a competitor (interactive or flags) |
|
scripts/check.sh | Run monitoring sweep (all or specific tier) |
|
scripts/diff.sh | Compare snapshots, generate change report |
|
scripts/report.sh | Format digest of recent changes |
All scripts support --dry-run for testing without storing snapshots.
Monitoring Cycle
Run scripts/check.sh on schedule (cron or heartbeat). The check:
- 1. Loads competitor list filtered by tier schedule
- Fetches each configured URL (web_fetch or browser if needed)
- Stores snapshot with timestamp
- Compares to previous snapshot (calls
diff.sh) - Scores change significance (text diff size, pricing changes, new sections)
- Generates alert if threshold met
- Updates last-check timestamp and change log
Diffing Logic
INLINECODE15 does intelligent comparison:
Filters out noise:
- - Timestamps, session IDs, cache busters (
?v=123) - Dynamic ad content, tracking pixels
- Social share counts, "Last updated" dates
- Common CMS artifacts
Highlights signal:
- - New product sections or features
- Pricing/plan changes (keyword matching)
- Added/removed navigation items
- New blog posts or case studies
- Significant text additions (>200 words)
Change scoring:
- - Minor: <5% content change, cosmetic updates → No alert
- Medium: 5-15% change, new blog post → Alert if Important+ tier
- Major: >15% change, pricing update, new product section → Always alert
- Critical: Explicit keywords ("launching", "announcing", "now available") → Urgent alert
Alerts
When a meaningful change is detected, report.sh generates a summary:
CODEBLOCK0
Alerts respect cooldown (don't spam on every tiny update) and tier settings.
Adding Competitors
Interactive mode:
CODEBLOCK1
Flag mode:
CODEBLOCK2
Managing Competitors
CODEBLOCK3
Data Files
CODEBLOCK4
Scheduling
Cron (recommended for production)
CODEBLOCK5
Heartbeat (for integrated monitoring)
Add to your
HEARTBEAT.md:
CODEBLOCK6
Integration with Clawdbot
Alerts can be sent via:
- - Telegram/Discord/Slack: Direct message with summary
- File: Write report to workspace, mention in next interaction
- Heartbeat: Surface in proactive check ("Acme Corp updated pricing")
Best Practices
Tier carefully:
- - Only 2-3 competitors should be "fierce" (high monitoring cost)
- Use "important" for companies in 30%+ of deals
- "Watching" for emerging threats or fast-growing startups
- "Adjacent" for market signals, not tactical intel
Focus on delta:
- - You don't need to read their entire website daily
- The diff is the product—new features, pricing changes, messaging shifts
- Archive old snapshots after tier retention window
Combine with human intel:
- - Competitor Watch automates the tedious part (checking URLs)
- You still need: sales call notes, customer chatter, market analysis
- Use this skill to ensure you never miss the public signals
Avoid over-alerting:
- - Set thresholds appropriate to tier (minor changes on fierce rivals OK, but only major for adjacents)
- Use cooldown periods (don't alert twice in 6 hours for same page)
- Weekly digest > real-time spam for lower tiers
Use Cases
Product team:
- - Track feature launches → Validate roadmap prioritization
- Monitor docs/changelogs → Understand their capabilities
- Watch integrations page → Know their ecosystem moves
Sales/GTM:
- - Pricing changes → Update battlecards and objection handling
- New case studies → Understand their positioning and wins
- Messaging shifts → Adjust competitive positioning
Marketing:
- - Content velocity → Benchmark publishing cadence
- Campaign themes → Spot market narrative shifts
- Social engagement → Understand what resonates
Founders:
- - High-level awareness without daily manual checking
- React strategically to major moves (launches, pivots, funding)
- Focus on building, not obsessing over competitors
Privacy & Ethics
- - Only monitors public web content
- Respects robots.txt and rate limits
- No scraping of authenticated/paywalled content
- No impersonation or deceptive data collection
- Use for competitive intelligence, not corporate espionage
Future Enhancements
- - Social listening: Twitter/LinkedIn post monitoring (beyond just checking profile)
- GitHub tracking: Public repo commits, release notes, contributor activity
- Product Hunt launches: Auto-add when competitor ships on PH
- App store monitoring: iOS/Android app updates, rating changes
- Job postings: Track hiring (eng roles = product expansion signals)
- LLM-powered summaries: GPT-4 analysis of change significance
- Slack/Discord webhooks: Push alerts to team channels
- Browser automation: Handle JS-heavy sites that web_fetch can't parse
Know what they're shipping. Before their customers do.
竞争对手监控 — 你的24/7竞争情报代理
他们发布一项功能。你在几分钟内就能知道,而不是几周。
竞争对手监控自动监测你的竞争格局——网站、产品页面、定价、博客文章、社交媒体账号——并在发生变化时向你发出警报。不再需要等到竞争对手的客户已经知道后,你才发现他们发布了你一直在开发的功能。
它的独特之处: 分层监控(激烈竞争对手深度追踪,相邻竞争对手高层监控)、智能差异分析(突出重要内容,过滤噪音)、以及可读性强的摘要,告诉你所以呢,而不是倾倒原始HTML变化。
问题
你是一位创始人或产品负责人。你有3-5个直接竞争对手,可能还有十几家相邻领域的公司。他们都在发布、定价、转型和发帖。你只在想起来的时候手动检查(通常是在客户提到时)。等你注意到重大动向时,已经来不及做出战略性反应。
手动竞争情报无法规模化。收藏竞争对手的URL并每周检查一次行不通。你需要一个持续监控、只在真正重要时才打扰你的代理。
它能做什么
- - 网站监控:追踪首页、产品页面、定价页面、文档
- 变化检测:智能差异分析,过滤时间戳、会话ID、广告
- 内容提取:抓取新博客文章、功能公告、案例研究
- 定价追踪:检测价格变化、套餐新增、新层级
- 社交监听:监控Twitter/LinkedIn上的重大公告
- 分层追踪:直接竞争对手深度监控,相邻竞争对手高层监控
- 智能警报:告诉你什么变了以及为什么重要的摘要
设置
- 1. 运行 scripts/setup.sh 初始化配置和数据目录
- 编辑 ~/.config/competitor-watch/config.json 配置你的竞争格局
- 添加竞争对手:scripts/add-competitor.sh 公司名称 https://example.com --tier=fierce
- 测试监控:scripts/check.sh --dry-run
- 设置cron或心跳:每30-60分钟运行一次 check.sh
配置
配置文件位于 ~/.config/competitor-watch/config.json。完整模式参见 config.example.json。
关键部分:
- - competitors — 要追踪的公司列表(名称、URL、层级、标签)
- tiers — 定义监控深度(fierce、important、watching、adjacent)
- monitoring — 要追踪的内容(页面、内容、定价、社交)
- diffing — 变化检测设置(忽略模式、相似度阈值)
- alerts — 何时以及如何通知(最小变化量、冷却时间、渠道)
- scheduling — 按层级的检查频率
分层监控
Fierce(每笔交易中的直接竞争对手):
- - 每30分钟检查一次
- 监控:定价、功能、文档、博客、社交
- 警报:任何有意义的变化
- 保留:90天的快照
Important(频繁竞争重叠):
- - 每2小时检查一次
- 监控:定价、功能、博客
- 警报:中等及以上变化
- 保留:30天的快照
Watching(潜在未来威胁):
- - 每天检查一次
- 监控:首页、博客
- 警报:仅重大变化
- 保留:14天的快照
Adjacent(不同市场,相关趋势):
- - 每周检查一次
- 监控:博客、重大公告
- 警报:重大转型或发布
- 保留:7天的快照
脚本
| 脚本 | 用途 |
|---|
| scripts/setup.sh | 初始化配置和数据目录 |
| scripts/add-competitor.sh |
添加竞争对手(交互式或标志模式) |
| scripts/check.sh | 运行监控扫描(全部或特定层级) |
| scripts/diff.sh | 比较快照,生成变化报告 |
| scripts/report.sh | 格式化近期变化摘要 |
所有脚本支持 --dry-run 用于测试而不存储快照。
监控周期
按计划运行 scripts/check.sh(cron或心跳)。检查过程:
- 1. 加载按层级计划过滤的竞争对手列表
- 获取每个配置的URL(web_fetch或必要时使用浏览器)
- 存储带时间戳的快照
- 与之前的快照比较(调用 diff.sh)
- 对变化重要性评分(文本差异大小、定价变化、新增部分)
- 如果达到阈值则生成警报
- 更新上次检查时间戳和变更日志
差异分析逻辑
diff.sh 进行智能比较:
过滤噪音:
- - 时间戳、会话ID、缓存破坏器(?v=123)
- 动态广告内容、追踪像素
- 社交分享计数、最后更新日期
- 常见CMS工件
突出信号:
- - 新产品部分或功能
- 定价/套餐变化(关键词匹配)
- 新增/删除的导航项
- 新博客文章或案例研究
- 显著文本增加(>200字)
变化评分:
- - 轻微:<5%内容变化,外观更新 → 无警报
- 中等:5-15%变化,新博客文章 → 如果是Important+层级则警报
- 重大:>15%变化,定价更新,新产品部分 → 始终警报
- 关键:明确关键词(发布、宣布、现已可用) → 紧急警报
警报
当检测到有意义的变化时,report.sh 生成摘要:
🚨 竞争对手变化:Acme Corp(激烈竞争对手)
页面:https://acme.com/pricing
检测时间:2026-02-11 13:45 EST
变化:重大(定价更新 + 新层级)
变化内容:
• 新增企业层级,每月999美元
• 专业层级价格从49美元上涨至79美元(+61%)
• 所有套餐新增自定义AI工作流功能
原始差异:~/.config/competitor-watch/data/snapshots/acme-corp/pricing/diff-2026-02-11-1345.txt
—
查看完整快照:check.sh --snapshot acme-corp pricing
警报遵循冷却时间(不会在每次微小更新时轰炸)和层级设置。
添加竞争对手
交互模式:
bash
scripts/add-competitor.sh
提示输入:名称、首页、层级、要追踪的页面、标签
标志模式:
bash
scripts/add-competitor.sh Acme Corp https://acme.com \
--tier fierce \
--pages pricing,features,blog \
--tags direct-competitor,ai-tools \
--twitter @acmecorp
管理竞争对手
bash
列出所有
scripts/check.sh --list
检查特定竞争对手
scripts/check.sh --competitor Acme Corp
仅检查特定层级
scripts/check.sh --tier fierce
查看变化历史
scripts/report.sh --competitor Acme Corp --days 30
更新层级
(编辑 ~/.config/competitor-watch/config.json,或重新运行 add-competitor)
数据文件
~/.config/competitor-watch/
├── config.json # 竞争对手列表和设置
├── data/
│ ├── snapshots/
│ │ ├── acme-corp/
│ │ │ ├── pricing/
│ │ │ │ ├── 2026-02-11-1000.txt
│ │ │ │ ├── 2026-02-11-1030.txt
│ │ │ │ └── diff-2026-02-11-1030.txt
│ │ │ └── features/...
│ │ └── competitor-b/...
│ ├── change-log.json # 所有检测到的变化
│ ├── last-checks.json # 每个URL上次检查时间
│ └── alert-history.json # 已发送的警报(用于冷却)
└── reports/
└── daily-digest-2026-02-11.md
计划任务
Cron(推荐用于生产环境)
bash
每30分钟检查激烈竞争对手
/30 * /path/to/skills/competitor-watch/scripts/check.sh --tier fierce
每2小时检查重要竞争对手
0
/2 /path/to/skills/competitor-watch/scripts/check.sh --tier important
每天早上9点生成日报摘要
0 9
* /path/to/skills/competitor-watch/scripts/report.sh --daily
心跳(用于集成监控)
添加到你的 HEARTBEAT.md:
markdown
竞争对手监控
- - 运行 skills/competitor-watch/scripts/check.sh --tier