Agent skill

Spotify Hub

by OpenMinis in OpenMinis/MinisSkills

A skill that uses Python and spotipy to control Spotify playback.

MITAuto-check passed

Install Spotify Hub

skills CLI
$ npx skills add OpenMinis/MinisSkills --skill spotify-hub -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install OpenMinis/MinisSkills spotify-hub --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/OpenMinis/MinisSkills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/spotify-hub .claude/skills/spotify-hub && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
spotify-hub
GitHub stars
444
Token cost
~1.2k tokens
SKILL.md length
373 words
Files
3 (incl. scripts)
Skills in repo
49
Repo updated
First seen
Licence
MIT

At a glance

A skill that uses Python and spotipy to control Spotify playback.

  • SKILL.md covers Dependencies, Environment Requirements, Authorization Flow (First Time… and Core Script, plus 2 more sections
  • Runs Python scripts from its folder; calls uv and pip; needs SPOTIPY_CLIENT_SECRET

What it does

Spotify Hub is an agent skill from OpenMinis/MinisSkills. A skill that uses Python and spotipy to control Spotify playback. It supports play/pause, skipping tracks, volume, shuffle, searching for and playing songs, generating mixed playlists from keywords (for example, TikTok hits, a specific genre, or a specific artist), and viewing the current playback status and device list. This skill must be triggered whenever the user mentions "Spotify," "play music," "skip a track," "pause," "search for a song," "switch playlists," "spotify-hub," or any scenario that requires…

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including scripts (for example `scripts/spotify.py` and `scripts/spotify_auth.py`).

It works with Spotify, TikTok and Python. The repository describes itself as: Skills collection for Minis. The licence is MIT.

Example prompts

  • “Spotify,”
  • “play music,”
  • “skip a track,”
  • “/spotify-hub”

Requirements

  • Python 3
  • A credential in SPOTIPY_CLIENT_SECRET

What it can do on your machine

Read from SKILL.md and the folder at commit ae8c5db. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 2 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • uv
    • pip

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • developer.spotify.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • SPOTIPY_CLIENT_SECRET

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Spotify Hub loads about 1.2k tokens when it runs. Until then it costs about 139 tokens; SKILL.md has 373 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~139
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from OpenMinis/MinisSkills at commit ae8c5db, republished under its MIT licence (© OpenMinis). 373 words, ~1,194 tokens.

Download SKILL.mdSave it as .claude/skills/spotify-hub/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
spotify-hub
description
A skill that uses Python and spotipy to control Spotify playback. It supports play/pause, skipping tracks, volume, shuffle, searching for and playing songs, generating mixed playlists from keywords (for example, TikTok hits, a specific genre, or a specific artist), and viewing the current playback status and device list. This skill must be triggered whenever the user mentions "Spotify," "play music," "skip a track," "pause," "search for a song," "switch playlists," "spotify-hub," or any scenario that requires controlling Spotify playback.
version
1.0.0

Spotify Hub

Use the spotipy library to call the Spotify Web API, control playback, and search for music.

Dependencies

Both scripts declare dependencies (spotipy>=2.26.0) using uv inline script. When executed with uv run, they are installed automatically, so no manual pip install is required.

Environment Requirements

The following environment variables must be set. If they are not set, guide the user to create them:

  • SPOTIPY_CLIENT_ID — Settings
  • SPOTIPY_CLIENT_SECRET — Settings
  • SPOTIPY_REDIRECT_URI — Settings

Apply for credentials at https://developer.spotify.com/dashboard → Create App → set Redirect URI to http://127.0.0.1:8888/callback

Authorization Flow (First Time or When the Token Expires)

The token is stored in ~/.config/spotify/cache and includes a refresh_token. Under normal circumstances, it remains valid indefinitely and does not require repeated authorization.

When authorization is required, start the authorization server in the background, get the URL, and give it directly to the user to click:

python
# Start the authorization server in the background
import subprocess, time
subprocess.Popen(["uv", "run", "--script", "--cache-dir", "/root/.cache/uv",
                              "/var/minis/skills/spotify-hub/scripts/spotify_auth.py"],
                 stdout=open("/tmp/spotify_auth.log", "w"), stderr=subprocess.STDOUT)
time.sleep(2)
url = open("/tmp/spotify_auth_url.txt").read().strip()
print(url)

Then provide the user with a clickable authorization link in the reply: [👉 Click to authorize Spotify](<url>)

After authorization is complete, the browser displays "✅ Spotify authorization successful!". Once the user informs you, you can continue.

Show full SKILL.md (202 more words)Show less

Core Script

All operations are executed through /var/minis/skills/spotify-hub/scripts/spotify.py:

bash
uv run --script --cache-dir /root/.cache/uv /var/minis/skills/spotify-hub/scripts/spotify.py <cmd> [args]
CommandDescription
statusCurrent playback status + device list
play / pausePlay / pause
next / prevNext track / previous track
volume <0-100>Set volume
shuffle on/offToggle shuffle
repeat off/track/contextRepeat mode
seek <seconds or mm:ss>Seek playback position
search <keyword>Search and play
play-track <id/uri>Play a specified track
play-playlist <id/uri>Play a specified playlist
save / unsaveSave / unsave the current track
liked [count]View saved tracks
recent [count]Recently played history
top [tracks/artists] [count]Most-listened tracks / artists
playlistsView my playlist list
create-playlist <name>Create a playlist
add-to-playlist <id>Add the current track to a playlist
follow <artist name>Follow an artist
followingView followed artists

Third-party public playlists will return 403. Do not attempt to read playlists. Instead, use multi-keyword search to mix and play tracks:

python
from scripts.spotify import get_sp, search_multi_and_play

sp = get_sp()
keywords = ["TikTok trending", "douyin trending", "tiktok viral 2024", "TikTok hit songs"]
search_multi_and_play(sp, keywords, count_each=10, market="HK")

Or call spotify.py search directly with shell_execute:

bash
uv run --script --cache-dir /root/.cache/uv /var/minis/skills/spotify-hub/scripts/spotify.py search "TikTok trending"

Notes

  • Playback control requires an active device (Spotify is open on a phone or computer and has played before)
  • market="HK" can find more Chinese songs
  • spotipy is preinstalled (pip show spotipy can verify this)
  • In Development Mode, 403 for third-party public playlists is a normal restriction. Use search instead.

© OpenMinis, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (scripts) in spotify-hub of OpenMinis/MinisSkills.

  • SKILL.md
  • scripts/spotify.py
  • scripts/spotify_auth.py

Open the folder on GitHubat commit ae8c5db

Compare with similar skills

Spotify Hub next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Spotify Hub compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Spotify Hub this skillOpenMinis/MinisSkills444—~1.2kAutomated safety check: PassMIT
Last30daysmvanhorn/last30days-skill64k—~7.9kAutomated safety check: NotesMIT
Google Maps ScraperMahanaicoach/google-maps-scraper-kit1.3k—~2.8kAutomated safety check: PassMIT
Ffmpeg Skillkajisho5/ffmpeg-skill1.9k—~7.4kAutomated safety check: PassMIT
Claude Real VideoHUANGCHIHHUNGLeo/claude-real-video2.2k—~559Automated safety check: PassMIT
Watchmathiaschu/watch142—~4kAutomated safety check: WarnMIT

Similar skills

  • Last30days

    mvanhorn/last30days-skill

    Research what people actually say about any topic in the last 30 days.

    64k GitHub stars~7.9k tokensUpdated today
    Research & ScienceAuto-check: notes
  • Google Maps Scraper

    Mahanaicoach/google-maps-scraper-kit

    Scrape Google Maps business listings (name, address, phone, website, rating, reviews, lat/lng, hours, emails) via the local gosom google-maps-scraper REST API.

    1.3k GitHub stars~2.8k tokensUpdated 3 days ago
    Data & AnalyticsAuto-check passed
  • Ffmpeg Skill

    kajisho5/ffmpeg-skill

    Edit video and audio with local FFmpeg from natural-language requests: cut, trim, join, resize/reframe (9:16, 1:1), speed change, captions and subtitles (SRT/ASS, animated, karaoke), logos and text…

    1.9k GitHub stars~7.4k tokensUpdated 4 days ago
    Media & CreativeAuto-check passed
  • Claude Real Video

    HUANGCHIHHUNGLeo/claude-real-video

    幫 Leo 看影片。當 Leo 丟影片連結(YouTube/IG/TikTok)或本機影片檔,要摘要、分析、拆解對標時使用——Claude 不能直接吃影片,先用這個工具抽關鍵幀+逐字稿+運鏡節奏+聲音/語氣/手勢時間軸再讀。

    2.2k GitHub stars~559 tokensUpdated today
    Media & CreativeAuto-check passed
  • Watch

    mathiaschu/watch

    Watch a video from YouTube, Instagram, X/Twitter, Vimeo, TikTok or any of ~1800 yt-dlp sites (or a local path).

    142 GitHub stars~4k tokensUpdated 4 mo ago
    Media & CreativeAuto-check: warnings
  • Tiktok Hashtag Videos

    browser-act/skills

    TikTok hashtag video scraper: input a hashtag name → output paginated video list with full metadata (author profile, engagement stats, music, video meta, hashtag list).

    6.1k GitHub stars~2k tokensUpdated 1 mo ago
    Data & AnalyticsAuto-check passed

More from OpenMinis/MinisSkills

All 49 skills in this repo
  • Android UI Automation

    OpenMinis/MinisSkills

    Automate Android apps that have no public API or web version by driving the UI layer through the Accessibility Service.

    444 GitHub stars~1.6k tokensUpdated yesterday
    Auto-check passed
  • Codex On Ish

    OpenMinis/MinisSkills

    Install and run OpenAI Codex CLI inside the Minis/iSH Alpine sandbox on iOS, where rustls TLS and async sockets are broken.

    444 GitHub stars~1k tokensUpdated yesterday
    Auto-check passed
  • Evidence Chain Builder

    OpenMinis/MinisSkills

    Score a claim against the evidence behind it. An agent skill from OpenMinis/MinisSkills.

    444 GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed
  • Hyperframes CLI

    OpenMinis/MinisSkills

    HyperFrames CLI and Minis rendering. An agent skill from OpenMinis/MinisSkills.

    444 GitHub stars~3.5k tokensUpdated yesterday
    Auto-check passed
  • Whenpeak

    OpenMinis/MinisSkills

    Predict when a person's brain works best from their sleep, using the WhenPeak performance-intelligence API, and turn it into concrete scheduling advice.

    444 GitHub stars~2.3k tokensUpdated yesterday
    Auto-check passed
  • Openstreetmap Marker

    OpenMinis/MinisSkills

    Generate a mobile-first, immersive, Amap(Gaode)-style custom landmark marker HTML map for travel itinerary planning, place showcasing, location sharing, etc.

    444 GitHub stars~1.9k tokensUpdated yesterday
    Auto-check passed

Questions about Spotify Hub

What does Spotify Hub do?

A skill that uses Python and spotipy to control Spotify playback. Spotify Hub is an agent skill from OpenMinis/MinisSkills. A skill that uses Python and spotipy to control Spotify playback.

How do I install Spotify Hub in Claude Code?

Run `npx skills add OpenMinis/MinisSkills --skill spotify-hub -a claude-code`. Or copy the skill folder (spotify-hub in OpenMinis/MinisSkills) into .claude/skills/spotify-hub in your project. Claude Code loads it when a task matches its description.

How do I install Spotify Hub in Codex?

Run `npx skills add OpenMinis/MinisSkills --skill spotify-hub -a codex`. Or copy the skill folder (spotify-hub in OpenMinis/MinisSkills) into .agents/skills/spotify-hub in your project. Codex loads it when a task matches its description.

Can I use Spotify Hub in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add OpenMinis/MinisSkills --skill spotify-hub -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/spotify-hub, .gemini/skills/spotify-hub, .github/skills/spotify-hub and .opencode/skills/spotify-hub in your project.

What does Spotify Hub need to run?

Going by SKILL.md and its folder, Spotify Hub needs Python for the scripts in its folder, the command-line tools its instructions call (uv and pip) and credentials named SPOTIPY_CLIENT_SECRET. Our summary lists: Python 3; A credential in SPOTIPY_CLIENT_SECRET.

Does Spotify Hub access the network?

SKILL.md names 1 domain. As links in the text: developer.spotify.com. This is read from the text; nothing was executed.

Is Spotify Hub safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Spotify Hub use?

Spotify Hub is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Spotify Hub use?

About 1.2k tokens (SKILL.md is roughly 4.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Spotify Hub?

Skills that share tags, products or a category with Spotify Hub: Last30days (mvanhorn/last30days-skill, 64k stars), Google Maps Scraper (Mahanaicoach/google-maps-scraper-kit, 1.3k stars), Ffmpeg Skill (kajisho5/ffmpeg-skill, 1.9k stars) and Claude Real Video (HUANGCHIHHUNGLeo/claude-real-video, 2.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Spotify Hub?

OpenMinis (a GitHub organization) maintains it in OpenMinis/MinisSkills, which has 444 GitHub stars. The repository holds 49 skills in this directory. The repository was last updated on October 7, 2026.

Source: OpenMinis/MinisSkills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.