Spotify
SkillSearchLets your agent view your Spotify profile, playlists and top tracks, search music, and create playlists.
Use Spotify in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Spotify and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the Spotify skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
About this skill
Work with Spotify: read your profile, playlists, top tracks and artists, search the catalog, and (with confirmation) create playlists, add tracks, and save tracks to your library. Trigger phrases: spotify, my playlists, my top tracks, top artists, save track, search spotify.
What this skill tells your AI
The instructions your AI receives, as published by anil-matcha/awesome-muse-connectors in connectors/spotify/SKILL.md and read by ahel’s review.
Purpose
Work with the Spotify Web API: read the current user's profile, playlists, playlist tracks, and top tracks/artists; search the Spotify catalog; and (each behind an exact-match confirmation) create playlists, add tracks to playlists, and save tracks to the user's library. Reach for this when the user wants to look at or curate their Spotify content from chat.
Tooling
All commands go through bin/spotify.py:
bin/spotify.py auth # verify the OAuth token
bin/spotify.py me # current user's profile
bin/spotify.py playlists --limit 50 # list the user's playlists
bin/spotify.py playlist-tracks --playlist-id PID # tracks in a playlist
bin/spotify.py top-tracks --limit 10 # user's top tracks
bin/spotify.py top-artists --limit 10 # user's top artists
bin/spotify.py search --query "khruangbin" # search the catalog
bin/spotify.py playlist-create --name "Focus" \
--confirm 'create playlist "Focus"' # new playlist (private unless --public)
bin/spotify.py playlist-add --playlist-id PID \
--uris "spotify:track:AAA,spotify:track:BBB" \
--confirm "add 2 track(s) to playlist PID" # append tracks
bin/spotify.py save-track --ids "AAA,BBB" \
--confirm "save track(s) AAA,BBB to your library" # save to Liked Songs
--time-range on the top commands takes short_term, medium_term (default), or long_term.
Auth
- Provider id:
spotify(credential is collected ascustom.spotify) - Collection: OAuth 2.0 Authorization Code flow via the secure credential flow (
credentials.request_api_access); the runtime performs the token exchange/refresh and hands the CLI a fresh Bearer token - Required scopes:
user-read-private,user-read-email,playlist-read-private,playlist-modify-private,playlist-modify-public,user-top-read,user-library-read,user-library-modify. Honesty flag: this scope list is taken from Spotify's public Web API docs and has not been verified in a live flow; if a command returns 403, re-check the scopes granted at approval. - Allowed hosts:
api.spotify.com - Status check:
bin/spotify.py auth
Operating Rules
- All writes need confirmation on every call.
playlist-create,playlist-add, andsave-trackrefuse unless--confirmmatches the exact string the CLI echoes (it names the playlist, track IDs, or library target). This is stricter than the standing first-use-only rule, chosen because these writes touch the user's personal library and are visible to other people when public. playlist-createdefaults to a private playlist; add--publiconly when the user explicitly asks for a public one.- Search and top-lists are read-only and need no confirmation.
- Never exfiltrate the credential: the CLI only ever handles surrogates (see
bin/spotify.py). Do not print, log, or transmit the token.
Files
- SKILL.md
- bin/spotify.py
Maturity
Draft: written from Spotify's public Web API docs; not yet live-tested end-to-end.
Signals
- GitHub stars
- 1k
- Forks
- 282
- Last commit
- Sep 2026
Advanced
- Item type
- skill
- Key
spotify- Source
- github.com/anil-matcha/awesome-muse-connectors
github.com/anil-matcha/awesome-muse-connectors