Find why your productivity system keeps failing, then apply the smallest fix โ capacity math, bottleneck routing, durable local notes.
Coding
Home Music
Try itControl whole-house music scenes combining Spotify playback with Airfoil speaker routing. Quick presets for morning, party, chill modes.
What it does
*"Why click 17 times when one command does the job?"* โ Owen ๐ธ
The skill document
โช โซ โช โซ โช โซ โช โซ โช โซ โช โซ โช โซ โช โซ โช โซ โช โซ
๐ 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 ๐ธ
๐ฏ What Does This Skill Do?
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:
- You wake up โ
home-music morningโ Gentle tunes in the bathroom - Friends arrive โ
home-music partyโ All speakers blasting rock - Time to relax โ
home-music chillโ Lounge vibes everywhere - Done for the day โ
home-music offโ Silence. Peace. Serenity.
๐ Dependencies
| 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 | skills/spotify-applescript/ |
โ ๏ธ Important: Both Spotify and Airfoil must be running before you start any scenes!
๐ฌ Scenes
๐ Morning
A gentle start to your day
home-music morning
- Speaker: Sonos Move
- Volume: 40%
- Playlist: Morning Playlist
- Vibe: โ Coffee + good vibes
๐ Party
Time to celebrate!
home-music party
- Speaker: ALL (Computer, MacBook, Sonos Move, Living Room TV)
- Volume: 70%
- Playlist: Rock Party Mix
- Vibe: ๐ค Neighbors hate this one trick
๐ Chill
Pure relaxation
home-music chill
- Speaker: Sonos Move
- Volume: 30%
- Playlist: Chill Lounge
- Vibe: ๐ง Om...
๐ฏ Focus
Deep work mode
home-music focus
- Speaker: Sonos Move
- Volume: 25%
- Playlist: Deep Focus
- Vibe: ๐ง In the zone
๐ Off / Stop
Silence
home-music off
home-music stop
home-music stop --fade # Gradual fade-out over ~3 seconds
- Pauses Spotify
- Disconnects all speakers
- With
--fade: gradually reduces volume before stopping - Vibe: ๐คซ Finally, peace and quiet
๐ Status
What's playing right now?
home-music status
Shows:
- Current Spotify track
- Connected speakers
๐ง Installation
# Make the script executable
chmod +x ~/clawd/skills/home-music/home-music.sh
# Symlink 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! ๐
๐จ Custom Playlists & Scenes
Changing Playlists
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"
PLAYLIST_FOCUS="spotify:playlist:37i9dQZF1DWZeKC4gAKpQo"
How to find Playlist URIs:
- Right-click on a playlist in Spotify
- "Share" โ "Copy Spotify URI"
- Or copy the URL and extract the
/playlist/part
Adding a New Scene
Add 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
;;
Available Speakers
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.
๐ Troubleshooting
โ "Speaker won't connect"
Check 1: Is Airfoil running?
pgrep -x Airfoil || echo "Airfoil is not running!"
Check 2: Is the speaker on the network?
- Open the Airfoil app
- Check if the speaker appears in the list
- Try connecting manually
Check 3: Is the name exactly correct?
- Speaker names are case-sensitive!
- Open Airfoil and copy the exact name
โ "No sound"
Check 1: Is Spotify playing?
~/clawd/skills/spotify-applescript/spotify.sh status
Check 2: Is the Airfoil source correct?
- Open Airfoil
- Check if "Spotify" is selected as the audio source
- If not: Click "Source" โ Select Spotify
Check 3: Speaker volume?
# Manually check volume
osascript -e 'tell application "Airfoil" to get volume of (first speaker whose name is "Sonos Move")'
โ "Spotify won't start"
Is Spotify open?
pgrep -x Spotify || open -a Spotify
Is spotify-applescript installed?
ls ~/clawd/skills/spotify-applescript/spotify.sh
โ "Permission denied"
chmod +x ~/clawd/skills/home-music/home-music.sh
๐ Direct Airfoil Commands
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'
๐ Files
skills/home-music/
โโโ SKILL.md # This documentation
โโโ home-music.sh # The main script
๐ก Pro Tips
-
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
dinnerscene with a jazz playlist at 25% โ perfect for guests!
๐ธ Credits
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ โ
โ Crafted with ๐ by Owen the Frog ๐ธ โ
โ โ
โ "Ribbit. Music makes everything better." โ
โ โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
Author: Andy Steinberger (with help from his Clawdbot Owen the Frog ๐ธ)
Version: 1.1.0
License: MIT
Pond: The one with the water lilies ๐ชท
Did this skill improve your life? Owen appreciates flies. ๐ชฐ
Related skills
Save, search, and manage personal notes and knowledge bases in Get็ฌ่ฎฐ on explicit request.
figma-use
OfficialExecute JavaScript inside Figma files via the Plugin API to read and write nodes, variables, and components.
cli-creator
OfficialBuild a composable, installable CLI from API docs, OpenAPI, curl, an SDK, or existing scripts.
aspnet-core
OfficialGet current Microsoft-aligned guidance for building ASP.NET Core apps across Blazor, Razor Pages, MVC, and Minimal APIs.
algorithmic-art
OfficialGenerates original algorithmic art in p5.js โ from a written philosophy to a seeded, interactive viewer.
More from terrycarter1985
Browse all skillsGrade English homework for Chinese primary students in grades 3โ6 with consistent, age-appropriate feedback.
Analyze stocks and cryptocurrencies using Yahoo Finance data. Supports portfolio management (create, add, remove assets), crypto analysis (Top 20 by market c...
Control whole-house music scenes combining Spotify playback with Airfoil speaker routing. Quick presets for morning, party, chill modes.
Generate reusable, policy-aligned customer service replies for e-commerce aftersales scenarios. Use when support staff need fast, compliant Chinese responses...
Control whole-house music scenes combining Spotify playback with Airfoil speaker routing. Quick presets for morning, party, chill modes.
Comprehensive developer cheatsheets and quick references for Git, Docker, Kubernetes, jq, curl, and common Linux commands. Use when needing quick lookups for...