№ 0776Skill
OpenTable table-watcher plugin for Muse Code
Muse Code plugin that polls OpenTable for hard-to-get reservations on a schedule, notifies on a match and can auto-book at most one table if the user opts in.
# table-watcher A Muse Code plugin that watches OpenTable restaurants for hard-to-get reservations. It polls availability on a schedule, matches your time window and party size, and notifies you on a hit — or books the table automatically if you explicitly opt in. ## Features - **Batch watching** — each run checks a small sequential batch and advances a rotating pointer, so the full (restaurant × date × party size) space is swept over successive hourly runs. One provider call at a time, paced, with automatic backoff on rate limits. - **Auto-book (opt-in)** — books at most **one** table per run: the highest-priority hit (your restaurant ranking, then earliest date/time). Lower-priority hits notify only, so you never double-book yourself. - **Scout reports** — `--scout` sweeps the entire range and writes a Markdown availability report (`logs/scout_YYYY-MM-DD.md`): which dates have tables, per restaurant and party size. Run it weekly for discovery. - **Notifications that reach you** — hits fan out to a shell command, an [ntfy.sh](https://ntfy.sh) topic (push alerts, no account), and/or a JSON webhook (Discord, Slack, Zapier, your own service). - **Operational commands** — `--status` shows queue progress and last hits; `--cancel` cancels a reservation by confirmation ID. - **Provider architecture** — OpenTable ships today; Resy/Tock plug into the same `check()`/`book()` interface when their CLIs exist. ## How it compares | | table-watcher | table-scout | opentable-mcp | resy-notifier | |---|---|---|---|---| | Install | Muse Code plugin (`/plugins`) | manual script + launchd | MCP server | manual script | | Platforms | OpenTable (Resy/Tock-ready) | Resy, OpenTable, Tock | OpenTable | Resy | | Auto-book | yes, one best hit per run | no (alerts only) | via MCP tools | no | | Discovery report | yes (`--scout`) | yes (weekly email) | no | no | | Notifications | shell, ntfy, webhook | email | client-dependent | ntfy | | Cancel reservations | yes (`--cancel`) | no | via MCP tools | no | ## How it works 1. You configure the restaurants (by OpenTable `rid`), party sizes, date range, and time window in `scripts/config.json`. 2. `scripts/watch.py` checks a small batch of (restaurant × date × party size) combos each run via the `opentable` CLI, keeping a rotating pointer in `state/` so successive runs sweep the whole space. 3. On a hit





ChatForm
Tgmlabs