---
name: reinvent-watch
description: Report what changed in the re:Invent catalog since the last sync — new sessions, newly published times, retitled or moved sessions — and re-score the new arrivals against a profile. Use when the user says "what's new", "did they add anything", "check the catalog", or on a recurring schedule between now and the event.
---

# Watch the catalog for changes

The catalog is not a fixed document. Sessions arrive in waves, times appear
later, and sessions get retitled or dropped. Somebody who looked once in August
and never again will miss most of it.

## Run it

> **Where to run these.** Every command below needs the planner repo on the
> Python path. If there is no `reinvent/` directory in the current working
> directory, you are not in it — resolve this skill's own base directory (printed
> when the skill loaded, and usually a symlink), then go two levels up: that is
> the repo root. `cd` there first, or call `<repo>/bin/reinvent <command>` by
> absolute path, which works from anywhere. Do not tell the user to install
> anything; there are no dependencies.

```bash
python3 -m reinvent sync     # rotates the old snapshot to .previous.json
python3 -m reinvent delta    # compares new against previous
```

`sync` prints a one-line summary; `delta` prints the detail: added, newly given a
time, changed, removed.

If `delta` says there is no previous snapshot, this is the first sync — say so
and stop. There is nothing to compare.

## Then score the new arrivals

A raw list of 40 new sessions is not useful. Score them against the profile and
report only what the user should act on:

```bash
python3 -m reinvent shortlist --profile profiles/<name>.json --limit 15
```

Compare against their existing shortlist and report in this order:

1. **New sessions that beat things already on their list** — the only genuinely
   urgent item. Name what they should favorite now and what it displaces.
2. **Newly published times** — the trigger to move from research to booking.
   When a meaningful share of their shortlist has times, route to
   `reinvent-agenda`.
3. **Changes to sessions they already favorited** — a retitled or re-leveled
   session may no longer be what they signed up for.
4. **Removed sessions** — if one of their favorites is gone, they need a
   replacement, not a notification.

## When a wave is large, triage it in parallel

Most drops are small enough to score locally and report in a few lines. But when
`delta` reports more than roughly 50 new sessions, and the user's shortlist is
already built, the useful question — *which of these beats something I already
have?* — is worth a fan-out.

Score them locally first (`shortlist` re-ranks everything in one pass; never fan
that out). Then, for the new arrivals that scored well, dispatch 4–6 agents in one
message over disjoint slices to do the session-quality pass from
`reinvent-shortlist`: speaker track record, repeat-of-prior-year, level honesty,
sponsor-pitch smell. Merge, and report only what displaces something.

See [`docs/parallel-research.md`](../../docs/parallel-research.md).

## Keep it short

This is a recurring report. Discipline about length is what keeps it read:

- Nothing relevant changed → say exactly that in one line. Do not pad.
- Something changed → the specific codes, why they matter, and the one action.

Do not re-present the whole shortlist every time. The user has it.

## Running it on a schedule

This skill is a good fit for a recurring check between now and the event.
Weekly is about right in the months before; daily in the two weeks around
reservations opening, since that is when times land and things fill.

## Watch for these three moments

They are the ones that change what the user should be doing:

- **Times get published.** The phase flips from research to booking. Say so
  explicitly and hand off to `reinvent-agenda`.
- **The reservation date is announced.** AWS says reserved seating opens in
  "fall 2026"; historically it is one morning in early-to-mid October, Pacific.
  The moment there is a date, tell the user to put it in the calendar with the
  timezone converted, and route to `reinvent-reserve`. A finished schedule has to
  exist *before* that morning.
- **Reservations open.** Interactive sessions go within minutes. If the user has
  a shortlist but no reservation plan, that is now the urgent gap.

## After reservations open, keep watching

The job changes but does not end:

- **Seats free up constantly** as other people reshuffle. A session that was full
  at the open often has room days later or the night before. Re-checking is how
  people pick up the sessions they "missed" — say this explicitly, because most
  assume full means final.
- **New sessions can beat something already reserved.** Cancelling costs nothing,
  so a better arrival is worth acting on.
