Home Music
Control whole-house music scenes combining Spotify playback with Airfoil speaker routing. Quick presets for morning, party, chill modes.
Control whole-house music scenes combining Spotify playback with Airfoil speaker routing. Quick presets for morning, party, chill modes.
Real data. Real impact.
Growing
Developers
Per week
Open source
Skills give you superpowers. Install in 30 seconds.
♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫ 🏠 H O M E M U S I C 🎵 ╔══════════════════════════════════════════╗ ║ Whole-House Music Scenes ║ ║ One command. All speakers. Perfect. ║ ╚══════════════════════════════════════════╝ ♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫
"Why click 17 times when one command does the job?" – Owen 🐸
Home Music combines Spotify + Airfoil into magical music scenes. One command – and the right playlist plays on the right speakers at the perfect volume.
Imagine:
home-music morning → Gentle tunes in the bathroomhome-music party → All speakers blasting rockhome-music chill → Lounge vibes everywherehome-music off → Silence. Peace. Serenity.| What | Why | Link |
|---|---|---|
| 🍏 macOS | This skill uses AppleScript | — |
| 🟢 Spotify Desktop App | The music source! Must be running. | spotify.com |
| 📡 Airfoil | Routes audio to AirPlay speakers | rogueamoeba.com |
| 🎵 spotify-applescript | Clawdbot skill for Spotify control | |
⚠️ Important: Both Spotify and Airfoil must be running before you start any scenes!
A gentle start to your day
home-music morning
Time to celebrate!
home-music party
Pure relaxation
home-music chill
Silence
home-music off
What's playing right now?
home-music status
Shows:
# Make the script executable chmod +x ~/clawd/skills/home-music/home-music.shSymlink for global access
sudo ln -sf ~/clawd/skills/home-music/home-music.sh /usr/local/bin/home-music
Now
home-music works from anywhere in your terminal! 🎉
Open
home-music.sh and find the playlist configuration:
# === PLAYLIST CONFIGURATION === PLAYLIST_MORNING="spotify:playlist:19n65kQ5NEKgkvSAla5IF6" PLAYLIST_PARTY="spotify:playlist:37i9dQZF1DXaXB8fQg7xif" PLAYLIST_CHILL="spotify:playlist:37i9dQZF1DWTwnEm1IYyoj"
How to find Playlist URIs:
/playlist/ partAdd a new case in the
main block:
# In home-music.sh after the "scene_chill" function:scene_workout() { echo "💪 Starting Workout scene..." airfoil_set_source_spotify airfoil_connect "Sonos Move" sleep 0.5 airfoil_volume "Sonos Move" 0.8 "$SPOTIFY_CMD" play "spotify:playlist:YOUR_WORKOUT_PLAYLIST" "$SPOTIFY_CMD" volume 100 echo "✅ Workout: Sonos Move @ 80%, Pump it up!" }
And in the case block:
workout) scene_workout ;;
ALL_SPEAKERS=("Computer" "Andy's M5 Macbook" "Sonos Move" "Living Room TV")
You can add any AirPlay speaker – they just need to be visible in Airfoil.
Check 1: Is Airfoil running?
pgrep -x Airfoil || echo "Airfoil is not running!"
Check 2: Is the speaker on the network?
Check 3: Is the name exactly correct?
Check 1: Is Spotify playing?
~/clawd/skills/spotify-applescript/spotify.sh status
Check 2: Is the Airfoil source correct?
Check 3: Speaker volume?
# Manually check volume osascript -e 'tell application "Airfoil" to get volume of (first speaker whose name is "Sonos Move")'
Is Spotify open?
pgrep -x Spotify || open -a Spotify
Is spotify-applescript installed?
ls ~/clawd/skills/spotify-applescript/spotify.sh
chmod +x ~/clawd/skills/home-music/home-music.sh
If you want to control Airfoil manually:
# Connect a speaker osascript -e 'tell application "Airfoil" to connect to (first speaker whose name is "Sonos Move")'Set speaker volume (0.0 - 1.0)
osascript -e 'tell application "Airfoil" to set (volume of (first speaker whose name is "Sonos Move")) to 0.5'
Disconnect a speaker
osascript -e 'tell application "Airfoil" to disconnect from (first speaker whose name is "Sonos Move")'
List connected speakers
osascript -e 'tell application "Airfoil" to get name of every speaker whose connected is true'
Set audio source
osascript -e 'tell application "Airfoil" set theSource to (first application source whose name contains "Spotify") set current audio source to theSource end tell'
skills/home-music/ ├── SKILL.md # This documentation └── home-music.sh # The main script
Set aliases for even faster access:
alias mm="home-music morning" alias mp="home-music party" alias mc="home-music chill" alias mo="home-music off"
Use with Clawdbot:
"Hey, start party mode" "Put on some chill music" "Stop the music"
Combine scenes: Create a
dinner scene with a jazz playlist at 25% – perfect for guests!
╭─────────────────────────────────────────────╮ │ │ │ Crafted with 💚 by Owen the Frog 🐸 │ │ │ │ "Ribbit. Music makes everything better." │ │ │ ╰─────────────────────────────────────────────╯
Author: Andy Steinberger (with help from his Clawdbot Owen the Frog 🐸)
Version: 1.0.0
License: MIT
Pond: The one with the water lilies 🪷
Did this skill improve your life? Owen appreciates flies. 🪰
No automatic installation available. Please visit the source repository for installation instructions.
View Installation Instructions1,500+ AI skills, agents & workflows. Install in 30 seconds. Part of the Torly.ai family.
© 2026 Torly.ai. All rights reserved.