Streaming Buddy 📺
Personal streaming assistant that learns your taste, tracks your watching habits, and suggests what to watch next.
Features
- Search & Info: Find movies/TV shows with TMDB data
- Watch Tracking: Track what you're currently watching with progress
- Learning System: Learns your preferences from likes/dislikes/ratings
- Smart Recommendations: Personalized suggestions based on your taste
- Mood-Based Search: Find content by mood (exciting, relaxing, scary, etc.)
- Availability Check: Shows which of your services has the content
- Match Explanation: Explains why a title matches your preferences
Commands
| Command |
Action |
/stream |
Show status with all commands |
/stream search <title> |
Search for movies/TV shows |
/stream info <id> [tv|movie] |
Detailed info + availability |
/stream watch <id> [tv|movie] |
Start tracking a title |
/stream progress S01E05 |
Update progress on current show |
/stream done [1-5] |
Mark as finished + rate (auto-learns) |
/stream like [id] |
Mark as liked → learns preferences |
/stream dislike [id] |
Mark as disliked → learns preferences |
/stream suggest [service] [tv|movie] |
Personalized recommendations |
/stream mood <mood> |
Search by mood |
/stream surprise |
Random recommendation |
/stream why <id> |
Explain why this matches you |
/stream watchlist |
Show watchlist |
/stream watchlist add <id> |
Add to watchlist |
/stream history |
View watch history |
/stream profile |
Show your taste profile |
/stream services |
Manage streaming services |
/stream services add <name> |
Add a service |
/stream services remove <name> |
Remove a service |
Mood Options
| Mood |
Genres |
exciting |
Action, Thriller, Sci-Fi, Adventure |
relaxing |
Comedy, Animation, Family, Documentary |
thoughtful |
Drama, Mystery, History |
scary |
Horror, Thriller |
romantic |
Romance, Drama |
funny |
Comedy, Animation |
Supported Services
netflix, amazon-prime, disney-plus, apple-tv-plus
youtube-premium, wow, paramount-plus, crunchyroll
joyn, rtl, magenta, mubi
Learning System
The skill learns your preferences from:
Ratings: When you finish with /stream done [1-5]:
- Rating 4-5: Adds genres/themes/actors to "liked"
- Rating 1-2: Adds genres to "avoided"
Explicit Feedback: /stream like and /stream dislike:
- Extracts genres, themes, actors, directors
- Updates preference weights
Preference Profile includes:
- Genre preferences (weighted scores)
- Liked/disliked themes
- Favorite actors & directors
- Custom mood mappings
Handler Usage
# Core commands
handler.sh status $WORKSPACE
handler.sh search "severance" $WORKSPACE
handler.sh info 95396 tv $WORKSPACE
handler.sh watch 95396 tv $WORKSPACE
handler.sh progress S01E05 $WORKSPACE
handler.sh done 5 "Great show!" $WORKSPACE
# Learning commands
handler.sh like $WORKSPACE # Like current watching
handler.sh like 12345 movie $WORKSPACE # Like specific title
handler.sh dislike $WORKSPACE
handler.sh why 95396 tv $WORKSPACE
handler.sh profile $WORKSPACE
# Recommendation commands
handler.sh suggest $WORKSPACE # All services, all types
handler.sh suggest prime movie $WORKSPACE # Prime movies only
handler.sh mood exciting $WORKSPACE
handler.sh mood relaxing tv $WORKSPACE
handler.sh surprise $WORKSPACE
# List commands
handler.sh watchlist list $WORKSPACE
handler.sh watchlist add 12345 tv $WORKSPACE
handler.sh history $WORKSPACE
# Service management
handler.sh services list $WORKSPACE
handler.sh services add netflix $WORKSPACE
handler.sh services remove netflix $WORKSPACE
Data Files
All data stored in $WORKSPACE/memory/streaming-buddy/:
| File |
Purpose |
config.json |
TMDB API key, region, language |
profile.json |
User profile metadata |
services.json |
Active streaming services |
preferences.json |
Learned taste preferences |
watching.json |
Currently watching |
watchlist.json |
Want to watch list |
history.json |
Watched + ratings |
cache/*.json |
API response cache (24h) |
Setup
- Get TMDB API key: https://www.themoviedb.org/settings/api
- Store in
memory/streaming-buddy/config.json:{
"tmdbApiKey": "your_api_key",
"region": "DE",
"language": "de-DE"
}
- Run
/stream setup to configure services
Conversation Examples
Mood-based search:
User: I want something exciting tonight
Bot: 🎬 Exciting picks for you:
1. Reacher S3 (Prime) ⭐8.5
2. Jack Ryan (Prime) ⭐8.1
...
Learning from feedback:
User: /stream done 5
Bot: ✅ Severance marked as done (⭐5)
📚 Learned: +Drama, +Mystery, +Sci-Fi
Actors: Adam Scott, Britt Lower saved to favorites
Explaining recommendations:
User: /stream why 95396
Bot: 🎯 Why Severance matches you:
✓ Genre "Drama" (you like this, +2)
✓ Genre "Mystery" (you like this, +2)
✓ Theme "office" in your preferences
✓ With Adam Scott (your favorite)
Similar to: Fallout ⭐5
Language Support
- Language detected from
config.json (language: "de-DE" or "en")
- All output adapts to configured language
- Commands work in any language
Requirements
jq (JSON processor)
curl (HTTP client)
bash 4.0+
- TMDB API key (free)
References
- services.md — Full list of streaming services
- tmdb-api.md — TMDB API usage
- justwatch.md — Availability data integration
1---2name: streaming-buddy3description: Personal streaming assistant with learning preferences. Tracks what you're watching, learns your taste, and suggests what to watch next based on your services, mood, and preferences. Use when asked about movies, TV shows, streaming services, what to watch, or tracking viewing progress. Triggers: /stream, 'what should I watch', 'recommend something', mentioning Netflix/Prime/Disney+/Apple TV+, asking about series/seasons/episodes, mood-based requests like 'something exciting'.4---56# Streaming Buddy 📺78Personal streaming assistant that learns your taste, tracks your watching habits, and suggests what to watch next.910## Features1112- **Search & Info**: Find movies/TV shows with TMDB data13- **Watch Tracking**: Track what you're currently watching with progress14- **Learning System**: Learns your preferences from likes/dislikes/ratings15- **Smart Recommendations**: Personalized suggestions based on your taste16- **Mood-Based Search**: Find content by mood (exciting, relaxing, scary, etc.)17- **Availability Check**: Shows which of your services has the content18- **Match Explanation**: Explains why a title matches your preferences1920## Commands2122| Command | Action |23|---------|--------|24| `/stream` | Show status with all commands |25| `/stream search <title>` | Search for movies/TV shows |26| `/stream info <id> [tv\|movie]` | Detailed info + availability |27| `/stream watch <id> [tv\|movie]` | Start tracking a title |28| `/stream progress S01E05` | Update progress on current show |29| `/stream done [1-5]` | Mark as finished + rate (auto-learns) |30| `/stream like [id]` | Mark as liked → learns preferences |31| `/stream dislike [id]` | Mark as disliked → learns preferences |32| `/stream suggest [service] [tv\|movie]` | Personalized recommendations |33| `/stream mood <mood>` | Search by mood |34| `/stream surprise` | Random recommendation |35| `/stream why <id>` | Explain why this matches you |36| `/stream watchlist` | Show watchlist |37| `/stream watchlist add <id>` | Add to watchlist |38| `/stream history` | View watch history |39| `/stream profile` | Show your taste profile |40| `/stream services` | Manage streaming services |41| `/stream services add <name>` | Add a service |42| `/stream services remove <name>` | Remove a service |4344## Mood Options4546| Mood | Genres |47|------|--------|48| `exciting` | Action, Thriller, Sci-Fi, Adventure |49| `relaxing` | Comedy, Animation, Family, Documentary |50| `thoughtful` | Drama, Mystery, History |51| `scary` | Horror, Thriller |52| `romantic` | Romance, Drama |53| `funny` | Comedy, Animation |5455## Supported Services5657- `netflix`, `amazon-prime`, `disney-plus`, `apple-tv-plus`58- `youtube-premium`, `wow`, `paramount-plus`, `crunchyroll`59- `joyn`, `rtl`, `magenta`, `mubi`6061## Learning System6263The skill learns your preferences from:64651. **Ratings**: When you finish with `/stream done [1-5]`:66 - Rating 4-5: Adds genres/themes/actors to "liked"67 - Rating 1-2: Adds genres to "avoided"68692. **Explicit Feedback**: `/stream like` and `/stream dislike`:70 - Extracts genres, themes, actors, directors71 - Updates preference weights72733. **Preference Profile** includes:74 - Genre preferences (weighted scores)75 - Liked/disliked themes76 - Favorite actors & directors77 - Custom mood mappings7879## Handler Usage8081```bash82# Core commands83handler.sh status $WORKSPACE84handler.sh search "severance" $WORKSPACE85handler.sh info 95396 tv $WORKSPACE86handler.sh watch 95396 tv $WORKSPACE87handler.sh progress S01E05 $WORKSPACE88handler.sh done 5 "Great show!" $WORKSPACE8990# Learning commands91handler.sh like $WORKSPACE # Like current watching92handler.sh like 12345 movie $WORKSPACE # Like specific title93handler.sh dislike $WORKSPACE94handler.sh why 95396 tv $WORKSPACE95handler.sh profile $WORKSPACE9697# Recommendation commands98handler.sh suggest $WORKSPACE # All services, all types99handler.sh suggest prime movie $WORKSPACE # Prime movies only100handler.sh mood exciting $WORKSPACE101handler.sh mood relaxing tv $WORKSPACE102handler.sh surprise $WORKSPACE103104# List commands105handler.sh watchlist list $WORKSPACE106handler.sh watchlist add 12345 tv $WORKSPACE107handler.sh history $WORKSPACE108109# Service management110handler.sh services list $WORKSPACE111handler.sh services add netflix $WORKSPACE112handler.sh services remove netflix $WORKSPACE113```114115## Data Files116117All data stored in `$WORKSPACE/memory/streaming-buddy/`:118119| File | Purpose |120|------|---------|121| `config.json` | TMDB API key, region, language |122| `profile.json` | User profile metadata |123| `services.json` | Active streaming services |124| `preferences.json` | Learned taste preferences |125| `watching.json` | Currently watching |126| `watchlist.json` | Want to watch list |127| `history.json` | Watched + ratings |128| `cache/*.json` | API response cache (24h) |129130## Setup1311321. Get TMDB API key: https://www.themoviedb.org/settings/api1332. Store in `memory/streaming-buddy/config.json`:134 ```json135 {136 "tmdbApiKey": "your_api_key",137 "region": "DE",138 "language": "de-DE"139 }140 ```1413. Run `/stream setup` to configure services142143## Conversation Examples144145**Mood-based search:**146```147User: I want something exciting tonight148Bot: 🎬 Exciting picks for you:149 1. Reacher S3 (Prime) ⭐8.5150 2. Jack Ryan (Prime) ⭐8.1151 ...152```153154**Learning from feedback:**155```156User: /stream done 5157Bot: ✅ Severance marked as done (⭐5)158 📚 Learned: +Drama, +Mystery, +Sci-Fi159 Actors: Adam Scott, Britt Lower saved to favorites160```161162**Explaining recommendations:**163```164User: /stream why 95396165Bot: 🎯 Why Severance matches you:166 ✓ Genre "Drama" (you like this, +2)167 ✓ Genre "Mystery" (you like this, +2)168 ✓ Theme "office" in your preferences169 ✓ With Adam Scott (your favorite)170 Similar to: Fallout ⭐5171```172173## Language Support174175- Language detected from `config.json` (`language: "de-DE"` or `"en"`)176- All output adapts to configured language177- Commands work in any language178179## Requirements180181- `jq` (JSON processor)182- `curl` (HTTP client)183- `bash` 4.0+184- TMDB API key (free)185186## References187188- [services.md](references/services.md) — Full list of streaming services189- [tmdb-api.md](references/tmdb-api.md) — TMDB API usage190- [justwatch.md](references/justwatch.md) — Availability data integration