spotify-applescript
Control Spotify desktop app via AppleScript. Play playlists, tracks, albums, episodes, and manage playback. Works reliably with macOS Spotify app without API keys or OAuth.
Best use case
spotify-applescript is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Control Spotify desktop app via AppleScript. Play playlists, tracks, albums, episodes, and manage playback. Works reliably with macOS Spotify app without API keys or OAuth.
Teams using spotify-applescript should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/spotify-applescript/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How spotify-applescript Compares
| Feature / Agent | spotify-applescript | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Control Spotify desktop app via AppleScript. Play playlists, tracks, albums, episodes, and manage playback. Works reliably with macOS Spotify app without API keys or OAuth.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Spotify AppleScript Control
Control the Spotify desktop app using AppleScript. Works reliably with the macOS Spotify app without API rate limits or OAuth.
## Requirements
- Spotify desktop app installed and running on macOS
- No setup required - just works
## Quick Start
```bash
# Play a playlist
spotify play "spotify:playlist:665eC1myDA8iSepZ0HOZdG"
spotify play "https://open.spotify.com/playlist/665eC1myDA8iSepZ0HOZdG"
# Play an episode
spotify play "spotify:episode:5yJKH11UlF3sS3gcKKaUYx"
spotify play "https://open.spotify.com/episode/5yJKH11UlF3sS3gcKKaUYx"
# Play a track
spotify play "spotify:track:7hQJA50XrCWABAu5v6QZ4i"
# Playback control
spotify pause # Toggle play/pause
spotify next # Next track
spotify prev # Previous track
spotify status # Current track info
# Volume control
spotify volume 50 # Set volume (0-100)
spotify mute # Mute
spotify unmute # Unmute
```
## Spotify CLI Wrapper
The `spotify` command is a wrapper script at `{baseDir}/spotify.sh`
### Commands
| Command | Description | Example |
|---------|-------------|---------|
| `play <uri>` | Play track/album/playlist/episode | `spotify play spotify:track:xxx` |
| `pause` | Toggle play/pause | `spotify pause` |
| `next` | Next track | `spotify next` |
| `prev` | Previous track | `spotify prev` |
| `status` | Show current track info | `spotify status` |
| `volume <0-100>` | Set volume | `spotify volume 75` |
| `mute` | Mute | `spotify mute` |
| `unmute` | Unmute | `spotify unmute` |
### URI Formats
Accepts both Spotify URIs and open.spotify.com URLs:
- `spotify:track:7hQJA50XrCWABAu5v6QZ4i`
- `https://open.spotify.com/track/7hQJA50XrCWABAu5v6QZ4i`
- `spotify:playlist:665eC1myDA8iSepZ0HOZdG`
- `https://open.spotify.com/playlist/665eC1myDA8iSepZ0HOZdG?si=xxx`
- `spotify:episode:5yJKH11UlF3sS3gcKKaUYx`
- `https://open.spotify.com/episode/5yJKH11UlF3sS3gcKKaUYx`
- `spotify:album:xxx`
- `spotify:artist:xxx`
The script auto-converts URLs to URIs.
## Direct AppleScript Commands
For more control, use AppleScript directly:
```bash
# Play
osascript -e 'tell application "Spotify" to play track "spotify:playlist:xxx"'
# Pause/Play toggle
osascript -e 'tell application "Spotify" to playpause'
# Next/Previous
osascript -e 'tell application "Spotify" to next track'
osascript -e 'tell application "Spotify" to previous track'
# Get current track
osascript -e 'tell application "Spotify"
set trackName to name of current track
set artistName to artist of current track
return trackName & " by " & artistName
end tell'
# Get player state
osascript -e 'tell application "Spotify" to player state'
# Set volume (0-100)
osascript -e 'tell application "Spotify" to set sound volume to 75'
# Get current position (in seconds)
osascript -e 'tell application "Spotify" to player position'
# Set position (in seconds)
osascript -e 'tell application "Spotify" to set player position to 30'
```
## Available Properties
```applescript
tell application "Spotify"
name of current track -- Track name
artist of current track -- Artist name
album of current track -- Album name
duration of current track -- Duration in ms
player position -- Position in seconds
player state -- playing/paused/stopped
sound volume -- 0-100
repeating -- true/false
repeating enabled -- true/false
shuffling -- true/false
shuffling enabled -- true/false
end tell
```
## Examples
### Agent Usage
When the user says:
- "Play my power hour playlist" → extract playlist URI and run `spotify play <uri>`
- "Pause the music" → run `spotify pause`
- "Next track" → run `spotify next`
- "What's playing?" → run `spotify status`
### Play a specific episode
```bash
spotify play https://open.spotify.com/episode/5yJKH11UlF3sS3gcKKaUYx
```
### Get full track info
```bash
osascript -e 'tell application "Spotify"
return "Track: " & (name of current track) & "\nArtist: " & (artist of current track) & "\nAlbum: " & (album of current track) & "\nState: " & (player state as string)
end tell'
```
## Installation
The skill is self-contained. To make the `spotify` command available system-wide:
```bash
chmod +x {baseDir}/spotify.sh
sudo ln -sf {baseDir}/spotify.sh /usr/local/bin/spotify
```
Or add the skill directory to PATH.
## Troubleshooting
**"Spotify got an error"**
- Make sure Spotify desktop app is running
- Spotify must be launched at least once to accept AppleScript commands
**Play command does nothing**
- Verify the URI format is correct
- Try playing from Spotify app first to ensure the content exists
**No audio**
- Check system volume and Spotify app volume
- Ensure correct output device is selected in Spotify preferences
## Limitations
- Requires Spotify desktop app to be running
- macOS only (uses AppleScript)
- Cannot search or browse library (use web interface or app for discovery)
- Cannot manage playlists (add/remove tracks)
For playlist management and search, use the web interface or consider the `spotify-player` skill (requires OAuth setup).Related Skills
spotify-player
Terminal Spotify playback/search via spogo (preferred) or spotify_player.
spotify-history
Access Spotify listening history, top artists/tracks, and get personalized recommendations via the Spotify Web API. Use when fetching a user's recent plays, analyzing music taste, or generating recommendations. Requires one-time OAuth setup.
spotify
Control Spotify playback on macOS. Play/pause, skip tracks, control volume, play artists/albums/playlists. Use when a user asks to play music, control Spotify, change songs, or adjust Spotify volume.
paylock
Non-custodial SOL escrow for AI agent deals.
agent-reputation
summary: Cross-platform AI agent reputation checker with trust scoring and PayLock escrow recommendations.
Telecom Agent Skill
Turn your AI Agent into a Telecom Operator. Bulk calling, ChatOps, and Field Monitoring.
OpenClaw-Finnhub
OpenClaw skill for real-time stock quote, and financials via Finnhub API.
```markdown
# OpenClaw-Last.fm
security-operator
Runtime security guardrails for OpenClaw agents.
operator-humanizer
Transform AI-generated text into authentic human writing.
kit-email-operator
**AI-powered email marketing for Kit (ConvertKit)**.
agora
Trade prediction markets on Agora — the prediction market exclusively for AI agents. Register, browse markets, trade YES/NO, create markets, earn reputation via Brier scores.