deanpeters/competitive-intel-watch
Scheduled delta monitoring against a prior competitive snapshot. Use when tracking competitors on a cadence: material shifts only, cited evidence, battle-card update flags, runs unattended.
npx skills add https://github.com/deanpeters/Product-Manager-Skills --skill competitive-intel-watch
Monitor a competitive landscape for material shifts since the last run. Diff the world against the
previous snapshot; report only what changed, with evidence; flag which downstream artifacts need
updating. This is the skill that turns competitive research from a document into a cadence — the
weekly SIGINT sweep and monthly OSINT digest from the fusion cadence live here. A watch reports
*change*, not *state*: regenerating the same report weekly is theater, and "no material shifts this
cycle" is a valid, useful result.
Works best with: the previous Competitive Research Snapshot (pasted or attached) — the baseline
this run diffs against — and the competitor list (defaults to those in the snapshot).
Also useful: anything specific you're watching for this cycle, and a materiality bar adjustment if
the default needs tightening or loosening.
Input supplied inline with the invocation — text after the skill name, a pasted context dump, or an
appended ARGUMENTS: line — counts as answers already given. Use it against the question budget;
don't re-ask.
Arriving empty-handed? That works too. With no prior snapshot, the skill falls back to **baseline
mode**: it produces a first snapshot using the competitive-research-snapshot structure and stops —
the delta value starts on run two.
Example invocation: `Competitive intel watch — prior snapshot pasted below; this cycle I'm
specifically watching for pricing moves. [snapshot]`
autonomous-investigationcontract — question budget of 2 (this skill's tightest), search-plan gate, Fact/Inference/Assumption
labels, Just Enough Mode, stable schema, 4-option Final Step.
OSINT and HUMINT signals monthly and FININT on the quarterly pass — the fusion cadence in
intelligence-collection-disciplines is this
skill's operating rhythm.
plausibly act on it: pricing/packaging changes, launches and deprecations, positioning shifts,
leadership moves, funding or M&A, major customer wins/losses, credible roadmap signals. Below the
bar: cosmetic site changes, routine content marketing, minor releases. *Why it matters:* a watch
that cries wolf gets ignored by cycle three — the bar is what keeps the audience.
regenerate it. The empty changelog is a first-class outcome.
material shift maps to the battle card, positioning, pricing, or roadmap sections now stale.
product claims. Every claimed change carries a URL *and a date*.
competitive-research-snapshot first; the scope itself
changed (new segment, pivot) → re-snapshot from scratch rather than diffing a stale scope.
snapshot per the competitive-research-snapshot schema and stop.
If unanswered, proceed: baseline mode if no snapshot, default materiality bar otherwise.
memory of the market.
pricing pages, release notes, press, investor materials, credible news, review sites, job
postings), how facts will be separated from inference. Continue unless revised.
~~~markdown
Scope (from prior snapshot): | Prior snapshot date: | This run date: | Competitors checked:
For each material shift:
If nothing cleared the bar: "No material shifts this cycle." List
anything on the watchlist for next run.
| Downstream artifact | Sections needing update | Driven by |
|---|---|---|
| Battle card | | |
| Positioning statement | | |
| Pricing/packaging analysis | | |
| Roadmap assumptions | | |
Only rows with real updates; omit the rest.
~~~
A copy/paste fill-in version of this schema, with quality checks, lives in template.md.
battle-card-builder)Accept 1, 2, 3, 4, 1 and 2, Verbose Mode, or a custom path. On a scheduled, unattended
run, file the report and stop — the options wait for a human.
A changelog entry that clears the bar (fictional):
> ### Ledgerline — mid-tier plan removed from pricing page
> - What changed: the $49 "Team" tier no longer appears; feature list redistributed upward —
> Fact (pricing page vs. archived version, Jul 2 vs. Jun 1)
> - Evidence: URL + archive diff, dated
> - So what: entry price effectively doubled; our "cheaper to start" talking point is now
> stronger, and their SMB churn may spike — clears the bar for both sales and pricing owners
> - Confidence: high
The empty changelog done right:
> No material shifts this cycle. Below-the-bar activity logged for trend: [Competitor B] published
> three thought-leadership posts on compliance automation (watchlist: possible positioning shift if
> their product pages follow), and two senior-engineer job posts mention a language we haven't seen
> in their stack before (watchlist: TECHINT corroboration needed before this means anything).
See examples/sample.md for a complete worked run (fictional FSM-software
market) that diffs against the competitive-research-snapshot example's baseline — including an
assumption from that baseline getting confirmed by the diff. examples/sample-industrial.md
shows the quarterly-cadence industrial version, where a top risk gets *demoted* and that's
reported as material.
reader's question is "what changed?" — answer only that.
below-bar item reported costs credibility the real alerts will need later.
real sweep is exactly what a healthy watch produces most cycles.
run*. The date is half the evidence.
diffing the old frame. Re-baseline when the scope changes; say so in the run header.
shift probably didn't clear the bar — flags are how research becomes action.
autonomous-investigation (Workflow) — the governing protocolintelligence-collection-disciplines (Component) — the fusion cadence this watch runs oncompetitive-research-snapshot (Workflow) — produces the baseline this skill diffs againstbattle-card-builder (Workflow) — consumes the update flagspestel-analysis (Component) — the macro-environment sibling of this competitor-level watchmarket-intelligence/competitive-intel-watch-prompt.md in thehttps://github.com/deanpeters/product-manager-prompts repo.
Take deanpeters/competitive-intel-watch from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.