Skip to content
Automation
Skill

/history

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 clear the playback history.

From plugin
media
416 skills1 hook
Install
$ npx -y skills add Bangs00/claude-media-control --skill history --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/history

Context preview

The summary Claude sees to decide when to auto-load this skill.

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 clear the playback history.

SKILL.md

history.SKILL.md
name: history
description: 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 clear the playback history.
argument-hint: [count | clear]
allowed-tools: Bash

Requested: $ARGUMENTS

Recent playback history (newest first, `MM-DD HH:MM title — artist (app)`):

!`"${CLAUDE_PLUGIN_ROOT}/scripts/media.sh" history 20`

Now do the following:

1. If the request is a **number** (e.g. "last 50"), re-run with that count:

   "${CLAUDE_PLUGIN_ROOT}/scripts/media.sh" history <count>

2. If the request is to **clear/delete** the history, confirm intent first, then:

   "${CLAUDE_PLUGIN_ROOT}/scripts/media.sh" history clear

3. Otherwise present the lines above as a markdown list, newest first — `**title** — *artist* (app · MM-DD HH:MM)` — trimmed to what the user asked for. If the user asked about a specific track ("when did X play?"), answer just that from the list.

Notes you may need:

  • Tracks are logged **passively** while media reads happen anyway (statusline

ticks, `/media:now`, playback commands) — there is no background polling, so gaps are normal when Claude Code wasn't running or the statusline is off.

  • The log keeps the most recent 500 tracks in `history.jsonl` under the plugin

data directory; nothing ever leaves the machine.

  • Logging is controlled by `/media:config history.record on|off`. If the user

asks to stop/start recording, use that key.

Read more
Ships withmedia

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

Get the whole plugin
Stats
4
Stars
0
Forks
Maintained
Maintenance
Shell
Language
MIT
License
2mo ago
Last commit
2mo ago
Created

Repo: Bangs00/claude-media-control

Other skills on media.

verify
Skill

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…

@bangs00@bangs00View Skill
artwork
Skill

artwork

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.

@bangs00@bangs00View Skill
config
Skill

config

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…

@bangs00@bangs00View Skill
doctor
Skill

doctor

Diagnose the media plugin — native build, read/control paths, fallbacks, permissions — and suggest fixes. Use when media commands fail, return nothing, or the…

@bangs00@bangs00View Skill
menu
Skill

menu

Interactive media remote — control playback via a selectable menu (toggle, next, previous, seek, volume, artwork). Use when the user asks for a media remote,…

@bangs00@bangs00View Skill