apple-music
Apple Music
Control Apple Music via MusicKit API and AppleScript. Path: ~/.thinkfleetbot/skills/apple-music/
Local (No Setup)
Playback: ./apple-music.sh player [now|play|pause|toggle|next|prev|shuffle|repeat|volume N|song "name"]
AirPlay: ./apple-music.sh airplay [list|select N|add N|remove N]
API (Setup Required)
Requires Apple Developer account ($99/yr) + MusicKit key.
Setup
Portal steps first:
- developer.apple.com → Keys → Create MusicKit key → Download .p8
- Note your Key ID and Team ID
Then run setup:
./launch-setup.sh # Opens Terminal for interactive setup
The launcher opens Terminal.app and runs the setup script there. Enter your .p8 path, Key ID, Team ID, then authorize in browser and paste the token.
⚠️ Agents: Always use ./launch-setup.sh to open Terminal. Don't run setup.sh through chat (requires interactive input).
Commands
search "query" [--type songs|albums|artists] [--limit N]library add <song-id>playlists [list|create "Name"|add <playlist-id> <song-id>]
Config
config.json stores tokens (valid ~6 months). Re-run ./setup.sh if auth fails.
Errors
- 401: Token expired, re-run setup
- 403: Check Apple Music subscription
- 404: Invalid ID or region-locked
Setup Issues
- 404 on auth page: Setup script auto-fixes with HTTP server verification
- No token in browser: Restart setup.sh
- Browser won't open: Manually open printed URL (Chrome recommended)
More from thinkfleetai/thinkfleet-engine
local-whisper
Local speech-to-text using OpenAI Whisper. Runs fully offline after model download. High quality transcription with multiple model sizes.
149flyio-cli-public
Use the Fly.io flyctl CLI for deploying and operating apps on Fly.io: deploys (local or remote builder), viewing status/logs, SSH/console, secrets/config, scaling, machines, volumes, and Fly Postgres (create/attach/manage databases). Use when asked to deploy to Fly.io, debug fly deploy/build/runtime failures, set up GitHub Actions deploys/previews, or safely manage Fly apps and Postgres.
24kagi-search
Web search using Kagi Search API. Use when you need to search the web for current information, facts, or references. Requires KAGI_API_KEY in the environment.
22voice-transcribe
Transcribe audio files using OpenAI's gpt-4o-mini-transcribe model with vocabulary hints and text replacements. Requires uv (https://docs.astral.sh/uv/).
10freshrss
Query headlines and articles from a self-hosted FreshRSS instance. Use when the user asks for RSS news, latest headlines, feed updates, or wants to browse articles from their FreshRSS reader. Supports filtering by category, time range, and count.
9pollinations
Pollinations.ai API for AI generation - text, images, videos, audio, and analysis. Use when user requests AI-powered generation (text completion, images, videos, audio, vision/analysis, transcription) or mentions Pollinations. Supports 25+ models (OpenAI, Claude, Gemini, Flux, Veo, etc.) with OpenAI-compatible chat endpoint and specialized generation endpoints.
6