Skip to main content
ClaudeWave
Skill6.8k repo starsupdated 4d ago

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.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/deanpeters/Product-Manager-Skills /tmp/competitive-intel-watch && cp -r /tmp/competitive-intel-watch/skills/competitive-intel-watch ~/.claude/skills/competitive-intel-watch
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# Competitive Intel Watch

## Purpose

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.

## Input

**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]`

## Key Concepts

- **Governing protocol:** honors the [`autonomous-investigation`](../autonomous-investigation/SKILL.md)
  contract — question budget of 2 (this skill's tightest), search-plan gate, Fact/Inference/Assumption
  labels, Just Enough Mode, stable schema, 4-option Final Step.
- **Discipline mix:** SIGINT first (site diffs, pricing pages, job posts — the freshest layer), with
  OSINT and HUMINT signals monthly and FININT on the quarterly pass — the fusion cadence in
  [`intelligence-collection-disciplines`](../intelligence-collection-disciplines/SKILL.md) is this
  skill's operating rhythm.
- **The materiality bar.** Report a change only if a sales rep, pricing owner, or roadmap owner would
  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.
- **Delta discipline.** Read the prior snapshot fully before searching; diff against it, never
  regenerate it. The empty changelog is a first-class outcome.
- **Update flags close the loop.** Research is only done when it names the artifact it changes — each
  material shift maps to the battle card, positioning, pricing, or roadmap sections now stale.
- **Do-not-invent list:** competitors, features, pricing, market share, customer wins, roadmap items,
  product claims. Every claimed change carries a URL *and a date*.
- **When NOT to use:** no baseline exists and you want the full treatment → run
  [`competitive-research-snapshot`](../competitive-research-snapshot/SKILL.md) first; the scope itself
  changed (new segment, pivot) → re-snapshot from scratch rather than diffing a stale scope.

## Application

1. **Determine mode.** Prior snapshot provided → delta mode. None → baseline mode: produce a
   snapshot per the `competitive-research-snapshot` schema and stop.
2. **Credit inline context**, then ask only the unanswered questions (max 2):
   1. Do you have the previous snapshot, or should I create a baseline?
   2. Anything specific you're watching for this cycle?
   If unanswered, proceed: baseline mode if no snapshot, default materiality bar otherwise.
3. **Read the prior snapshot fully before searching.** The diff target is the document, not your
   memory of the market.
4. **Show the 3-bullet search plan** — what you'll check per competitor, source types (company sites,
   pricing pages, release notes, press, investor materials, credible news, review sites, job
   postings), how facts will be separated from inference. Continue unless revised.
5. **Sweep and filter through the materiality bar.** When nothing clears it, say so plainly.
6. **Emit the schema below exactly** — runs must be diffable.

### Output schema (do not reorder)

~~~markdown
# Competitive Watch Report

## 1. Run Header
**Scope (from prior snapshot):** | **Prior snapshot date:** | **This run date:** | **Competitors checked:**

## 2. Changelog (Material Shifts Only)
For each material shift:
### [Competitor] — [4 to 8 word change summary]
- **What changed:** [1-2 bullets, labeled Fact/Inference]
- **Evidence:** [URL, date]
- **So what:** [why it clears the materiality bar]
- **Confidence:** [high / medium / low]

If nothing cleared the bar: "No material shifts this cycle." List
anything on the watchlist for next run.

## 3. Update Flags
| Downstream artifact | Sections needing update | Driven by |
|---|---|---|
| Battle card | | |
| Positioning statement | | |
| Pricing/packaging analysis | | |
| Roadmap assumptions | | |
Only rows with real updates; omit the rest.

## 4. Watchlist for Next Run
- [Signals below the bar but trending]
- [Open questions this run could not resolve]

### Assumptions to Validate
- [Assumption 1] / [Assumption 2] / [Assumption 3]
~~~

A copy/paste fill-in version of this schema, with quality checks, lives in [`template.md`](template.md).

### Final Step (offer exactly 4 options)

1. Update the battle card sections flagged above ([`battle-card-builder`](../battle-card-builder/SKILL.md))
2. Deep-dive the most significant change
3. Produce the refreshed full snapshot (new baseline)
4. Adjust the materiality bar or competitor list for next run

Accept `1`, `2`, `3`, `4`, `1 and 2`, `Verbose Mode`, or a custom path. On a scheduled, unattended
r