Spotify
by @mixx85
Full Spotify Premium control + music analysis. Playback: play/pause/next/prev/volume/shuffle/queue. Analysis: top tracks, top artists, liked songs, genre pro...
clawhub install spotify-clawπ About This Skill
name: spotify-claw description: "Full Spotify Premium control + music analysis. Playback: play/pause/next/prev/volume/shuffle/queue. Analysis: top tracks, top artists, liked songs, genre profile, taste breakdown. Discovery: find similar artists & music without Recommendations API. Playlist builder: make-playlist, liked-by-artist, discover. Auto-launches Spotify if closed. Credentials via macOS Keychain. Triggers: play music, pause, next track, what's playing, top tracks, playlist, genres, similar music, open spotify." homepage: https://github.com/mixx85/spotify-claw metadata: { "openclaw": { "emoji": "π΅", "requires": { "bins": [] }, "install": [ { "id": "pip", "kind": "pip", "package": "spotipy", "label": "Install spotipy (pip)", }, ], }, }
spotify-claw
Full Spotify Premium control with music analysis and smart discovery.
> ALWAYS run python3 ~/.openclaw/scripts/spotify.py [cmd] β never respond with text only.
β¨ What makes this different
| Feature | This skill | Basic Spotify skills | |---------|-----------|---------------------| | Playback control | β play/pause/next/prev/volume/shuffle/queue | β | | Auto-launch Spotify | β opens app if closed, waits, then plays | β | | Music taste analysis | β top tracks/artists across 3 time periods | β | | Genre profile | β full genre breakdown | β | | Music discovery | β works without blocked recommendations API | β | | Liked tracks analysis | β search, filter by artist | β | | One-command playlists | β creates + fills playlist in one command | β | | Multi-language triggers | β English + Russian | β |
Setup (first time)
1. Create app at developer.spotify.com/dashboard
β Add redirect URI: http://127.0.0.1:8888/callback
2. Add to macOS Keychain:
security add-generic-password -a openclaw -s openclaw.spotify.client_id -w "CLIENT_ID"
security add-generic-password -a openclaw -s openclaw.spotify.client_secret -w "CLIENT_SECRET"
3. First auth β run now, browser opens, log in once:
python3 ~/.openclaw/scripts/spotify.py now
Playback Commands
python3 ~/.openclaw/scripts/spotify.py play # resume
python3 ~/.openclaw/scripts/spotify.py play "track name" # search & play
python3 ~/.openclaw/scripts/spotify.py play spotify:track:URI # by URI
python3 ~/.openclaw/scripts/spotify.py play spotify:playlist:ID # playlist
python3 ~/.openclaw/scripts/spotify.py pause
python3 ~/.openclaw/scripts/spotify.py next
python3 ~/.openclaw/scripts/spotify.py prev
python3 ~/.openclaw/scripts/spotify.py volume 70
python3 ~/.openclaw/scripts/spotify.py volume up
python3 ~/.openclaw/scripts/spotify.py volume down
python3 ~/.openclaw/scripts/spotify.py shuffle on
python3 ~/.openclaw/scripts/spotify.py shuffle off
python3 ~/.openclaw/scripts/spotify.py queue "track name"
python3 ~/.openclaw/scripts/spotify.py now
python3 ~/.openclaw/scripts/spotify.py devices
Auto-launch: If Spotify is closed, play opens the app automatically, waits for init, then plays.
Analysis Commands
python3 ~/.openclaw/scripts/spotify.py top-tracks [short|medium|long] [limit]
python3 ~/.openclaw/scripts/spotify.py top-artists [short|medium|long] [limit]
python3 ~/.openclaw/scripts/spotify.py recent [limit]
python3 ~/.openclaw/scripts/spotify.py liked [limit]
python3 ~/.openclaw/scripts/spotify.py liked-all
python3 ~/.openclaw/scripts/spotify.py liked-by-artist "Artist Name"
python3 ~/.openclaw/scripts/spotify.py genres [short|medium|long]
python3 ~/.openclaw/scripts/spotify.py playlists
python3 ~/.openclaw/scripts/spotify.py search "query" [track|artist|album] [limit]
python3 ~/.openclaw/scripts/spotify.py track-info URI
Periods: short = 4 weeks Β· medium = 6 months Β· long = all time
Discovery & Playlist Builder
# Find new music by genre profile
python3 ~/.openclaw/scripts/spotify.py discoverExpand from specific artist (depth=hops, n=tracks per artist)
python3 ~/.openclaw/scripts/spotify.py discover "Portishead" 3 3Related artists
python3 ~/.openclaw/scripts/spotify.py related-artists "The Cure" 10Top tracks of any artist
python3 ~/.openclaw/scripts/spotify.py artist-top-tracks "Massive Attack" 5Create playlist from top tracks (one command: creates + fills)
python3 ~/.openclaw/scripts/spotify.py make-playlist "Top March 2026" short 20Manage playlists
python3 ~/.openclaw/scripts/spotify.py create-playlist "My Playlist" "Description"
python3 ~/.openclaw/scripts/spotify.py add-to-playlist PLAYLIST_ID URI1 URI2
> Note: Spotify's recommendations and audio_features APIs are blocked for new developer apps (return 403/404). This skill uses related_artists + artist_top_tracks for discovery instead.
Agent Tips
playlists to list user's playlists with IDs before playing onenow to confirm what's playing after a play commandliked-by-artist to find tracks for a themed playlistrelated-artists β artist-top-tracks β add-to-playlist for smart playlist buildinggenres long gives the most accurate taste profile