# Changelog Watch

Track competitor changelogs and blogs for new releases, then diff against prior state and alert on notable updates.

## When to use

- A competitor's changelog, release notes, or blog needs periodic monitoring.
- You need to detect and summarize new feature announcements or product updates since the last check.
- A stakeholder asks for early warning on a specific competitor's roadmap moves.
- A prior snapshot of a competitor's changelog exists and needs to be diffed against the current page.

## Tools

- `browser-navigate` — load the competitor's changelog or blog page.
- `browser-extract` — pull structured content (entry titles, dates, descriptions) from the loaded page.
- `shell-execute` — diff the newly extracted content against the prior saved snapshot and compute what changed.
- `send-message` — alert a human or another agent in-session when a notable update is found.

## Playbook

1. Confirm the target competitor and the exact changelog or blog URL to monitor.
2. Use `browser-navigate` to load the changelog or blog page.
3. Use `browser-extract` to pull the list of entries: titles, dates, and summaries.
4. If a prior snapshot exists, use `shell-execute` to run a small script that diffs the new extraction against the saved snapshot and isolates net-new entries.
5. If no prior snapshot exists, treat the full current extraction as the baseline and note this is the first run.
6. Use `shell-execute` to save the current extraction as the new snapshot file for the next comparison.
7. Classify each new entry by apparent significance (major feature, minor fix, pricing change, etc.) based on wording.
8. If any new entry looks notable, use `send-message` to alert the relevant human or agent with a concise summary of what changed and why it matters.
9. If nothing changed since the last check, note that explicitly rather than staying silent, so the requester knows the watch ran.

## Failure modes

- 401/403 on any underlying API call -> missing Integration; stop and use `send-message` to ask a human to create it, naming the service and required scopes.
- Empty extraction result -> verify the URL and page structure are correct before assuming no updates; the page layout may have shifted.
- Rate limited by the target site -> back off and note the rate limit in memory so future runs space out requests.
- Changelog page structure changed and `browser-extract` returns unusable content -> fall back to browser-search to relocate the current changelog or blog URL.

## Done when

- The current changelog/blog snapshot has been extracted and saved via `shell-execute` for future diffing.
- A diff against the prior snapshot has been computed, and any notable new entries have been summarized.
- A `send-message` alert has been sent when notable updates exist, or an explicit "no changes" note has been recorded when none exist.