spoti-cli

Installation
SKILL.md

spoti-cli

Prerequisites

Check auth: spoti-cli me --json. If it fails, run setup:

  1. Install: bun add -g spoti-cli
  2. Create Spotify app at developer.spotify.com/dashboard/create:
    • Set redirect URI to http://127.0.0.1:8888/callback
    • Check Web API
    • Copy the Client ID
  3. Auth: spoti-cli auth --client-id <CLIENT_ID>

Workflow

1. Parse Intent

Three modes:

  • Explicit: user names artists/tracks → search directly
  • Mood/activity: user describes vibe → read mood-mapping.md
  • Vault-aware: user says "based on my day" → read 02_Journal/daily/{YYYY-MM-DD}.md, extract mood signals from mood-mapping.md

2. Find Seeds

spoti-cli search "Radiohead" --type artist --limit 5 --json
spoti-cli search "Everything In Its Right Place" --type track --limit 3 --json

Extract id fields from results.

3. Get Recommendations

spoti-cli recommend --seed-artists ID1,ID2 --seed-genres ambient --energy 0.3 --valence 0.4 --limit 25 --json

Max 5 seeds total (artists + genres + tracks combined). Tunable attributes in mood-mapping.md.

4. Create Playlist

spoti-cli create "Deep Work — Mar 24" --description "Focus music" --tracks URI1,URI2,... --json

Name contextually: include mood + date. Vault-aware example: "Post-shipping Celebration — Mar 24".

5. Open in Spotify

open "spotify:playlist:{PLAYLIST_ID}" 2>/dev/null || open "https://open.spotify.com/playlist/{PLAYLIST_ID}"

Always open the playlist after creating it. Try Spotify desktop first (URI scheme), fall back to web if desktop isn't available.

6. Report

Return: playlist URL, seed logic summary, track count.

Commands

Command Example
search spoti-cli search "query" --type track --limit 10 --json
recommend spoti-cli recommend --seed-genres pop --energy 0.8 --limit 20 --json
create spoti-cli create "Name" --tracks URIs --public --json
playlist list spoti-cli playlist list --limit 10 --json
playlist get spoti-cli playlist get ID --json
playlist add spoti-cli playlist add ID --tracks URIs
me spoti-cli me --json

All commands support --json for structured output.

Weekly Installs
4
GitHub Stars
43
First Seen
4 days ago