Automated summary
Controls Spotify playback on macOS using AppleScript commands via osascript.
Strengths
- Retrieves current track info (title, artist, album) and playback position.
- Simple play, pause, next, and previous track commands.
- Lightweight and relies only on built-in macOS tools.
- Provides conversational responses for a natural interaction.
Limitations
- MacOS only; requires the Spotify desktop app to be installed and running.
- Cannot handle playlists, search, or volume control.
- If Spotify is not running, the skill will ask the user to open it.
When the user wants to check or control Spotify playback from a terminal-based AI agent on macOS.
On non-macOS systems or when the user does not use the Spotify desktop app (e.g., Spotify Web).
Security analysis
SafeThe skill only executes predefined AppleScript commands to control Spotify, with no file system modifications, network calls, or user input injection. It poses no execution risk.
No concerns found
How this analysis is madeExamples
What song is currently playing on Spotify?Pause the music on Spotify.Skip to the next track on Spotify.name: spotify description: Control Spotify playback and check what's currently playing. Use when the user asks what music or song is playing, wants to play/pause/stop music, skip tracks, or interact with Spotify in any way. allowed-tools: Bash(osascript -e *)
Spotify Control Skill
Use AppleScript via osascript to interact with the Spotify desktop app on macOS.
When the user asks what music is playing
Run this command to get the current track info:
osascript -e '
tell application "Spotify"
if player state is playing then
set trackName to name of current track
set artistName to artist of current track
set albumName to album of current track
set trackDuration to duration of current track
set trackPosition to player position
set durationSec to trackDuration / 1000
set mins to (durationSec div 60) as integer
set secs to (durationSec mod 60) as integer
set posMins to (trackPosition div 60) as integer
set posSecs to (trackPosition mod 60 div 1) as integer
return "Now playing: " & trackName & " by " & artistName & " from the album " & albumName & " (" & posMins & ":" & (text -2 thru -1 of ("0" & posSecs)) & " / " & mins & ":" & (text -2 thru -1 of ("0" & secs)) & ")"
else
return "Spotify is not currently playing anything."
end if
end tell'
Present the result conversationally to the user.
When the user asks to play music
Run: osascript -e 'tell application "Spotify" to play'
When the user asks to pause or stop music
Run: osascript -e 'tell application "Spotify" to pause'
When the user asks to skip or play the next track
Run: osascript -e 'tell application "Spotify" to next track'
When the user asks to go back or play the previous track
Run: osascript -e 'tell application "Spotify" to previous track'
Important notes
- If Spotify is not running, tell the user to open Spotify first.
- Keep responses short and conversational.
- Do not use the Skill tool recursively.
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/spotify-control-mm8o525t/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/spotify-control-mm8o525t' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/spotify-control-mm8o525t/download' --output '.skill-downloads/spotify-control-mm8o525t/SKILL.md.part' && mv '.skill-downloads/spotify-control-mm8o525t/SKILL.md.part' '.skill-downloads/spotify-control-mm8o525t/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
Tools declared by the author (check availability in your agent): Bash(osascript -e *)
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
Claude Code
test -f '.skill-downloads/spotify-control-mm8o525t/SKILL.md' && test -s '.skill-downloads/spotify-control-mm8o525t/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/spotify' && cp -R '.skill-downloads/spotify-control-mm8o525t' '.claude/skills/spotify'OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/spotify-control-mm8o525t'openskills read 'spotify-control-mm8o525t'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/spotify-control-mm8o525t/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
PDF Reader
Productivity
Read and extract text from PDF files, including documents, reports, contracts, and spreadsheets. Works with local files, URLs, and WhatsApp attachments. Use whenever PDF content is needed, even if not explicitly requested.
Discord Messaging Workflows
Productivity
Use the message tool to send, edit, and moderate Discord messages with interactive components.
Interactive Verdict Preview
Productivity
Generate an interactive HTML preview of keep/drop verdicts for maintainer review, then process the pasted feedback JSON.