一键导入
competitor-landing-watch
// Daily diff of competitor landing pages — pricing changes, hero copy swaps, new features mentioned. Flags meaningful changes only.
// Daily diff of competitor landing pages — pricing changes, hero copy swaps, new features mentioned. Flags meaningful changes only.
Write signal-driven first lines for cold outreach. Leads with a recent hire, product launch, podcast quote, or funding round. Avoids generic 'I noticed your company...' openers.
Triage GitHub issues: label by type/priority, ask for repro on bugs, close obvious duplicates with a link to the canonical thread.
First-pass GitHub PR review: OWASP Top 10, style violations, scope creep, breaking changes. Comments before the maintainer looks.
Pull Stripe + Mixpanel + GA4 once a week, compute MRR / churn / ARPU / activation, send a digest to Slack with anomalies flagged.
| name | competitor-landing-watch |
| description | Daily diff of competitor landing pages — pricing changes, hero copy swaps, new features mentioned. Flags meaningful changes only. |
| version | 1.0.0 |
| metadata | {"hermes":{"tags":["competitive-intelligence","monitoring","sales","marketing"]}} |
Daily snapshot + diff of competitor landing pages. Catches pricing changes the same day they happen, new feature claims, hero copy swaps, and quiet pages that go silent. Filters out the noise (deploy hashes, JS asset URLs, copyright year bumps) so you only see signal.
Once a day (default 6am):
<h1>-<h3> headings, hero/sub-hero copy, pricing blocks, feature lists, CTA button text.Scheduled (recommended):
/cron daily "every day at 6am, run /competitor-landing-watch"
Manual run on a specific URL:
/competitor-landing-watch https://competitor.com/pricing
Manual run on the full watchlist:
/competitor-landing-watch --all
watchlist:
- name: "Competitor A"
urls:
- "https://competitora.com"
- "https://competitora.com/pricing"
- "https://competitora.com/features"
- name: "Competitor B"
urls:
- "https://competitorb.com"
- "https://competitorb.com/pricing"
delivery:
channel: "#competitive-intel"
platform: "slack" # or "discord", "telegram", "email"
fetch:
delay_seconds: 2
user_agent: "CompetitorWatch/1.0 (+contact@yourdomain.com)"
respect_robots_txt: true
timeout_seconds: 30
diff:
importance_threshold: "medium" # send only medium+ changes
ignored_patterns:
- "Copyright (c) \\d{4}"
- "v[0-9]+\\.[0-9]+\\.[0-9]+"
- "build-[a-f0-9]{7,}"
storage:
snapshot_dir: "~/.hermes/skills/competitor-landing-watch/snapshots"
retain_days: 90
The classification is pattern-aware but the importance ranking benefits from real reasoning:
🔍 Competitor Landing Watch — 2026-04-30
🚨 Competitor A
Page: /pricing
Change (HIGH): Pro plan price $49 → $59 (+$10, +20%)
Change (HIGH): "Free trial" copy removed; CTA changed to "Book demo"
Likely signal: moving up-market, exiting self-serve. Worth a sales call
to any of your prospects who were comparing against them.
📍 Competitor B
Page: /
Change (MEDIUM): Hero swapped from "AI for everything" to "AI sales
agents that book meetings". Tightened positioning.
Page: /features
Change (LOW, suppressed): minor copy edits across 3 feature blurbs.
✅ Competitor C — no changes today.
✅ Competitor D — no changes today.
fetch won't see content. Set fetch.use_browser: true to use a headless Chrome via Playwright — slower and uses more compute.importance_threshold to high or add patterns to ignored_patterns.Pairs well with the closer personality for sales teams who want competitive context attached to outreach. Also pairs with cold-email-personalize — when a competitor changes pricing, that's a hook for outbound to their prospects.
For a full competitive intelligence crew (watch + research + market brief), see crewclaw.com/use-cases/competitor-intelligence.