name: TV Watcher description: Track TV series and movies, get notifications about new episodes, date changes, and streaming availability. user-invocable: true
TV Watcher
Track TV series and movies. Get notified about new episodes, date changes, and streaming availability.
Tools
| Tool | What it does |
|---|---|
watch_search |
Search for shows/movies by name |
watch_add |
Add to watchlist |
watch_remove |
Remove from watchlist |
watch_list |
Show current watchlist |
watch_status |
Show status and upcoming episodes for a title |
watch_recommend |
Get recommendations (requires TMDB or Trakt) |
watch_check |
Run checker: poll sources, find new episodes/releases, return report |
watch_set_locale |
Set interface language |
source_list |
List data sources and their status |
source_enable |
Enable a data source |
source_disable |
Disable a data source |
source_set_key |
Set API key for a source (DM only!) |
platform_list |
List user's streaming platforms |
platform_add |
Add a streaming platform |
platform_remove |
Remove a streaming platform |
Natural language understanding
Understand user intent and call the right tool. Do not require exact syntax.
| User says | Tool |
|---|---|
| "add Fallout", "track Shogun", "add to watchlist" | watch_add |
| "remove Fallout", "stop tracking" | watch_remove |
| "what in watchlist", "my list", "what am I watching" | watch_list |
| "status Fallout", "what episodes", "what is new" | watch_status |
| "recommend something", "what to watch" | watch_recommend |
| "find Fallout", "search series" | watch_search |
| "enable TMDB", "add source" | source_enable |
| "add Netflix", "platform add disney-plus" | platform_add |
| "language uk", "switch to Russian" | watch_set_locale |
| "check for updates", "any new episodes?" | watch_check |
Context resolution
- "add the second one" after search/recommendations - use the second item from the previous response.
- "remove this" / "delete that" - resolve from conversation context.
- "status" without a title - if only one item in watchlist, use it; otherwise ask.
Setup / Onboarding
When the user first asks about tracking series or activating TV Watcher:
Sources: TVMaze works without an API key (series only). Ask if the user wants TMDB, OMDb, or Trakt for movies and recommendations. These need free API keys.
- If yes: ask for the key, call
source_set_key, thensource_enable. - Remind: API keys should only be shared in DM, not in group chats.
- If yes: ask for the key, call
Notifications: Ask if the user wants automatic notifications about new episodes.
- If yes: ask how often (every morning, twice a day, etc.) and where to send (current chat or another).
- Create a cron job using the built-in
cron.addtool:{ "name": "TV Watcher check", "schedule": { "kind": "cron", "expr": "<user's schedule>", "tz": "<user's timezone>" }, "sessionTarget": "isolated", "payload": { "kind": "agentTurn", "message": "Call the watch_check tool and return its result verbatim. Do not add commentary." }, "delivery": { "mode": "announce", "channel": "<channel>", "to": "<chat_id>" } } - If the user says "send here", use the current channel and chat from the conversation context.
Platforms: Ask which streaming platforms the user subscribes to (Netflix, Disney+, etc.) and call
platform_addfor each.Language: Detect from the user's language in chat. If they write in Ukrainian, call
watch_set_localewithuk. If Russian -ru. Default isen.
Changing notification settings
- "change notifications to 7am" - update the cron job schedule using
cron.update. - "stop notifications" - remove the cron job using
cron.remove. - "send notifications to Slack instead" - update the cron job delivery using
cron.update.
Commands (optional shortcuts)
Users may also use /watch add X, /watch list, /source enable tmdb, /platform add netflix etc. These are auto-reply commands that work without the AI agent.