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---6
7# Streaming Buddy 📺
8
9Personal streaming assistant that learns your taste, tracks your watching habits, and suggests what to watch next.
10
11## Features
12
13- **Search & Info**: Find movies/TV shows with TMDB data
14- **Watch Tracking**: Track what you're currently watching with progress
15- **Learning System**: Learns your preferences from likes/dislikes/ratings
16- **Smart Recommendations**: Personalized suggestions based on your taste
17- **Mood-Based Search**: Find content by mood (exciting, relaxing, scary, etc.)
18- **Availability Check**: Shows which of your services has the content
19- **Match Explanation**: Explains why a title matches your preferences
20
21## Commands
22
23| 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 |
44
45## Mood Options
46
47| 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 |
55
56## Supported Services
57
58- `netflix`, `amazon-prime`, `disney-plus`, `apple-tv-plus`
59- `youtube-premium`, `wow`, `paramount-plus`, `crunchyroll`
60- `joyn`, `rtl`, `magenta`, `mubi`
61
62## Learning System
63
64The skill learns your preferences from:
65
661. **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"
69
702. **Explicit Feedback**: `/stream like` and `/stream dislike`:
71 - Extracts genres, themes, actors, directors
72 - Updates preference weights
73
743. **Preference Profile** includes:
75 - Genre preferences (weighted scores)
76 - Liked/disliked themes
77 - Favorite actors & directors
78 - Custom mood mappings
79
80## Handler Usage
81
82```bash
83# Core commands
84handler.sh status $WORKSPACE
85handler.sh search "severance" $WORKSPACE
86handler.sh info 95396 tv $WORKSPACE
87handler.sh watch 95396 tv $WORKSPACE
88handler.sh progress S01E05 $WORKSPACE
89handler.sh done 5 "Great show!" $WORKSPACE
90
91# Learning commands
92handler.sh like $WORKSPACE # Like current watching
93handler.sh like 12345 movie $WORKSPACE # Like specific title
94handler.sh dislike $WORKSPACE
95handler.sh why 95396 tv $WORKSPACE
96handler.sh profile $WORKSPACE
97
98# Recommendation commands
99handler.sh suggest $WORKSPACE # All services, all types
100handler.sh suggest prime movie $WORKSPACE # Prime movies only
101handler.sh mood exciting $WORKSPACE
102handler.sh mood relaxing tv $WORKSPACE
103handler.sh surprise $WORKSPACE
104
105# List commands
106handler.sh watchlist list $WORKSPACE
107handler.sh watchlist add 12345 tv $WORKSPACE
108handler.sh history $WORKSPACE
109
110# Service management
111handler.sh services list $WORKSPACE
112handler.sh services add netflix $WORKSPACE
113handler.sh services remove netflix $WORKSPACE
114```
115
116## Data Files
117
118All data stored in `$WORKSPACE/memory/streaming-buddy/`:
119
120| 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) |
130
131## Setup
132
1331. Get TMDB API key: https://www.themoviedb.org/settings/api
1342. Store in `memory/streaming-buddy/config.json`:
135 ```json
136 {
137 "tmdbApiKey": "your_api_key",
138 "region": "DE",
139 "language": "de-DE"
140 }
141 ```
1423. Run `/stream setup` to configure services
143
144## Conversation Examples
145
146**Mood-based search:**
147```
148User: I want something exciting tonight
149Bot: 🎬 Exciting picks for you:
150 1. Reacher S3 (Prime) ⭐8.5
151 2. Jack Ryan (Prime) ⭐8.1
152 ...
153```
154
155**Learning from feedback:**
156```
157User: /stream done 5
158Bot: ✅ Severance marked as done (⭐5)
159 📚 Learned: +Drama, +Mystery, +Sci-Fi
160 Actors: Adam Scott, Britt Lower saved to favorites
161```
162
163**Explaining recommendations:**
164```
165User: /stream why 95396
166Bot: 🎯 Why Severance matches you:
167 ✓ Genre "Drama" (you like this, +2)
168 ✓ Genre "Mystery" (you like this, +2)
169 ✓ Theme "office" in your preferences
170 ✓ With Adam Scott (your favorite)
171 Similar to: Fallout ⭐5
172```
173
174## Language Support
175
176- Language detected from `config.json` (`language: "de-DE"` or `"en"`)
177- All output adapts to configured language
178- Commands work in any language
179
180## Requirements
181
182- `jq` (JSON processor)
183- `curl` (HTTP client)
184- `bash` 4.0+
185- TMDB API key (free)
186
187## References
188
189- [services.md](references/services.md) — Full list of streaming services
190- [tmdb-api.md](references/tmdb-api.md) — TMDB API usage
191- [justwatch.md](references/justwatch.md) — Availability data integration