media-use

Resolves, generates, and catalogs media assets for HyperFrames video projects.

Updated Aug 28, 2026
One-click install
npx skills add https://github.com/AnderHonorato/Mem-rias-IA---Infinity --skill media-use-anderhonorato
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: media-use
Source: https://github.com/AnderHonorato/Mem-rias-IA---Infinity/tree/main/Manus/Skills/html-video-production/references/media-use
Command: npx skills add https://github.com/AnderHonorato/Mem-rias-IA---Infinity --skill media-use-anderhonorato

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? HyperFrames video projects need background music, sound effects, images, icons, brand logos, voiceovers, and color grades, but sourcing each asset manually scatters files across folders with no metadata, no reuse, and no provenance. This Skill turns any media need into one frozen local file plus a ledger record, keeping search noise on disk and out of the agent's context. ## Core Features & Use Cases - One-verb resolution: resolve --type <bgm|sfx|image|icon|logo|voice|grade|lut> --intent "..." returns a single frozen local path, with a deterministic cache floor that auto-reuses exact matches across projects via a content-addressed global cache at ~/.media/. - Generation and operations: TTS voiceover, local FLUX image generation, transcription (Parakeet/whisper), transcript-driven cutting, GSAP audio ducking keyframes, and ffmpeg-based trim/reframe/loudness recipes, with outputs registered back into the ledger via --from. - Color grading: resolves paste-ready data-color-grading blocks and validated .cube LUTs, including measured grade --for analysis of footage via ffmpeg signalstats. - Use Case: While building a product-launch video, run one media opportunity pass, resolve a BGM track, transition whooshes, real icons, and a warm cinematic grade; each asset lands in .media/ with an index.md inventory the whole team can read. ## Quick Start Ask the agent to resolve a background music track for your HyperFrames project with an intent like "upbeat tech launch" and use the returned local path in your composition.

Frequently Asked Questions about media-use

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I resolve background music or sound effects for a video project?

Run resolve.mjs with --type bgm or sfx and an --intent description; it checks the project manifest and global cache first, then fetches or generates, freezes the file under .media/, and returns one line with the local path.

How do I reuse media assets across multiple projects?

Every resolved asset is auto-promoted to a content-addressed global cache at ~/.media/. Use --candidates to list reusable project and global assets, then --reuse <sha> to import a specific global asset into the current project.

How do I add a color grade or LUT to a HyperFrames video?

Use --type grade to get a paste-ready data-color-grading JSON block, or --type lut to freeze a validated .cube file. The --for flag analyzes footage with ffmpeg signalstats and merges measured adjust suggestions into the block.

Does media-use work offline without network providers?

Yes, the --local-only flag skips every network provider and relies on the project manifest, global cache, and local generators like mflux for images. Library LUTs fall back to deterministic parametric buildCube generation when offline.

How do I cut a video based on its transcript?

First run transcribe.mjs to get word-level timestamps via Parakeet or whisper, then run transcript-cut.mjs with --remove ranges, --remove-fillers, or --cut-silence to compile exact kept segments and encode the cut file.

Why should I never read a .cube LUT file directly?

A 3D LUT contains roughly size-cubed lines of raw numbers (about 36k lines at size 33), which bloats context with no legible signal. Use grade-compare to preview it visually or cube-validate.mjs for a one-line validity check instead.