hybirdss/smartest-tv/tv

Claude Code and agent skill by hybirdss/smartest-tv

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

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'.

Install

npx vskill@latest install hybirdss/smartest-tv/tv

SKILL.md

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.

bash
# 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 saysPlatformWhy
"Play Stranger Things S4E7"netflixSeries with season/episode
"Play Glass Onion"netflixMovie title
"Play Percy Jackson"disney or autoCould be Disney+, let auto-detect decide
"Play The Boys"prime or autoPrime Video original
"Play Frieren"autoLet stv figure out the platform
"Play that cooking video"youtubeGeneral video content
"Play baby shark"youtubeKids content, music video
"Play Ye White Lines"spotifySong/artist name
"Play my chill playlist"spotifyPlaylist / music genre
"Play lofi hip hop radio"youtubeLive 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
bash
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.

bash
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.

bash
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.

bash
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.

bash
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.

bash
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.

bash
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.

bash
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.

bash
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
bash
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"
  1. stv scene movie-night
  2. stv recommend --mood chill
  3. User picks one → stv play netflix "..." or stv play youtube "..."
"Put something on for the kids"
  1. stv scene kids --tv kids-room

(scene auto-plays Cocomelon at safe volume)

"Good night"
  1. stv scene sleep

(ambient sounds, TV auto-off)

"Friends are coming over"
  1. Everyone: stv queue add youtube "their song"
  2. stv queue play
"What was I watching?"
  1. stv next (continues automatically)

Or: stv history → show the list → user picks → stv play

"Someone sent me a link"
  1. stv cast <URL> (auto-detects platform + ID)
"Watch party with friends"
  1. stv --group watch-party play netflix "Wednesday" s1e1

Or MCP: tv_sync_play(platform="netflix", query="Wednesday", season=1, episode=1, group="watch-party")

"Play music in every room"
  1. stv --all play youtube "lo-fi hip hop" or stv --all play spotify "chill vibes"

Setup

If stv status fails with "No TV configured":

bash
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)

ToolWhen to useKey params
tv_playPlay content by name (most common)platform, query, season?, episode?, tv_name?
tv_castUser shares a URLurl, 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_sceneScene presets (list or run)action: list/run, name?, tv_name?
tv_queuePlay queue (add/show/play/skip/clear)action, platform?, query?, tv_name?
tv_powerTurn TV on/offon: bool, tv_name?
tv_volumeGet/set volume, step, mute — all in onelevel?, direction?, mute?, tv_name?
tv_screenScreen on/off (audio continues)on: bool, tv_name?
tv_statusCurrent app, volume, modeltv_name?
tv_notifyToast notification on screenmessage, tv_name?
tv_launchLaunch app with known IDapp, content_id?, tv_name?
tv_historyRecent play historylimit?
tv_resolveGet content ID without playingplatform, query, season?, episode?
tv_syncPlay on multiple TVs at onceplatform, query, group?, tv_names?
tv_list_tvsShow all configured TVs
tv_groupsList TV groups
tv_insightsViewing stats, screen time, sub valueperiod?, report_type?
tv_displayTV as display: dashboards, clocks, messagescontent_type, data?, tv_name?
tv_audioMulti-room audio, screens offaction, query?, platform?, rooms?

Troubleshooting

Wrong content plays or resolve fails

Cache might be stale. Clear it and retry:

bash
rm ~/.config/smartest-tv/cache.json
stv play netflix "Dark" s1e1 # re-resolves fresh
Platform auto-detect picks wrong service

Specify the platform explicitly:

bash
stv play disney "Percy Jackson" s1e1 # force Disney+

Notes

  • All CLI commands support --format json for structured output
  • 30+ platforms: Netflix, Disney+, Prime, Max, Hulu, Paramount+, Peacock, Crunchyroll, Apple TV+, YouTube, Spotify, and more
  • First resolve: ~2-3s (web fetch). Cached after: ~0.1s
  • Netflix profile selection happens on-screen (can't skip)
  • If auto-search fails: stv play netflix "X" --title-id XXXXX
  • tv_name is optional on every MCP tool. Omit it to use the default TV

MCP Configuration

Claude Code (stdio, automatic):

json
{"mcpServers": {"tv": {"command": "uvx", "args": ["stv"]}}}

OpenClaw / other agents:

json
{"mcpServers": {"tv": {"command": "python3", "args": ["-m", "smartest_tv"], "env": {"TV_PLATFORM": "lg", "TV_IP": "192.168.1.100"}}}}

Remote HTTP:

bash
stv serve --port 8910
# Then connect to http://localhost:8910/sse

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
35
Repository forks
2
7-day trend score
18

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/hybirdss/smartest-tv/tv/badge)](https://verified-skill.com/skills/hybirdss/smartest-tv/tv)

Something wrong with this skill or its page? Tell us.