smartest-tv
A TV and streaming controller that plays content on smart TVs or your browser using simple voice-like commands.
Install
mkdir -p .claude/skills/smartest-tv && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/15424" && unzip -o skill.zip -d .claude/skills/smartest-tv && rm skill.zipInstalls to .claude/skills/smartest-tv
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Control a smart TV or open streaming content in the browser. Play Netflix episodes/movies, YouTube videos, Spotify music — on TV or in browser (--tv browser). Also handles volume, power, notifications, history, 'continue watching', scenes, recommendations, cast URLs, queue, and multi-TV management. Triggers on: 'play', 'watch', 'TV', 'Netflix', 'YouTube', 'Spotify', 'volume', 'mute', 'good night', 'movie night', 'continue', 'next episode', 'scene', 'recommend', 'trending', 'cast', 'queue', 'play on browser', 'open in browser', 'stv'.Key capabilities
- →Play specific media content on a smart TV
- →Open streaming content in a web browser
- →Cast URLs to a TV or browser
- →Control TV volume and power
- →Get media recommendations based on history
- →Manage media queues
How it works
The tool controls a smart TV or opens content in a browser using the `stv` CLI, interpreting user requests to play specific media, cast URLs, or manage TV functions.
Inputs & outputs
When to use smartest-tv
- →Play Netflix on TV
- →Open YouTube in browser
- →Set volume
- →Queue music on Spotify
About this skill
smartest-tv
Control a smart TV via the stv CLI — or open content in the browser.
TV vs Browser
- TV configured:
stv play netflix "Dark" s1e1 - No TV configured: same command — auto-opens in browser
- TV configured but user wants browser:
stv --tv browser play netflix "Dark" s1e1 - User doesn't specify: ask whether they want TV or browser
IMPORTANT: --tv browser goes BEFORE the subcommand. browser is NOT a platform.
# CORRECT:
stv --tv browser play netflix Frieren -s 2 -e 8
stv --tv browser play youtube "lofi beats"
# WRONG — these will fail:
stv play browser Frieren # "browser" is not a platform
stv play --tv browser Frieren # --tv must come before play
Decision Tree
Use this to pick the right action:
User wants to...
├── Watch something specific → stv play (or stv --tv browser play for browser)
├── Watch a URL someone shared → stv cast <URL>
├── Continue what they were watching → stv next
├── Know what's popular → stv whats-on
├── Get a suggestion → stv recommend
├── Set a mood → stv scene
├── Build a playlist → stv queue add, then stv queue play
├── Control the TV → stv volume / stv mute / stv on / stv off
├── Send a message to the screen → stv notify
├── Use a different TV → add --tv <name> to any command
├── Play on ALL TVs → add --all to play/off/volume/mute/notify
├── Play on a GROUP of TVs → add --group <name> to play/off/volume/mute/notify
├── Open in browser instead of TV → add --tv browser
├── Watch with friends (remote) → tv_sync (MCP) or --group with remote TVs
├── Show something on TV screen → stv display (message, clock, dashboard, URL)
├── Play music everywhere → stv audio play (screens off, multi-room)
├── Check viewing habits → stv insights (weekly report, screen time)
├── Is my Netflix worth it? → stv sub-value netflix --cost 17.99
└── Don't know what to do → stv whats-on, then stv recommend
Platform Detection
The user rarely says "netflix" or "youtube". Infer it:
| User says | Platform | Why |
|---|---|---|
| "Play Stranger Things S4E7" | netflix | Series with season/episode |
| "Play Glass Onion" | netflix | Movie title |
| "Play Percy Jackson" | disney or auto | Could be Disney+, let auto-detect decide |
| "Play The Boys" | prime or auto | Prime Video original |
| "Play Frieren" | auto | Let stv figure out the platform |
| "Play that cooking video" | youtube | General video content |
| "Play baby shark" | youtube | Kids content, music video |
| "Play Ye White Lines" | spotify | Song/artist name |
| "Play my chill playlist" | spotify | Playlist / music genre |
| "Play lofi hip hop radio" | youtube | Live stream / radio |
When ambiguous or unsure, omit the platform — stv play "title" auto-detects which streaming service has it in your region.
Core Commands
Play something specific
stv play netflix "Stranger Things" s4e7 # series episode
stv play netflix "Glass Onion" # movie (auto title ID)
stv play disney "Percy Jackson" s1e1 # Disney+
stv play prime "The Boys" s1e1 # Prime Video
stv play "Frieren" # auto-detects platform
stv play youtube "baby shark" # YouTube video
stv play spotify "Ye White Lines" # Spotify track
30+ streaming platforms supported: Netflix, Disney+, Prime Video, Max, Hulu, Paramount+, Peacock, Crunchyroll, Apple TV+, and more. Skip the platform name and stv auto-detects where it's streaming.
Cast a URL
User shares a link? Cast it directly. No need to figure out the platform or ID.
stv cast https://youtube.com/watch?v=dQw4w9WgXcQ
stv cast https://netflix.com/watch/81726716
stv cast https://open.spotify.com/track/3bbjDFVu...
Continue watching
"Next episode", "keep watching", "where was I" → use stv next.
stv next # most recent show
stv next "Breaking Bad" # specific show
stv history # what they've been watching
What's trending
"What should I watch?", "what's popular?", "anything good on?" → start with whats-on.
stv whats-on # Netflix + YouTube trending
stv whats-on netflix # Netflix only
stv whats-on youtube # YouTube only
Recommend based on history
"Recommend something", "I'm bored", "suggest a movie" → use recommend.
stv recommend # based on watch history
stv recommend --mood chill # relaxing content
stv recommend --mood action # thriller/action
stv recommend --mood kids # family-friendly
After recommending, ask "want me to play any of these?" and use stv play on their choice.
Scene presets
"Movie night", "kids mode", "sleep mode", "music mode" → use scenes.
stv scene movie-night # volume 20 + cinema vibe
stv scene kids # volume 15 + Cocomelon
stv scene sleep # ambient sounds + auto-off
stv scene music # screen off + music
stv scene list # all available scenes
stv scene create date-night # make a custom scene
Play queue (party mode)
Multiple people want to add songs/videos? Use the queue.
stv queue add youtube "Gangnam Style"
stv queue add youtube "Despacito"
stv queue add spotify "playlist:Friday Night"
stv queue show # see the list
stv queue play # start playing
stv queue skip # next in queue
stv queue clear # reset
Multi-TV
"Play on bedroom TV", "turn off the kitchen TV" → use --tv flag.
stv multi list # see all TVs
stv play netflix "Dark" --tv bedroom
stv off --tv kids-room
stv scene kids --tv kids-room
Sync / Party mode
"Play on all TVs", "play in every room", "watch with friends" → use --all or --group.
stv --all play youtube "lo-fi beats" # every TV in the house
stv --group party play netflix "Wednesday" s1e1 # group of TVs
stv --all volume 20 # same volume everywhere
stv --all off # good night, all TVs
stv --group home notify "Dinner's ready!" # toast on group
For AI agents (MCP), use tv_sync_play to play on multiple TVs at once:
tv_sync_play(platform="netflix", query="Squid Game", season=2, episode=3, group="watch-party")
Remote TVs: Friends run stv serve, you add them as --platform remote. Groups can mix local and remote TVs. See Sync & Party Mode guide.
TV control
stv volume 25 # set volume
stv mute # toggle
stv on / stv off # power
stv status # what's playing, volume
stv notify "Dinner's ready!" # toast on screen
Common Scenarios
"I'm home from work"
stv scene movie-nightstv recommend --mood chill- User picks one →
stv play netflix "..."orstv play youtube "..."
"Put something on for the kids"
stv scene kids --tv kids-room(scene auto-plays Cocomelon at safe volume)
"Good night"
stv scene sleep(ambient sounds, TV auto-off)
"Friends are coming over"
- Everyone:
stv queue add youtube "their song" stv queue play
"What was I watching?"
stv next(continues automatically) Or:stv history→ show the list → user picks →stv play
"Someone sent me a link"
stv cast <URL>(auto-detects platform + ID)
"Watch party with friends"
stv --group watch-party play netflix "Wednesday" s1e1Or MCP:tv_sync_play(platform="netflix", query="Wednesday", season=1, episode=1, group="watch-party")
"Play music in every room"
stv --all play youtube "lo-fi hip hop"orstv --all play spotify "chill vibes"
Setup
If stv status fails with "No TV configured":
stv setup # auto-discover + pair
stv setup --ip 192.168.1.100 # direct IP
stv doctor # diagnose issues
MCP Tools (21 tools, optimized for AI agents)
| Tool | When to use | Key params |
|---|---|---|
tv_play | Play content by name (most common) | platform, query, season?, episode?, tv_name? |
tv_cast | User shares a URL | url, tv_name? |
tv_next | "Continue watching", "next episode" | query?, tv_name? |
tv_whats_on | "What's trending?", "what's popular?" | platform?, limit? |
tv_recommend | "Suggest something", "I'm bored" | mood?, limit? |
tv_scene | Scene presets (list or run) | action: list/run, name?, tv_name? |
tv_queue | Play queue (add/show/play/skip/clear) | action, platform?, query?, tv_name? |
tv_power | Turn TV on/off | on: bool, tv_name? |
tv_volume | Get/set volume, step, mute — all in one | level?, direction?, mute?, tv_name? |
tv_screen | Screen on/off (audio continues) | on: bool, tv_name? |
tv_status | Current app, volume, model | tv_name? |
tv_notify | Toast notification on screen | message, tv_name? |
tv_launch | Launch app with known ID | app, content_id?, tv_name? |
tv_history | Recent play history | limit? |
tv_resolve | Get content ID without playing | platform, query, season?, episode? |
tv_sync | Play on multiple TVs at once | platform, query, group?, tv_names? |
tv_list_tvs | Show all configured TVs | |
tv_groups | List TV groups | |
tv_insights | Viewing stats, screen time, sub value | period?, report_type? |
tv_display | TV as display: dashboards, clocks, messages | content_type, data?, tv_name? |
tv_audio | Multi-room audio, screens off | action, query?, platform?, rooms? |
Troubleshooting
Wrong content plays or resolve fails
Cache might be stale. Clear it and retry:
rm ~/.config/smartest-tv/cache.
---
*Content truncated.*
When not to use it
- →When the user wants to play content on a platform not supported by stv
- →When the user wants to perform actions not related to media playback or TV control
- →When the user wants to play content on a TV that is not configured
Prerequisites
Limitations
- →Netflix profile selection happens on-screen
- →Auto-search may fail for some titles
- →First content resolution takes ~2-3 seconds
How it compares
This workflow allows controlling media playback and TV functions via command-line, automating tasks that would otherwise require manual interaction with a TV remote or streaming app.
Compared to similar skills
smartest-tv side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| smartest-tv (this skill) | 0 | 4mo | Review | Beginner |
| jianying-editor | 38 | 2mo | Review | Advanced |
| home-assistant-manager | 9 | 8mo | Review | Advanced |
| vectcut-api | 11 | 6mo | Review | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by Hybirdss
View all by Hybirdss →You might also like
jianying-editor
luoluoluo22
剪映 (JianYing) AI自动化剪辑的高级封装 API (JyWrapper)。提供开箱即用的 Python 接口,支持录屏、素材导入、字幕生成、Web 动效合成及项目导出。
home-assistant-manager
komal-SkyNET
Expert-level Home Assistant configuration management with efficient deployment workflows (git and rapid scp iteration), remote CLI access via SSH and hass-cli, automation verification protocols, log analysis, reload vs restart optimization, and comprehensive Lovelace dashboard management for tablet-optimized UIs. Includes template patterns, card types, debugging strategies, and real-world examples.
vectcut-api
sun-guannan
VectCutAPI is a powerful cloud-based video editing API tool that provides programmatic control over CapCut/JianYing (剪映) for professional video editing. Use this skill when users need to: (1) Create video draft projects programmatically, (2) Add video/audio/image materials with precise control, (3) Add text, subtitles, and captions, (4) Apply effects, transitions, and animations, (5) Add keyframe animations, (6) Process videos in batch, (7) Generate AI-powered videos, (8) Integrate with n8n workflows, (9) Build MCP video editing agents. The API supports HTTP REST and MCP protocols, works with both CapCut (international) and JianYing (China), and provides web preview without downloading.
firecrawl-incident-runbook
jeremylongshore
Execute FireCrawl incident response procedures with triage, mitigation, and postmortem. Use when responding to FireCrawl-related outages, investigating errors, or running post-incident reviews for FireCrawl integration failures. Trigger with phrases like "firecrawl incident", "firecrawl outage", "firecrawl down", "firecrawl on-call", "firecrawl emergency", "firecrawl broken".
ffmpeg-keyframe-extraction
benchflow-ai
Extract key frames (I-frames) from video files using FFmpeg command line tool. Use this skill when the user needs to pull out keyframes, thumbnails, or important frames from MP4, MKV, AVI, or other video formats for analysis, previews, or processing.
netalertx-plugin-run-development
netalertx
Create and run NetAlertX plugins. Use this when asked to create plugin, run plugin, test plugin, plugin development, or execute plugin script.