← All skills
media-use
55 / 100 · Review before installing
Check before installing. Some of what it can do is expected: a media skill usually calls an AI service over the internet.
By coco-research/coco (GitHub) · media · 628 stars · scanned at commit a9d6167
Agent Media OS, the single skill for every media need in a HyperFrames project. Resolve BGM, SFX, image, icon, brand logo, voice, color grade, or LUT into a frozen local file or paste-ready block + ledger record (one verb, `resolve`); generate via TTS / music / image models when the catalog misses; produce voiceover, transcription, captions, and background removal through one shared audio engine; operate on media (cut / reframe / transform); and reuse assets across projects. Also use for vague …
Works with any agent that supports SKILL.md skills.
What this skill can do
Runs commands on your computer
The author does not mention this.
Found in 81 places.
Show 17 more
- systems/hyperframes/skills/media-use/audio/scripts/lib/bgm.mjs, line 48
return spawnSync(cmd, args, { stdio: "ignore" }).status === 0; - systems/hyperframes/skills/media-use/audio/scripts/lib/python.mjs, line 15
import { spawnSync } from "node:child_process"; - systems/hyperframes/skills/media-use/audio/scripts/lib/python.mjs, line 19
return spawnSync(cmd, args, { stdio: "ignore" }).status === 0; - systems/hyperframes/skills/media-use/audio/scripts/lib/tts.mjs, line 16
import { spawn, spawnSync } from "node:child_process"; - systems/hyperframes/skills/media-use/audio/scripts/lib/tts.mjs, line 30
const r = spawnSync(cmd, args, { - systems/hyperframes/skills/media-use/audio/scripts/lib/tts.mjs, line 105
const r = spawnSync("ffmpeg", ["-i", absPath], { encoding: "utf8" }); - systems/hyperframes/skills/media-use/audio/scripts/lib/tts.mjs, line 110
const r = spawnSync( - systems/hyperframes/skills/media-use/audio/scripts/lib/tts.mjs, line 217
const ff = spawnSync( - systems/hyperframes/skills/media-use/scripts/dither.mjs, line 3
import { execFileSync, spawn } from "node:child_process"; - systems/hyperframes/skills/media-use/scripts/dither.mjs, line 121
const raw = execFileSync( - systems/hyperframes/skills/media-use/scripts/dither.mjs, line 141
const rgba = execFileSync( - systems/hyperframes/skills/media-use/scripts/dither.mjs, line 166
execFileSync( - systems/hyperframes/skills/media-use/scripts/dither.test.mjs, line 2
import { execFileSync, spawnSync } from "node:child_process"; - systems/hyperframes/skills/media-use/scripts/dither.test.mjs, line 11
spawnSync("ffmpeg", ["-version"], { stdio: "ignore" }).status === 0 && - systems/hyperframes/skills/media-use/scripts/dither.test.mjs, line 12
spawnSync("ffprobe", ["-version"], { stdio: "ignore" }).status === 0; - systems/hyperframes/skills/media-use/scripts/dither.test.mjs, line 20
execFileSync("ffmpeg", ["-y", "-hide_banner", "-loglevel", "error", ...args]); - systems/hyperframes/skills/media-use/scripts/dither.test.mjs, line 24
return spawnSync(process.execPath, [SCRIPT, ...args, "--json"], { encoding: "utf8" });
and 61 more places
Downloads and installs other software
The author does not mention this.
Found in 92 places.
Show 17 more
- systems/hyperframes/skills/media-use/audio/references/captions/authoring.md, line 116
Before building caption styles from scratch, check the registry — 15 ready-to-use caption components cover the most common styles. Install with `npx hyperframes - systems/hyperframes/skills/media-use/audio/references/captions/authoring.md, line 119
npx hyperframes catalog --tag caption-style # list all caption components - systems/hyperframes/skills/media-use/audio/references/captions/authoring.md, line 120
npx hyperframes add caption-highlight # install a specific one - systems/hyperframes/skills/media-use/audio/references/captions/transcript-handling.md, line 39
npx hyperframes transcribe audio.mp3 --model medium.en - systems/hyperframes/skills/media-use/audio/references/captions/transcript-handling.md, line 77
npx hyperframes transcribe transcript-openai.json - systems/hyperframes/skills/media-use/audio/references/captions/transcript-handling.md, line 90
npx hyperframes transcribe transcript-groq.json - systems/hyperframes/skills/media-use/audio/references/remove-background.md, line 6
npx hyperframes remove-background subject.mp4 -o transparent.webm # default: VP9 + alpha - systems/hyperframes/skills/media-use/audio/references/remove-background.md, line 7
npx hyperframes remove-background subject.mp4 -o transparent.mov # ProRes 4444 (editing) - systems/hyperframes/skills/media-use/audio/references/remove-background.md, line 8
npx hyperframes remove-background portrait.jpg -o cutout.png # single-image cutout - systems/hyperframes/skills/media-use/audio/references/remove-background.md, line 9
npx hyperframes remove-background subject.mp4 -o subject.webm \ - systems/hyperframes/skills/media-use/audio/references/remove-background.md, line 11
npx hyperframes remove-background subject.mp4 -o transparent.webm --device cpu - systems/hyperframes/skills/media-use/audio/references/remove-background.md, line 12
npx hyperframes remove-background --info # detected providers - systems/hyperframes/skills/media-use/audio/references/requirements.md, line 5
Run `npx hyperframes auth status` to see what's configured and which engines a workflow will use (see the skill's **Preflight** section). Keys resolve in this o - systems/hyperframes/skills/media-use/audio/references/requirements.md, line 10
| **ElevenLabs** (TTS fallback) | `$ELEVENLABS_API_KEY` - systems/hyperframes/skills/media-use/audio/references/requirements.md, line 11
| **Lyria** (BGM fallback) | `$GEMINI_API_KEY` → `$GOOGLE_API_KEY` - systems/hyperframes/skills/media-use/audio/references/requirements.md, line 12
| **Kokoro** (TTS, no key) | always — final voice fallback - systems/hyperframes/skills/media-use/audio/references/requirements.md, line 13
| **MusicGen** (BGM, no key) | always — final music fallback
and 72 more places
Can call paid AI services billed to you
The author does not mention this. Expected for a media skill.
Found in 6 places.
Show 3 more
Sends data to these websites: generativelanguage.googleapis.com, api.openai.com, api.groq.com, api.elevenlabs.io
The author does not mention this. Expected for a media skill.
Found in 14 places.
Show 11 more
- systems/hyperframes/skills/media-use/audio/scripts/lib/heygen.mjs, line 116
const res = await fetch(`${HEYGEN_BASE}${path}`, opts); - systems/hyperframes/skills/media-use/audio/scripts/lib/heygen.mjs, line 128
const res = await fetch(url); - systems/hyperframes/skills/media-use/audio/scripts/lib/tts.mjs, line 228
from elevenlabs.client import ElevenLabs - systems/hyperframes/skills/media-use/audio/scripts/lib/tts.mjs, line 229
from elevenlabs import save - systems/hyperframes/skills/media-use/audio/scripts/lyria-recipe.py, line 47
from google import genai - systems/hyperframes/skills/media-use/audio/scripts/lyria-recipe.py, line 48
from google.genai import types - systems/hyperframes/skills/media-use/scripts/lib/freeze.mjs, line 10
const res = await fetch(url); - systems/hyperframes/skills/media-use/scripts/lib/logo-provider.mjs, line 108
const res = await fetch(url, { signal: AbortSignal.timeout(10_000) }); - systems/hyperframes/skills/media-use/scripts/lib/logo-provider.mjs, line 114
const res = await fetch(url, { method: "HEAD", signal: AbortSignal.timeout(10_000) }); - systems/hyperframes/skills/media-use/scripts/lib/logo-provider.mjs, line 199
const res = await fetch(url, { signal: AbortSignal.timeout(10_000) }); - systems/hyperframes/skills/media-use/scripts/lib/telemetry.mjs, line 176
await fetch(`${posthogHost()}/batch/`, {
Changes files outside its own folder
The author does not mention this.
Found in 4 places.
Show 1 more
Safer alternatives
Low-risk skills in the same category (media) that look related. Check that one does what you need.
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'media-use' ] || [ -L ~/.agents/skills/'media-use' ]; then echo 'A skill folder named media-use already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/coco-research/coco' "$d" && git -C "$d" checkout --quiet 'a9d616721638d6d855708508d97b7fad4aadb6a7' -- 'systems/hyperframes/skills/media-use' && mkdir -p ~/.agents/skills && cp -R "$d"/'systems/hyperframes/skills/media-use' ~/.agents/skills/'media-use' && rm -rf "$d"; fi
Codex reads ~/.agents/skills directly. For Claude Code, Cursor, Copilot, Gemini CLI, Antigravity or OpenCode, also link it. For Claude Code: ln -s ~/.agents/skills/'media-use' ~/.claude/skills/'media-use' (other agents: ~/.cursor/skills, ~/.copilot/skills, ~/.gemini/skills, ~/.gemini/config/skills, ~/.config/opencode/skills). Or install through the finder skill, which does both.
Badge for your README
The badge for coco-research/coco shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/coco-research/coco/)
Score history
| Date | Version | Score |
|---|
| 2026-11-08 | a9d6167 | 55 |
| 2026-11-07 | a9d6167 | 35 |