Introduction
# š Airfoil Skill
``` āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā ā ā šµ A I R F O I L S P E A K E R C O N T R O L šµ ā ā ā ā Stream audio to any AirPlay speaker ā ā from your Mac via CLI ā ā ā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ```
> *"Why hop to your Mac when you can croak at it?"* šø
---
## š What Does This Skill Do?
The **Airfoil Skill** gives you full control over your AirPlay speakers directly from the terminal ā or through Clawd! Connect speakers, control volume, check status ā all without touching the mouse.
**Features:** - š” **List** ā Show all available speakers - š **Connect** ā Connect to a speaker - š **Disconnect** ā Disconnect from a speaker - š **Volume** ā Control volume (0-100%) - š **Status** ā Show connected speakers with volume levels
---
## āļø Requirements
| What | Details | |------|---------| | **OS** | macOS (uses AppleScript) | | **App** | [Airfoil](https://rogueamoeba.com/airfoil/mac/) by Rogue Amoeba | | **Price** | $35 (free trial available) |
### Installation
1. **Install Airfoil:** ```bash # Via Homebrew brew install --cask airfoil # Or download from rogueamoeba.com/airfoil/mac/ ```
2. **Launch Airfoil** and grant Accessibility permissions (System Settings ā Privacy & Security ā Accessibility)
3. **Skill is ready!** š
---
## š ļø Commands
### `list` ā Show All Speakers
```bash ./airfoil.sh list ```
**Output:** ``` Computer, Andy's M5 Macbook, Sonos Move, Living Room TV ```
---
### `connect <speaker>` ā Connect to Speaker
```bash ./airfoil.sh connect "Sonos Move" ```
**Output:** ``` Connected: Sonos Move ```
> š” Speaker name must match exactly (case-sensitive!)
---
### `disconnect <speaker>` ā Disconnect Speaker
```bash ./airfoil.sh disconnect "Sonos Move" ```
**Output:** ``` Disconnected: Sonos Move ```
---
### `volume <speaker> <0-100>` ā Set Volume
```bash # Set to 40% ./airfoil.sh volume "Sonos Move" 40
# Set to maximum ./airfoil.sh volume "Living Room TV" 100
# Quiet mode for night time ./airfoil.sh volume "Sonos Move" 15 ```
**Output:** ``` Volume Sonos Move: 40% ```
---
### `status` ā Show Connected Speakers
```bash ./airfoil.sh status ```
**Output:** ``` Sonos Move: 40% Living Room TV: 65% ```
Or if nothing is connected: ``` No speakers connected ```
---
## šÆ Example Workflows
### š "Music in the Living Room" ```bash ./airfoil.sh connect "Sonos Move" ./airfoil.sh volume "Sonos Move" 50 # ā Now fire up Spotify/Apple Music and enjoy! ```
### š¬ "Movie Night Setup" ```bash ./airfoil.sh connect "Living Room TV" ./airfoil.sh volume "Living Room TV" 70 ./airfoil.sh disconnect "Sonos Move" # If still connected ```
### š "All Off" ```bash for speaker in "Sonos Move" "Living Room TV"; do ./airfoil.sh disconnect "$speaker" 2>/dev/null done echo "All speakers disconnected š" ```
---
## š§ Troubleshooting
### ā "Speaker Not Found"
**Problem:** `execution error: Airfoil got an error: Can't get speaker...`
**Solutions:** 1. Check exact spelling: `./airfoil.sh list` 2. Speaker name is **case-sensitive** ("sonos move" ā "Sonos Move") 3. Speaker must be on the same network 4. Speaker must be powered on and reachable
---
### ā "Airfoil Won't Start / No Permission"
**Problem:** AppleScript can't control Airfoil
**Solutions:** 1. **System Settings ā Privacy & Security ā Accessibility** 2. Add Terminal (or iTerm) 3. Add Airfoil 4. Restart macOS (sometimes necessary š)
---
### ā "Volume Doesn't Work"
**Problem:** Volume command has no effect
**Solutions:** 1. Speaker must be **connected** before volume can be set 2. First `connect`, then `volume` 3. Some speakers have hardware-side limits
---
### ā "Airfoil Not Installed"
**Problem:** `execution error: Application isn't running`
**Solution:** ```bash # Start Airfoil open -a Airfoil
# Or install it brew install --cask airfoil ```
---
### ā "bc: command not found"
**Problem:** Volume calculation fails
**Solution:** ```bash # Install bc (should be standard on macOS) brew install bc ```
---
## š Known Speakers
These speakers have been tested:
| Speaker | Type | Notes | |---------|------|-------| | `Computer` | Local | Always available | | `Andy's M5 Macbook` | Mac | When on the network | | `Sonos Move` | Sonos | Bluetooth or WiFi | | `Living Room TV` | Apple TV | Via AirPlay |
> š” Use `./airfoil.sh list` to discover your own speakers!
---
## š Integration with Clawd
This skill works perfectly with Clawd! Examples:
``` "Hey Clawd, connect the Sonos Move" ā ./airfoil.sh connect "Sonos Move"
"Turn the music down" ā ./airfoil.sh volume "Sonos Move" 30
"Which speakers are on?" ā ./airfoil.sh status ```
---
## š Changelog
| Version | Date | Changes | |---------|------|---------| | 1.0.0 | 2025-01-25 | Initial release | | 1.1.0 | 2025-06-10 | Documentation polished šø | | 1.2.0 | 2025-06-26 | Translated to English, ClawdHub-ready! |
---
## šø Credits
``` @..@ (----) ( >__< ) "This skill was crafted with love ^^ ^^ by a frog and his human!" ```
**Author:** Andy Steinberger (with help from his Clawdbot Owen the Frog šø) **Powered by:** [Airfoil](https://rogueamoeba.com/airfoil/mac/) by Rogue Amoeba **Part of:** [Clawdbot](https://clawdhub.com) Skills Collection
---
<div align="center">
**Made with š for the Clawdbot Community**
*Ribbit!* šø
</div>