agentleFS
tarikhamiltontarikhamilton/claude-skills/skills/yt-audio/SKILL.md

yt-audio

Skill0 starsChanged 5 months agoMITView on GitHub

Download a video's audio track as an m4a (AAC) file that imports cleanly into Instagram Edits / Reels. Use whenever the user pastes a YouTube (or other yt-dlp-supported) link and wants the audio, or says "download this as audio", "rip the audio", "grab the sound from this video", "get this for Instagram edits", "save this song", or similar. Fast, one-command process.

The file

We split this skill into the rules it gives an agent

1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Run it in the background if the video is long (it polls fast for short clips.

    line 27

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

yt-audio

Pull the audio from any yt-dlp-supported video (YouTube, etc.) as an m4a / AAC file — the format Instagram Edits and Reels import without re-encoding hassle. Saves to ~/Downloads by default.

When to use

Trigger on any paste of a video link plus intent to get the audio:

  • "download this as audio" / "rip the audio" / "just the sound"
  • "for instagram edits" / "for a reel"
  • a bare YouTube/youtu.be URL following an earlier audio-download request

How to run

One command — pass the URL (and optionally an output dir):

~/.claude/skills/yt-audio/scripts/grab.sh "<url>" [outdir]

It prints the final file path on success. Report that path back to the user.

Run it in the background if the video is long (it polls fast for short clips; longer ones can take 30s+). For typical short clips it finishes in a few seconds.

Notes

  • Output is bestaudio → m4a at top quality (--audio-quality 0).
  • The script auto-recovers from a stale yt-dlp: YouTube periodically rotates its player and breaks older binaries with errors like "n challenge solving failed" or "video is not available". On first failure the script runs brew upgrade yt-dlp and retries once. (This was the exact failure on 2026-06-21.)
  • Requires yt-dlp + ffmpeg (both via brew). The script checks and tells you if either is missing.
  • For a different container (mp3, wav), change --audio-format in scripts/grab.sh — but m4a is the right default for Instagram.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.