agentsclimarketplace

Floyd

Skill robrohan/floyd/skills/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

Install
npx -y skills add robrohan/floyd --skill floyd

Assembled 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):

  1. Check if /tmp/floyd.pid exists. If not, tell the user nothing is playing.
  2. Stop the process and clean up:
kill $(cat /tmp/floyd.pid) && rm /tmp/floyd.pid
  1. Tell the user playback has stopped.

If the user wants to start playback (argument is a file or directory path):

  1. If $ARGUMENTS is empty, ask the user which file or directory they want to play.
  2. If /tmp/floyd.pid exists, stop any currently playing audio first:
kill $(cat /tmp/floyd.pid) 2>/dev/null; rm -f /tmp/floyd.pid
  1. 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
      
  2. 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.

Keep looking

Skills are one crate of 326,835. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.