competitor-landing-watch
Skill2 starsChanged 7 months agoMITView on GitHub
Daily diff of competitor landing pages — pricing changes, hero copy swaps, new features mentioned. Flags meaningful changes only.
In this repository4 other files it gives its agents.
- cold-email-personalizeSkill
- github-issue-triageSkill
- pr-first-reviewSkill
- weekly-mrr-digestSkill
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 0 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 121
JavaScript-rendered pages: if a competitor's page is fully client-rendered (React SPA with no SSR), the default fetch won't see content.
- Very specific: line 123
Too many false positives: if the skill reports daily changes that are actually just your own perception drift, raise importance_threshold …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Competitor Landing Watch
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.
What this skill does
Once a day (default 6am):
- Fetch each competitor URL in your watchlist.
- Extract the meaningful content — strip JS bundle hashes, ignore Cloudflare/CDN footer text, normalize whitespace, keep
<h1>-<h3>headings, hero/sub-hero copy, pricing blocks, feature lists, CTA button text. - Diff against yesterday's snapshot — semantic diff, not character-level. "Pro plan went from $49 to $59" beats "12 chars changed."
- Classify each change by importance:
- High — pricing, plan structure, new feature claim, removed feature, CTA change
- Medium — hero copy, social proof additions, new logos
- Low — minor wording, marketing copy nudges
- Surface only High + Medium in the daily digest. Low changes are logged but suppressed.
- Post to Slack/Discord/Telegram — formatted as a per-competitor section with the change quoted and a link to the page.
- Weekly rollup — every Friday, a "what shifted this week across all competitors" summary.
What this skill does NOT do
- It does NOT scrape login-gated pages. If a competitor's pricing is behind a "Talk to sales" wall, this skill can't see it.
- It does NOT do trademark monitoring or aggressive content scraping at scale. Default config respects robots.txt and waits 2 seconds between fetches.
- It does NOT replace a real CI tool like Crayon or Klue for enterprise teams. This is the lightweight version for solo founders and 2-person sales teams.
- It does NOT analyze your own product positioning — it watches competitors. Use a separate skill for self-audit.
How to invoke
Scheduled (recommended):
/cron daily "every day at 6am, run /competitor-landing-watch"Manual run on a specific URL:
/competitor-landing-watch https://competitor.com/pricingManual run on the full watchlist:
/competitor-landing-watch --allConfiguration
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: 90Models
The classification is pattern-aware but the importance ranking benefits from real reasoning:
- Recommended: Claude Sonnet 4.6 or GPT-5.5 standard for the diff classifier. It has to decide "is this change strategically meaningful?" — that's nuance.
- Cost-optimized: Haiku 4.5 for the per-page extraction (just HTML → structured content), Sonnet only for the diff scoring.
- Total cost: typically $0.20-0.50/day for a 5-competitor watchlist.
Sample output
🔍 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.Failure modes to watch
- JavaScript-rendered pages: if a competitor's page is fully client-rendered (React SPA with no SSR), the default
fetchwon't see content. Setfetch.use_browser: trueto use a headless Chrome via Playwright — slower and uses more compute. - Aggressive bot blocks: Cloudflare-protected pages may serve a challenge. The skill respects this and falls back to "fetch failed, retry tomorrow." Don't try to bypass it — it'll get your IP banned.
- Too many false positives: if the skill reports daily changes that are actually just your own perception drift, raise
importance_thresholdtohighor add patterns toignored_patterns.
Pairing
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.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

