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'.4license: MIT5---67# Streaming Buddy 📺89Personal streaming assistant that learns your taste, tracks your watching habits, and suggests what to watch next.1011## Features1213- **Search & Info**: Find movies/TV shows with TMDB data14- **Watch Tracking**: Track what you're currently watching with progress15- **Learning System**: Learns your preferences from likes/dislikes/ratings16- **Smart Recommendations**: Personalized suggestions based on your taste17- **Mood-Based Search**: Find content by mood (exciting, relaxing, scary, etc.)18- **Availability Check**: Shows which of your services has the content19- **Match Explanation**: Explains why a title matches your preferences2021## Commands2223| Command | Action |24|---------|--------|25| `/stream` | Show status with all commands |26| `/stream search <title>` | Search for movies/TV shows |27| `/stream info <id> [tv\|movie]` | Detailed info + availability |28| `/stream watch <id> [tv\|movie]` | Start tracking a title |29| `/stream progress S01E05` | Update progress on current show |30| `/stream done [1-5]` | Mark as finished + rate (auto-learns) |31| `/stream like [id]` | Mark as liked → learns preferences |32| `/stream dislike [id]` | Mark as disliked → learns preferences |33| `/stream suggest [service] [tv\|movie]` | Personalized recommendations |34| `/stream mood <mood>` | Search by mood |35| `/stream surprise` | Random recommendation |36| `/stream why <id>` | Explain why this matches you |37| `/stream watchlist` | Show watchlist |38| `/stream watchlist add <id>` | Add to watchlist |39| `/stream history` | View watch history |40| `/stream profile` | Show your taste profile |41| `/stream services` | Manage streaming services |42| `/stream services add <name>` | Add a service |43| `/stream services remove <name>` | Remove a service |4445## Mood Options4647| Mood | Genres |48|------|--------|49| `exciting` | Action, Thriller, Sci-Fi, Adventure |50| `relaxing` | Comedy, Animation, Family, Documentary |51| `thoughtful` | Drama, Mystery, History |52| `scary` | Horror, Thriller |53| `romantic` | Romance, Drama |54| `funny` | Comedy, Animation |5556## Supported Services5758- `netflix`, `amazon-prime`, `disney-plus`, `apple-tv-plus`59- `youtube-premium`, `wow`, `paramount-plus`, `crunchyroll`60- `joyn`, `rtl`, `magenta`, `mubi`6162## Learning System6364The skill learns your preferences from:65661. **Ratings**: When you finish with `/stream done [1-5]`:67 - Rating 4-5: Adds genres/themes/actors to "liked"68 - Rating 1-2: Adds genres to "avoided"69702. **Explicit Feedback**: `/stream like` and `/stream dislike`:71 - Extracts genres, themes, actors, directors72 - Updates preference weights73743. **Preference Profile** includes:75 - Genre preferences (weighted scores)76 - Liked/disliked themes77 - Favorite actors & directors78 - Custom mood mappings7980## Handler Usage8182```bash83# Core commands84handler.sh status $WORKSPACE85handler.sh search "severance" $WORKSPACE86handler.sh info 95396 tv $WORKSPACE87handler.sh watch 95396 tv $WORKSPACE88handler.sh progress S01E05 $WORKSPACE89handler.sh done 5 "Great show!" $WORKSPACE9091# Learning commands92handler.sh like $WORKSPACE # Like current watching93handler.sh like 12345 movie $WORKSPACE # Like specific title94handler.sh dislike $WORKSPACE95handler.sh why 95396 tv $WORKSPACE96handler.sh profile $WORKSPACE9798# Recommendation commands99handler.sh suggest $WORKSPACE # All services, all types100handler.sh suggest prime movie $WORKSPACE # Prime movies only101handler.sh mood exciting $WORKSPACE102handler.sh mood relaxing tv $WORKSPACE103handler.sh surprise $WORKSPACE104105# List commands106handler.sh watchlist list $WORKSPACE107handler.sh watchlist add 12345 tv $WORKSPACE108handler.sh history $WORKSPACE109110# Service management111handler.sh services list $WORKSPACE112handler.sh services add netflix $WORKSPACE113handler.sh services remove netflix $WORKSPACE114```115116## Data Files117118All data stored in `$WORKSPACE/memory/streaming-buddy/`:119120| File | Purpose |121|------|---------|122| `config.json` | TMDB API key, region, language |123| `profile.json` | User profile metadata |124| `services.json` | Active streaming services |125| `preferences.json` | Learned taste preferences |126| `watching.json` | Currently watching |127| `watchlist.json` | Want to watch list |128| `history.json` | Watched + ratings |129| `cache/*.json` | API response cache (24h) |130131## Setup1321331. Get TMDB API key: https://www.themoviedb.org/settings/api1342. Store in `memory/streaming-buddy/config.json`:135 ```json136 {137 "tmdbApiKey": "your_api_key",138 "region": "DE",139 "language": "de-DE"140 }141 ```1423. Run `/stream setup` to configure services143144## Conversation Examples145146**Mood-based search:**147```148User: I want something exciting tonight149Bot: 🎬 Exciting picks for you:150 1. Reacher S3 (Prime) ⭐8.5151 2. Jack Ryan (Prime) ⭐8.1152 ...153```154155**Learning from feedback:**156```157User: /stream done 5158Bot: ✅ Severance marked as done (⭐5)159 📚 Learned: +Drama, +Mystery, +Sci-Fi160 Actors: Adam Scott, Britt Lower saved to favorites161```162163**Explaining recommendations:**164```165User: /stream why 95396166Bot: 🎯 Why Severance matches you:167 ✓ Genre "Drama" (you like this, +2)168 ✓ Genre "Mystery" (you like this, +2)169 ✓ Theme "office" in your preferences170 ✓ With Adam Scott (your favorite)171 Similar to: Fallout ⭐5172```173174## Language Support175176- Language detected from `config.json` (`language: "de-DE"` or `"en"`)177- All output adapts to configured language178- Commands work in any language179180## Requirements181182- `jq` (JSON processor)183- `curl` (HTTP client)184- `bash` 4.0+185- TMDB API key (free)186187## References188189- [services.md](references/services.md) — Full list of streaming services190- [tmdb-api.md](references/tmdb-api.md) — TMDB API usage191- [justwatch.md](references/justwatch.md) — Availability data integration