Floyd
Play an audio file (.mp3, .wav, or .flac) using the floyd command line player. Use when the user wants to play, listen to, or preview an audio file.From its SKILL.md
npx -y skills add robrohan/floyd --skill floydAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
2.4 KB, 594 tokens by cl100k_base, as published. Nobody here has run it
Play or stop audio using the floyd command line player.
Supported formats: .mp3, .wav, .flac
The PID of any running floyd process is stored in /tmp/floyd.pid.
Steps
Step 1 — Ensure floyd is installed
Check if floyd is on the PATH:
which floyd
If not found, detect the OS and download the appropriate binary from the latest release:
OS=$(uname -s)
if [ "$OS" = "Darwin" ]; then
curl -L https://github.com/robrohan/floyd/releases/tag/v1.0.0/floyd-mac -o /usr/local/bin/floyd
else
curl -L https://github.com/robrohan/floyd/releases/tag/v1.0.0/floyd -o /usr/local/bin/floyd
fi
chmod +x /usr/local/bin/floyd
If /usr/local/bin is not writable, try ~/.local/bin instead (create it if needed) and inform the user they may need to add it to their PATH.
If the user wants to stop playback (argument is "stop" or user says stop/pause):
- Check if
/tmp/floyd.pidexists. If not, tell the user nothing is playing. - Stop the process and clean up:
kill $(cat /tmp/floyd.pid) && rm /tmp/floyd.pid
- Tell the user playback has stopped.
If the user wants to start playback (argument is a file or directory path):
- If
$ARGUMENTSis empty, ask the user which file or directory they want to play. - If
/tmp/floyd.pidexists, stop any currently playing audio first:
kill $(cat /tmp/floyd.pid) 2>/dev/null; rm -f /tmp/floyd.pid
-
floyd only accepts a single file at a time — never pass a directory path to floyd directly.
- If the argument is a single file, play it directly:
(floyd -d "$ARGUMENTS") & echo $! > /tmp/floyd.pid - If the argument is a directory, find all supported files recursively and play them one by one in a loop:
(find "$ARGUMENTS" -type f \( -iname "*.mp3" -o -iname "*.wav" -o -iname "*.flac" \) | sort | while read f; do floyd -d "$f"; done) & echo $! > /tmp/floyd.pid
- If the argument is a single file, play it directly:
-
Tell the user what is playing and that they can stop it with
/floyd stop.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.