PythonClaw spotify
Control Spotify playback — play, pause, skip, search, and queue tracks. Use when: user asks to play music, search for songs, control playback, or manage Spotify queue. NOT for: downloading music, non-Spotify services (Apple Music, YouTube Music), or audio file playback.
install
source · Clone the upstream repo
git clone https://github.com/ericwang915/PythonClaw
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ericwang915/PythonClaw "$T" && mkdir -p ~/.claude/skills && cp -r "$T/pythonclaw/templates/skills/media/spotify" ~/.claude/skills/ericwang915-pythonclaw-spotify && rm -rf "$T"
manifest:
pythonclaw/templates/skills/media/spotify/SKILL.mdsource content
Spotify
Control Spotify playback via the Spotify Web API.
When to Use
✅ USE this skill when:
- "Play some jazz music"
- "Skip this song"
- "What's currently playing?"
- "Search for songs by The Beatles"
- "Pause the music"
- "Add this song to my queue"
When NOT to Use
❌ DON'T use this skill when:
- Downloading or saving music → Spotify API doesn't support downloads
- Apple Music or YouTube Music → different APIs/tools
- Playing local audio files → use system media player
- Music recognition → use specialised tools (Shazam, etc.)
Setup
- Create a Spotify app at https://developer.spotify.com/dashboard
- Set redirect URI to
http://localhost:8888/callback - Get your Client ID and Client Secret
- Configure in
:pythonclaw.json
"skills": { "spotify": { "clientId": "your-client-id", "clientSecret": "your-client-secret" } }
- Run the auth flow once to get a refresh token:
python {skill_path}/spotify_ctl.py auth
Alternative: spotify-player CLI
If you have
spotify_player installed (Rust-based TUI):
brew install spotify_player # macOS
Then use it directly:
spotify_player playback play spotify_player playback pause spotify_player search "query"
Commands
Current playback
python {skill_path}/spotify_ctl.py now-playing
Search
python {skill_path}/spotify_ctl.py search "The Beatles" --type track python {skill_path}/spotify_ctl.py search "Chill Vibes" --type playlist
Playback control
python {skill_path}/spotify_ctl.py play python {skill_path}/spotify_ctl.py pause python {skill_path}/spotify_ctl.py next python {skill_path}/spotify_ctl.py previous
Play a specific track or playlist
python {skill_path}/spotify_ctl.py play --uri spotify:track:4iV5W9uYEdYUVa79Axb7Rh python {skill_path}/spotify_ctl.py play --uri spotify:playlist:37i9dQZF1DXcBWIGoYBM5M
Queue a track
python {skill_path}/spotify_ctl.py queue spotify:track:4iV5W9uYEdYUVa79Axb7Rh
Volume
python {skill_path}/spotify_ctl.py volume 50
Notes
- Requires Spotify Premium for playback control
- An active Spotify device must be running (desktop app, mobile, or web player)
- The auth token expires and auto-refreshes via the refresh token
- Search results return Spotify URIs which can be used for playback
Resources
| File | Description |
|---|---|
| Spotify Web API controller |