Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add Knuckles-Team/media-downloader --skill media-audiogit clone --depth 1 https://github.com/Knuckles-Team/media-downloaderWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/knuckles-team/media-downloader/media-audio)<a href="https://agentmods.dev/skills/knuckles-team/media-downloader/media-audio"><img src="https://agentmods.dev/badge/skills/knuckles-team/media-downloader/media-audio/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/knuckles-team/media-downloader/media-audio"><img src="https://agentmods.dev/badge/skills/knuckles-team/media-downloader/media-audio.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00088 | $0.00546 |
| Opus 5.5 | $0.00035 | $0.00218 |
| Sonnet 5.5 | $0.00018 | $0.00109 |
| Haiku 4.5 | $0.00009 | $0.00055 |
Grade A, and why
media-audio scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
Media Audio
Extract the audio track of a media URL to MP3 and durably store it in the KG.
When to use
- Pull just the audio (MP3) from a video/media URL.
- Persist the audio bytes + metadata into epistemic-graph as a
:MediaAsset.
When NOT to use
- Full-video download →
media-download. - Speech-to-text transcription → the
audio-transcriberpackage.
Prerequisites & environment
Connect via the mcp-client skill against the media-downloader MCP server.
Requires ffmpeg on the server for MP3 extraction. GRAPH_SERVICE_ENDPOINTS
(optional) enables native KG ingestion; it auto-no-ops when absent.
Tools & actions
| Tool | Purpose |
|---|---|
download_media |
Set audio_only=true to extract MP3; returns {status, file, kg_asset?} |
Key parameters
video_url— the media URL (required).audio_only— true for this skill.download_directory— where to save the MP3 (default.).
Recipes
Extract audio and store it in the KG:
{"video_url":"https://www.youtube.com/watch?v=<id>","audio_only":true,"download_directory":"/data/audio"}
Gotchas
- MP3 extraction needs
ffmpeg; without it the download falls back to the source container. - The stored
:MediaAssetmedia_typeisaudio(mimeaudio/mpeg). - Native ingestion is best-effort — no engine → file still saved,
kg_assetabsent.
Related
- Reuses the shared media ontology federated by jellyfin-mcp.
- Pairs with the
audio-transcriberpackage to turn stored audio into transcripts.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 57 lines · 88 tokens per session scan A 11aee3482e77
media-audio is a skill published in the GitHub repository Knuckles-Team/media-downloader (5 stars, last pushed 4d ago), licensed MIT. It adds 88 tokens to every session and 546 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
youtube-transcribe
Transcribe YouTube videos and playlists. Extract audio to text with visual context, generate summaries and detailed notes.
video-transcriber
Fetch video transcripts (subtitles) and metadata from online video sources and output them as Markdown, JSON, or plain text. Currently supported: YouTube. Prefers manually created subtitles, falls back to auto-generated ones.
c-video
Download videos, extract audio, convert formats, and clip segments using yt-dlp and ffmpeg. Supports YouTube, Vimeo, and hundreds of other sites.
rad-migrate
Migrate a YouTube channel to Rad TV — download in HD and publish with metadata, thumbnails, and an ordered playlist. Use when someone wants to move, copy, back up, or republish a YouTube channel to Rad TV, or asks about rad-migrate, HD download quality caps, YouTube bot checks, PO tokens, or failed Rad transcodes.
vibeue
Unreal Engine 5 development using the VibeUE Python API. Use when working in Unreal Engine — blueprints, state trees, materials, actors, landscapes, animation, niagara, widgets, sound, foliage, gameplay tags, enhanced input, skeletons, PCG (procedural content generation), and more. VibeUE is an extension of Unreal's…
link-reader
Default when the user drops a video, audio, social, or article URL without other instructions — read the original source (not search snippets), say what is still missing, explain what the source actually says, then add judgment. Use for X/Twitter, YouTube, Bilibili, podcasts, WeChat, Xiaohongshu, and open web links.