Streaming Buddy
by @udiedrichsen
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'.
clawhub install streaming-buddyπ About This Skill
name: streaming-buddy version: 2.0.0 description: "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'." author: clawdbot license: MIT metadata: clawdbot: emoji: "πΊ" triggers: ["/stream"] requires: bins: ["jq", "curl"] env: ["TMDB_API_KEY"] tags: ["streaming", "movies", "tv-shows", "recommendations", "entertainment", "learning", "preferences"]
Streaming Buddy πΊ
Personal streaming assistant that learns your taste, tracks your watching habits, and suggests what to watch next.
Features
Commands
| Command | Action |
|---------|--------|
| /stream | Show status with all commands |
| /stream search | Search for movies/TV shows |
| /stream info | Detailed info + availability |
| /stream watch | 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 | Search by mood |
| /stream surprise | Random recommendation |
| /stream why | Explain why this matches you |
| /stream watchlist | Show watchlist |
| /stream watchlist add | Add to watchlist |
| /stream history | View watch history |
| /stream profile | Show your taste profile |
| /stream services | Manage streaming services |
| /stream services add | Add a service |
| /stream services remove | 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-plusyoutube-premium, wow, paramount-plus, crunchyrolljoyn, rtl, magenta, mubiLearning System
The skill learns your preferences from:
1. 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"
2. Explicit Feedback: /stream like and /stream dislike:
- Extracts genres, themes, actors, directors
- Updates preference weights
3. 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!" $WORKSPACELearning 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 $WORKSPACERecommendation 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 $WORKSPACEList commands
handler.sh watchlist list $WORKSPACE
handler.sh watchlist add 12345 tv $WORKSPACE
handler.sh history $WORKSPACEService 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
1. Get TMDB API key: https://www.themoviedb.org/settings/api
2. Store in memory/streaming-buddy/config.json:
{
"tmdbApiKey": "your_api_key",
"region": "DE",
"language": "de-DE"
}
3. Run /stream setup to configure servicesConversation 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
config.json (language: "de-DE" or "en")Requirements
jq (JSON processor)curl (HTTP client)bash 4.0+References
βοΈ Configuration
1. Get TMDB API key: https://www.themoviedb.org/settings/api
2. Store in memory/streaming-buddy/config.json:
{
"tmdbApiKey": "your_api_key",
"region": "DE",
"language": "de-DE"
}
3. Run /stream setup to configure services