SM

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

Installs 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'.
539 charsno explicit “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Beginner

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

You give it
stv play netflix "Dark" s1e1
You get back
Media playing on TV or in browser

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

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"

  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":

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:

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

python3stv

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.

SkillInstallsUpdatedSafetyDifficulty
smartest-tv (this skill)04moReviewBeginner
jianying-editor382moReviewAdvanced
home-assistant-manager98moReviewAdvanced
vectcut-api116moReviewAdvanced

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

jianying-editor

luoluoluo22

剪映 (JianYing) AI自动化剪辑的高级封装 API (JyWrapper)。提供开箱即用的 Python 接口,支持录屏、素材导入、字幕生成、Web 动效合成及项目导出。

38110

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.

9110

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.

1173

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

18

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.

15

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.

14

Search skills

Search the agent skills registry