npx agentspec-cli install cef3530c-e42f-4bfb-9178-1b1065683f91 --framework ClaudeCode→ .claude/skills/media-use/SKILL.md
**Plugin installs:** Before setup or freshness commands, follow [plugin execution rules](../hyperframes/references/plugin-installation.md) when this skill is inside a HyperFrames plugin. Standalone installs keep the update instructions below. # media-use The media OS for HyperFrames: resolve · generate · operate · remember — every media type, one skill, zero context noise. First run: install and sign in to the `heygen` CLI (the free-usage path), then verify with `npx hyperframes media-use resolve --doctor`. Setup and providers: `references/setup-providers.md`. ## Resolve — the one verb ```bash npx hyperframes media-use resolve --type <type> --intent "<description>" --project <dir> ``` Returns one line: `resolved <id> → <path> (<type>, <metadata>)`. All search noise stays on disk. | Type | One-line intent | | ------- | -------------------------------------------------------------------------------- | | `bgm` | background music (HeyGen catalog, 10k+ tracks) | | `sfx` | sound effects (bundled 19-file library + catalog) | | `image` | photos, backgrounds (HeyGen asset search, 75k+ vectors) | | `icon` | icons, symbols (transparent) | | `logo` | official brand marks (theSVG → GitHub avatar → favicon; never redrawn) | | `voice` | TTS voiceover (HeyGen free-usage path; optional local Kokoro) | | `grade` | measured correction candidate; broad polish/stylization follows Media Treatments | | `lut` | user-provided or explicitly chosen reusable validated `.cube` file | Before resolving fresh, list reusable candidates with `--candidates` and judge fit yourself — reuse rules, all flags, ingest (`--from`), and adopt are in `references/resolve.md`. ## Treat broad visual feedback as media intent When a user explicitly asks to fix, polish, stylize, obscure, emphasize, or reveal photographic media, read `references/media-treatments.md` even if they do not name color grading or an effect. Inspect the real `<img>`/`<video>`, choose one primary intent, then use deterministic persistence and verification. Use a matching recipe as an optional tested seed, or inspect `hyperframes media-treatment --capabilities --json`, then request one relevant family/effect with `--capability <id>` and assemble a custom treatment from canonical controls. Never load `--all` for ordinary authoring. A treatment may compose correction, a preset, finishing, compatible shader effects, supported keyframes, and optional Registry overlays. Add only source-justified bounded tuning and compatible parts, never effects merely to make the result look more sophisticated. Persist the final combined payload with `hyperframes media-treatment`. Use one progressively escalating workflow. For video, inspect one labeled early/middle/late contact sheet rather than reading frames separately. Apply one candidate and inspect one after-sheet for ordinary correction or polish. Escalate to individual frames or moving draft evidence only when the result is ambiguous, temporal, stylized, LUT-based, HDR/LOG-sensitive, private, or brand-critical. For ordinary correction or polish, persist the final treatment's preset/adjustment JSON. Do not generate a `.cube` LUT merely to encode exposure, shadows, contrast, or warmth. Use a LUT only when the user supplies one or the selected treatment explicitly owns one. `resolve --type grade --for ... --analyze` is measurement evidence, not permission to replace the chosen treatment with a generated LUT. Do not recreate supported vignette, grain, blur, pixelate, color, or treatment effects with CSS/SVG overlays; that bypasses Studio controls and the canonical preview/render shader path. ## Be proactive — run a media opportunity pass The human usually can't tell which media would lift the piece. You can. When you build or review a composition, do **one** grounded scan and then **ask once** — don't silently add, and don't nag per asset. Surface an opportunity only when a concrete signal is present: | Signal detected | Offer | | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ | | On-screen text / a script with no voiceover | TTS voiceover (audio engine) | | Emoji or a `<div>` styled as an icon | resolve real `icon`s | | Image that is a placeholder, tiny, or upscaled-looking | a better `image` (and/or upscale — see `references/operations.md`) | | Hard scene cuts / transitions with no sound | transition `sfx` | | A piece over ~10s with no music bed | `bgm` | | Footage that reads under/over-exposed or color-cast | a corrective grade (inspect it with `hyperframes media-treatment --selector '#hero' --analyze --json`) | | Photographic media that feels visually flat or off-topic | one specific source-appropriate preset or custom treatment, with the intended target named | | A meaningful media entrance/reveal that feels static | one supported seek-safe treatment animation; preserve color unless the request also justifies a preset | Rules that keep this a help, not nagware: **grounded, not generic** (no signal → no suggestion); **opinionated + concrete** (propose the specific fix with defaults chosen — the human approves **all / some / none**); **once per project** (one consolidated ask; respect "leave it"); **surface, never silently mutate** (color grades especially: propose and preview — a gray-world "correction" ruins an intentional sunset or neon look). ## Where to look — read only the file your task needs | Task | Read | | ------------------------------------------------------------------------- | -------------------------------- | | resolve / reuse / adopt / ingest, flags, cascade, inventory | `references/resolve.md` | | color grading, LUTs, smart grade (`--for`), grade-compare | `references/grading.md` | | voiceover / TTS, music, SFX, captions, transcription (audio engine) | `references/audio.md` | | cut / reframe / transform existing media, exact error diffusion, HEVC | `references/operations.md` | | source-aware creative treatments, realtime effects, overlays, reveals | `references/media-treatments.md` | | install + auth, provider table, RAM ladders, `--local-only`, `--provider` | `references/setup-providers.md` | | remembered preferences + frozen recipes (user memory) | `references/memory.md` | | ownership matrix, usage stats, telemetry, privacy (maintainer-facing) | `references/meta.md` |
Built on the Agent Skills standard
general-video
Author or edit a custom HyperFrames composition when no specialized workflow fits, or when BRIEF.md sets flow: companion. Use for longer or multi-scene pieces, brand and sizzle reels, montages, static loops, static title cards, footage remixes, and freeform builds. Use motion-graphics instead for a short unnarrated motion-first unit, including an animated title. Route fresh creation through hyperframes before using this skill.
by AgentHub Crawler
videoagent-video-studio
Generate short AI videos from text or images — text-to-video, image-to-video, and reference-based generation — with zero API key setup. Use when the user wants to create a video clip, animate an image, or generate video from a description.
by AgentHub Crawler
hyperframes-core
The HyperFrames composition contract — build one renderable project. Use for composition structure, the `data-*` timing attributes, `class="clip"`, tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.
Sign in to leave a comment.
by AgentHub Crawler