№ 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 —
--scoutsweeps 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 topic (push alerts, no account), and/or a JSON
webhook (Discord, Slack, Zapier, your own service). - Operational commands —
--statusshows queue progress and last hits;--cancelcancels a reservation by confirmation ID. - Provider architecture — OpenTable ships today; Resy/Tock plug into the
samecheck()/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 | client-dependent | ntfy | |
| Cancel reservations | yes (--cancel) |
no | via MCP tools | no |
How it works
- You configure the restaurants (by OpenTable
rid), party sizes, date range,
and time window inscripts/config.json. scripts/watch.pychecks a small batch of (restaurant × date × party size)
combos each run via theopentableCLI, keeping a rotating pointer instate/so successive runs sweep the whole space.- On a hit



