Back to skills
SkillHub ClubShip Full StackFull Stack

home-music

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

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
3,091
Hot score
99
Updated
March 20, 2026
Overall rating
C0.0
Composite score
0.0
Best-practice grade
B77.6

Install command

npx @skill-hub/cli install openclaw-skills-home-music

Repository

openclaw/skills

Skill path: skills/asteinberger/home-music

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

Open repository

Best for

Primary workflow: Ship Full Stack.

Technical facets: Full Stack.

Target audience: everyone.

License: Unknown.

Original source

Catalog source: SkillHub Club.

Repository owner: openclaw.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install home-music into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/openclaw/skills before adding home-music to shared team environments
  • Use home-music for development workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw SKILL.md

---
name: home-music
description: Control whole-house music scenes combining Spotify playback with Airfoil speaker routing. Quick presets for morning, party, chill modes.
homepage: local
metadata: {"clawdbot":{"emoji":"๐Ÿ ","os":["darwin"]}}
triggers:
  - music scene
  - morning music
  - party mode
  - chill music
  - house music
  - stop music
---

```
    โ™ช โ™ซ โ™ช โ™ซ โ™ช โ™ซ โ™ช โ™ซ โ™ช โ™ซ โ™ช โ™ซ โ™ช โ™ซ โ™ช โ™ซ โ™ช โ™ซ โ™ช โ™ซ
    
    ๐Ÿ   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](https://spotify.com) |
| ๐Ÿ“ก **Airfoil** | Routes audio to AirPlay speakers | [rogueamoeba.com](https://rogueamoeba.com/airfoil/) |
| ๐ŸŽต **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*

```bash
home-music morning
```
- **Speaker:** Sonos Move
- **Volume:** 40%
- **Playlist:** Morning Playlist
- **Vibe:** โ˜• Coffee + good vibes

---

### ๐ŸŽ‰ Party
*Time to celebrate!*

```bash
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*

```bash
home-music chill
```
- **Speaker:** Sonos Move
- **Volume:** 30%
- **Playlist:** Chill Lounge
- **Vibe:** ๐Ÿง˜ Om...

---

### ๐Ÿ”‡ Off
*Silence*

```bash
home-music off
```
- Pauses Spotify
- Disconnects all speakers
- **Vibe:** ๐Ÿคซ Finally, peace and quiet

---

### ๐Ÿ“Š Status
*What's playing right now?*

```bash
home-music status
```

Shows:
- Current Spotify track
- Connected speakers

---

## ๐Ÿ”ง Installation

```bash
# 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:

```bash
# === 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:

```bash
# 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

```bash
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?
```bash
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?
```bash
~/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?
```bash
# 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?**
```bash
pgrep -x Spotify || open -a Spotify
```

**Is spotify-applescript installed?**
```bash
ls ~/clawd/skills/spotify-applescript/spotify.sh
```

---

### โŒ "Permission denied"

```bash
chmod +x ~/clawd/skills/home-music/home-music.sh
```

---

## ๐Ÿ”Š Direct Airfoil Commands

If you want to control Airfoil manually:

```bash
# 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:
   ```bash
   alias mm="home-music morning"
   alias mp="home-music party"
   alias mc="home-music chill"
   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.0.0  
**License:** MIT  
**Pond:** The one with the water lilies ๐Ÿชท

---

*Did this skill improve your life? Owen appreciates flies. ๐Ÿชฐ*


---

## Skill Companion Files

> Additional files collected from the skill directory layout.

### _meta.json

```json
{
  "owner": "asteinberger",
  "slug": "home-music",
  "displayName": "Home Music",
  "latest": {
    "version": "1.0.0",
    "publishedAt": 1769324742847,
    "commit": "https://github.com/clawdbot/skills/commit/cea9c9f3812f278496a27baf988fe165b10d3214"
  },
  "history": []
}

```

home-music | SkillHub