# Send Home Music to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "home-music",
    "name": "Home Music",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/asteinberger/home-music",
    "canonicalUrl": "https://clawhub.ai/asteinberger/home-music",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/home-music",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=home-music",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md",
      "home-music.sh"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/home-music"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/home-music",
    "downloadUrl": "https://openagent3.xyz/downloads/home-music",
    "agentUrl": "https://openagent3.xyz/skills/home-music/agent",
    "manifestUrl": "https://openagent3.xyz/skills/home-music/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/home-music/agent.md"
  }
}
```
## Documentation

### 🎯 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

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!

### 🌅 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...

### 🔇 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! 🎉

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

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.

### ❌ "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 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. 🪰
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: asteinberger
- Version: 1.0.0
## Source health
- Status: healthy
- Source download looks usable.
- Yavira can redirect you to the upstream package for this source.
- Health scope: source
- Reason: direct_download_ok
- Checked at: 2026-04-23T16:43:11.935Z
- Expires at: 2026-04-30T16:43:11.935Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/home-music)
- [Send to Agent page](https://openagent3.xyz/skills/home-music/agent)
- [JSON manifest](https://openagent3.xyz/skills/home-music/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/home-music/agent.md)
- [Download page](https://openagent3.xyz/downloads/home-music)