airfoil
Control AirPlay speakers via Airfoil from the command line.
Installation
npx clawhub@latest install airfoilView the full skill documentation and source below.
Documentation
π 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]() by Rogue Amoeba |
| Price | $35 (free trial available) |
Installation
# Via Homebrew
brew install --cask airfoil
# Or download from rogueamoeba.com/airfoil/mac/
π οΈ Commands
list β Show All Speakers
./airfoil.sh list
Output:
Computer, Andy's M5 Macbook, Sonos Move, Living Room TV
connect β Connect to Speaker
./airfoil.sh connect "Sonos Move"
Output:
Connected: Sonos Move
π‘ Speaker name must match exactly (case-sensitive!)
disconnect β Disconnect Speaker
./airfoil.sh disconnect "Sonos Move"
Output:
Disconnected: Sonos Move
volume <0-100> β Set Volume
# 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
./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"
./airfoil.sh connect "Sonos Move"
./airfoil.sh volume "Sonos Move" 50
# β Now fire up Spotify/Apple Music and enjoy!
π¬ "Movie Night Setup"
./airfoil.sh connect "Living Room TV"
./airfoil.sh volume "Living Room TV" 70
./airfoil.sh disconnect "Sonos Move" # If still connected
π "All Off"
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:
./airfoil.sh listβ "Airfoil Won't Start / No Permission"
Problem: AppleScript can't control Airfoil
Solutions:
β "Volume Doesn't Work"
Problem: Volume command has no effect
Solutions:
connect, then volumeβ "Airfoil Not Installed"
Problem: execution error: Application isn't running
Solution:
# Start Airfoil
open -a Airfoil
# Or install it
brew install --cask airfoil
β "bc: command not found"
Problem: Volume calculation fails
Solution:
# 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!"
Powered by: [Airfoil]() by Rogue Amoeba
Part of: [Clawdbot]() Skills Collection
Made with π for the Clawdbot Community
Ribbit! πΈ