# Competitor monitor launch card

- Source: https://simeoncreatives.com/resources/competitor-monitor-launch-card
- Hub: AI & Business Automation

Tick this before the first scheduled run of a competitor change monitor. Watchlist, polite fetch, text diff, severity rules, one model step, a human review queue, and a kill switch.

Start with three to five rivals and one to three pages each. If you cannot clear the queue in ten minutes a week, the list is too long.
Expect the first two or three runs to be tuning. Noise on day one means fix the selector, not fire the monitor.

```mermaid
flowchart LR
    W["Watchlist"] --> F["Fetch"]
    F --> D["Diff (code)"]
    D --> S["Severity (code)"]
    S --> L["LLM describes"]
    L --> Q["Review queue"]
    Q --> N["Notify"]
```
*Code finds the change. The model describes it. A person decides what it means.*

## Watchlist

| Column | Fill in | Drop the row if |
| --- | --- | --- |
| url | One exact public page | It is a homepage with no clear purpose |
| selector | The main content area | You cannot isolate it from menus and banners |
| watch_for | Price, plans, limits, claims, new offers | Blank |
| decision_it_informs | The choice this page could change | Nobody can name one |
| owner | One person who clears alerts | Blank |

- [ ] Watchlist is small enough to review in ten minutes a week
- [ ] Every URL is public. No logins or paywall workarounds.

## Fetch

- [ ] Schedule set (weekly is a sane default)
- [ ] User-Agent names us and includes a contact address
- [ ] robots.txt respected. Site terms read.
- [ ] One request per page per run, with a pause between hosts
- [ ] Navigation, footers, banners, timestamps, and rotating blocks stripped before diffing
- [ ] Cleaned text and fetch date stored for every run

## Diff and severity

- [ ] The diff is computed by code, not by a model
- [ ] High severity rules written down (prices, free tiers, limits, discontinuations)
- [ ] Medium rules written down (new offers, plan names, your watch_for terms)
- [ ] Diffs above a line threshold skip the model and go straight to a human

## The one model step

- [ ] Prompt describes the change only. No advice, no motives, no recommended response.
- [ ] Output is JSON with summary and substantive. Validated before it enters the queue.
- [ ] The model has no tools. It cannot send, post, or write.
- [ ] Page text is treated as untrusted data
- [ ] The raw diff is always shown next to the summary. If they disagree, the diff wins.

## Review queue

| Action | Result | Feeds |
| --- | --- | --- |
| Approve | Short note to the team with diff and link | Decision log |
| Dismiss as noise | Closes. Diff pattern logged. | Cleaning rules |
| Dismiss as not relevant | Closes. Reason recorded. | Watchlist pruning |
| Escalate | Assigned to the decision owner | A human conversation |

- [ ] High alerts opened within one working day
- [ ] Medium and low batched into one weekly pass
- [ ] Every row has a named reviewer

## Kill switch and caps

- [ ] One flag pauses all new runs
- [ ] Hard cap on pages fetched and model calls per run
- [ ] Two failed fetches in a row alert the owner
- [ ] Pause flag tested once before launch

## After the first runs

- [ ] Noisy pages fixed or removed after run three
- [ ] Dismissal reasons reviewed monthly
- [ ] Rows nobody acted on in 90 days removed

## Related guides

- [Competitor change monitor with a human review queue](https://simeoncreatives.com/blog/competitor-change-monitor-with-human-review)
- [Human-in-the-loop for n8n and LLM jobs](https://simeoncreatives.com/blog/human-in-the-loop-n8n-llm-jobs)
- [Source-required LLM research](https://simeoncreatives.com/blog/source-required-llm-research-outputs)
- [Marketing context pack](https://simeoncreatives.com/resources/marketing-context-pack)
