home-music

Control whole-house music scenes combining Spotify playback with Airfoil speaker routing. Quick presets for morning, party, chill, focus, dinner, sleep modes.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "home-music" with this command: npx skills add terrycarter1985/home-music-tc

    ♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫
    
    🏠  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
  • Deep work mode → home-music focus → Instrumental focus on your desk
  • Dinner is served → home-music dinner → Jazz in the living room
  • Bedtime → home-music sleep → Ambient sounds, barely a whisper
  • Done for the day → home-music off → Silence. Peace. Serenity.

📋 Dependencies

WhatWhyLink
🍏 macOSThis skill uses AppleScript
🟢 Spotify Desktop AppThe music source! Must be running.spotify.com
📡 AirfoilRoutes audio to AirPlay speakersrogueamoeba.com
🎵 spotify-applescriptClawdbot skill for Spotify controlskills/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 concentration for work-from-home

home-music focus
  • Speaker: Computer only
  • Volume: 35%
  • Playlist: Deep Focus
  • Vibe: 💻 In the zone, no distractions

Why this scene? Morning/Chill/Party all use Sonos Move or all speakers, but nothing supports the WFH use case — quiet, localized, instrumental-only to sustain deep work without disturbing the rest of the house.


🍽️ Dinner

Elegant background for meals and entertaining

home-music dinner
  • Speaker: Sonos Move + Living Room TV
  • Volume: 25%
  • Playlist: Dinner Jazz
  • Vibe: 🍷 Conversation-friendly, never overpowering

Why this scene? Party is too loud, Chill is bedroom-scale, but dinner needs multi-room coverage at low volume so music enhances — never competes with — conversation.


🌙 Sleep

Gentle wind-down for bedtime

home-music sleep
  • Speaker: Computer only
  • Volume: 15% (near-whisper)
  • Playlist: Sleep / Ambient
  • Vibe: 🌛 Drift off gently

Why this scene? No existing scene addresses the end-of-day transition. Sleep uses the quietest possible volume on the nearest speaker with a calming playlist designed to fade into silence.


🔇 Off

Silence

home-music off
  • Pauses Spotify
  • Disconnects all speakers
  • 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"

How to find Playlist URIs:

  1. Right-click on a playlist in Spotify
  2. "Share" → "Copy Spotify URI"
  3. 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

  1. Set aliases for even faster access:

    alias mm="home-music morning"
    alias mp="home-music party"
    alias mc="home-music chill"
    alias mf="home-music focus"
    alias md="home-music dinner"
    alias ms="home-music sleep"
    alias mo="home-music off"
    
  2. Use with Clawdbot:

    "Hey, start party mode" "Put on some chill music" "Stop the music"

  3. Combine scenes: Create a dinner scene 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. 🪰

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

dataclaw-setup

Setup guide for installing and configuring DataClaw itself for use with OpenClaw. Use when the user wants to learn what DataClaw is or finish initial setup....

Registry SourceRecently Updated
General

Skill Forge

Detect repeated capability gaps, convert recurring user needs into candidate skills, scaffold new OpenClaw-compatible skills, and validate them before instal...

Registry SourceRecently Updated
General

Skill Forge (legacy slug)

Detect repeated capability gaps, convert recurring user needs into candidate skills, scaffold new OpenClaw-compatible skills, and validate them before instal...

Registry SourceRecently Updated
General

Gsk Pharma

提供关于GSK疫苗和特效药的历史、战略重组、主要产品及其在HIV和疫苗市场的领先地位分析。

Registry SourceRecently Updated