verify
How to verify media.sh changes end-to-end on a real Mac — isolated data dir, real native build, and a controllable fake now-playing app (no dependency on the…
Quick media settings — turn the now-playing statusline, the /media:now progress bar, or the playback history on/off, or reset the statusline to its default look. `config <key> [on|off|value]` changes any key directly. Use when the user wants to enable, disable, or reset a media
$ npx -y skills add Bangs00/claude-media-control --skill config --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/configContext preview
The summary Claude sees to decide when to auto-load this skill.
Quick media settings — turn the now-playing statusline, the /media:now progress bar, or the playback history on/off, or reset the statusline to its default look. `config <key> [on|off|value]` changes any key directly. Use when the user wants to enable, disable, or reset a media
name: config description: Quick media settings — turn the now-playing statusline, the /media:now progress bar, or the playback history on/off, or reset the statusline to its default look. `config <key> [on|off|value]` changes any key directly. Use when the user wants to enable, disable, or reset a media display feature. (Arranging and styling the statusline lives in /media:statusline.) argument-hint: [key] [on|off] allowed-tools: Bash, AskUserQuestion
Requested change (may be empty): $ARGUMENTS
Current settings:
!`"${CLAUDE_PLUGIN_ROOT}/scripts/media.sh" config`
---
Pick the mode from `$ARGUMENTS`:
The user named a specific key (e.g. `display.statusline on`, `statusline.marquee off`). Apply it directly and report the result:
"${CLAUDE_PLUGIN_ROOT}/scripts/media.sh" config $ARGUMENTSValid keys:
Rules you must follow:
enable was **refused** (fail-closed by design). Explain the reason from stderr, point to `/media:doctor`, and do NOT retry or work around the refusal.
`~/.claude/settings.json` automatically** (wrapper + backup of the previous `statusLine`; details in `docs/statusline.md`). Relay the wiring line the command prints — it says whether it wired, refreshed, or found a manual setup it left alone. The segment shows up on the next statusline tick, no restart needed.
해제", "settings에서 빼줘") maps to `"${CLAUDE_PLUGIN_ROOT}/scripts/media.sh" statusline uninstall` — it restores the backed-up `statusLine`, removes the wrapper + backup, and turns `display.statusline` off. (Plain `display.statusline off` only hides the segment and keeps the wiring for a fast re-enable. Uninstalling the plugin reverts the wiring by itself.)
Ask ONE **AskUserQuestion** call with exactly ONE question (single-select, header "Settings"): "Which setting do you want to change?" — exactly these four options, with the CURRENT value from the settings table above baked into each label so the user sees the state before picking:
1. `Statusline: <on|off>` — description: the now-playing segment rendered into Claude Code's statusline (enabling wires it into `settings.json` automatically and it appears on the next tick); selecting flips it. 2. `/media:now progress bar: <on|off>` — description: the progress bar drawn under the `/media:now` reply; selecting flips it. 3. `Playback history: <on|off>` — description: passively log played tracks (view with `/media:history`); selecting flips it. 4. `Reset statusline settings` — description: restore the statusline's default look — arrangement, lines, colors, marquee, and all per-item styles. The three toggles above are not touched.
Then apply the selection with one Bash call:
"${CLAUDE_PLUGIN_ROOT}/scripts/media.sh" config display.statusline on # option 1 (flip)
"${CLAUDE_PLUGIN_ROOT}/scripts/media.sh" config display.progressbar on # option 2 (flip)
"${CLAUDE_PLUGIN_ROOT}/scripts/media.sh" config history.record on # option 3 (flip)
"${CLAUDE_PLUGIN_ROOT}/scripts/media.sh" config statusline reset # option 4If enabling `display.statusline` is **refused (exit 3)**, no now-playing read path works right now; relay the stderr reason and point to `/media:doctor` — fail-closed by design, never bypass it. An "Other" answer names a key or a wish — map it onto Mode A (arrangement or styling wishes belong to `/media:statusline`; run that flow instead of guessing keys here).
The current track, live in your Claude Code statusline — ticking every second, ⌘+clickable, styleable down to the bar characters: And whatever your Mac is playing — Spotify, Apple Music, a browser tab, VLC — you can control it from the chat too: "what song is
How to verify media.sh changes end-to-end on a real Mac — isolated data dir, real native build, and a controllable fake now-playing app (no dependency on the…
Show the album artwork (cover art) of the currently playing track. Use when the user asks to see the album art, cover image, or artwork of what's playing.
Diagnose the media plugin — native build, read/control paths, fallbacks, permissions — and suggest fixes. Use when media commands fail, return nothing, or the…
Show recently played tracks (a passive local playback log). Use when the user asks what played earlier, what song was on before, recently played music, or to…
Interactive media remote — control playback via a selectable menu (toggle, next, previous, seek, volume, artwork). Use when the user asks for a media remote,…