Agent skill

Mix Master

by gooseworks-ai in gooseworks-ai/goose-skills

Canonical short-form-ad audio mix in one FFmpeg pass. An agent skill from gooseworks-ai/goose-skills.

MITAuto-check passedMedia & Creative

Install Mix Master

skills CLI
$ npx skills add gooseworks-ai/goose-skills --skill mix-master -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install gooseworks-ai/goose-skills mix-master --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ads/packs/video-ad-formats/mix-master .claude/skills/mix-master && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
mix-master
GitHub stars
1.2k
Used in
1 other repo
Token cost
~1.5k tokens
SKILL.md length
647 words
Files
3 (incl. scripts)
Skills in repo
273
Repo updated
First seen
Licence
MIT

At a glance

Canonical short-form-ad audio mix in one FFmpeg pass. An agent skill from gooseworks-ai/goose-skills.

  • Works in 5 steps: Validate inputs — --vo and --vo-starts… → Probe music duration (ffprobe). If music… → Build a filter_complex_script file (long… → …
  • Tasks that involve Video production
  • SKILL.md covers Purpose, Inputs, Workflow and Output, plus 3 more sections
  • Runs Shell scripts from its folder

What it does

Mix Master is an agent skill from gooseworks-ai/goose-skills. Canonical short-form-ad audio mix in one FFmpeg pass. VO loudnorm + 3.0× per-clip + 2.0× mix, music 0.13 base + apad+afade, sidechain compress 20:1 @ 0.01, climax line +20%, optional video-to-music duration sync. Replaces the reactive multi-round tuning that cost v03 6+ passes.

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including scripts (for example `scripts/mix.sh` and `skill.meta.json`).

It sits in Media & Creative, covering Video production. It works with FFmpeg. The repository describes itself as: Library of Growth & GTM skills + data APIs for Claude Code, Codex, Cursor to run ads, social, content, lead gen, seo and data scraping. The licence is MIT.

When your agent uses it

  • Tasks that involve Video production

Example prompts

  • “/mix-master”

Requirements

  • A Bash shell

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Validate inputs — --vo and --vo-starts must be same length; --sfx and --sfx-starts must be same length; ffmpeg + ffprobe must be on PATH.
  2. Probe music duration (ffprobe). If music shorter than --total-duration, append apad=pad_dur=2.0 then trim back to target. If music longer…
  3. Build a filter_complex_script file (long chains exceed shell arg limits)
  4. Run a single ffmpeg invocation that consumes video, all VO, music, all SFX, applies the filter chain, and outputs the mixed mp4 (video…
  5. Run a verification probe: ffprobe loudness summary on [a_out], write manifest.json and verification.md.

What it can do on your machine

Read from SKILL.md and the folder at commit c650c6d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Shell), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Mix Master loads about 1.5k tokens when it runs. Until then it costs about 72 tokens; SKILL.md has 647 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~72
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from gooseworks-ai/goose-skills at commit c650c6d, republished under its MIT licence (© gooseworks-ai). 647 words, ~1,499 tokens.

Download SKILL.mdSave it as .claude/skills/mix-master/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
mix-master
description
Canonical short-form-ad audio mix in one FFmpeg pass. VO loudnorm + 3.0× per-clip + 2.0× mix, music 0.13 base + apad+afade, sidechain compress 20:1 @ 0.01, climax line +20%, optional video-to-music duration sync. Replaces the reactive multi-round tuning that cost v03 6+ passes.
status
superseded
superseded_by
audio-mix@1.0.1, sound-layer@1.0.1

Superseded: the video kit now does this with the audio-mix part, version 1.0.1 and the sound-layer part, version 1.0.1, in the parts folder of this repository. Its mix mode is the audio-mix step (voice, a ducked bed and timed effects) and its finish mode is the sound layer, which levels every video to -14 LUFS with the true peak at or below -1 dBTP. This atom stays, unchanged in behaviour, for skills outside the kit until they move; its scripts still run.

mix-master

Purpose

The v03 Ironman LEARNINGS describe 6+ tuning rounds because no default mix protocol existed: round 1 music too loud, round 2 VO too quiet, round 3 Whisper mis-transcribed, round 4 sidechain ratio finally right, round 5 music ended too early, round 6 climax sat at the same loudness as the rest.

This atom encodes the protocol that landed and ships it as the default. Operators tune by flag; they don't redesign the chain.

Inputs

  • --video <path> — video file with no audio (or whose audio gets dropped) (required)
  • --vo <path,path,...> — comma-separated list of per-scene VO mp3s in scene order (required)
  • --vo-starts <ms,ms,...> — start time in milliseconds for each VO clip on the timeline (required, same length as --vo)
  • --music <path> — music bed file (required)
  • --sfx <path,path,...> — optional comma-separated SFX list
  • --sfx-starts <ms,ms,...> — optional SFX start times
  • --output <path> — output mp4 (required)
  • --total-duration <s> — target total duration in seconds (required — video AND music are sync-fit to this)
  • --vo-boost-line <N> — 1-indexed VO clip that is the climax; gets +20% additional volume (default unset)
  • --vo-volume <float> — per-clip VO volume multiplier (default 3.0)
  • --vo-mix-volume <float> — extra mix-bus volume on VO (default 2.0)
  • --music-volume <float> — base music volume (default 0.13)
  • --music-swell-volume <float> — peak music volume during apad/swell (default 0.21)
  • --sidechain-ratio <float> — sidechain ratio, capped at 20 by FFmpeg (default 20)
  • --sidechain-threshold <float> — sidechain threshold (default 0.01)
  • --target-i <lufs> — VO loudnorm integrated target (default -16)
  • --target-tp <dbtp> — VO loudnorm true-peak (default -1.5)
  • --target-lra <lu> — VO loudnorm LRA (default 11)
Show full SKILL.md (321 more words)Show less

Workflow

  1. Validate inputs — --vo and --vo-starts must be same length; --sfx and --sfx-starts must be same length; ffmpeg + ffprobe must be on PATH.
  2. Probe music duration (ffprobe). If music shorter than --total-duration, append apad=pad_dur=2.0 then trim back to target. If music longer, trim with afade=out over last 1.5s.
  3. Build a filter_complex_script file (long chains exceed shell arg limits):
    • Per-VO: [N:a]loudnorm=I=...:TP=...:LRA=...,adelay=<start>|<start>,volume=<vo_volume>[voN];
    • Climax VO (if --vo-boost-line N): volume becomes vo_volume * 1.2.
    • Mix all VO: amix=inputs=K:duration=longest,volume=<vo_mix_volume>[vo_pre];
    • Split VO for sidechain key: [vo_pre]asplit=2[vo_final][vo_sc];
    • Music base: apad=pad_dur=2.0,atrim=0:<TOTAL>,afade=t=out:st=<TOTAL-1.5>:d=1.5,volume=<music_volume>[music_base];
    • Sidechain: [music_base][vo_sc]sidechaincompress=threshold=<thresh>:ratio=<ratio>:attack=20:release=600[music_ducked];
    • SFX (optional): per-SFX adelay + volume then mix into [sfx_bus].
    • Final: amix=inputs=<2 or 3>:duration=longest[a_out].
  4. Run a single ffmpeg invocation that consumes video, all VO, music, all SFX, applies the filter chain, and outputs the mixed mp4 (video re-encoded only if duration trim needed; otherwise -c:v copy).
  5. Run a verification probe: ffprobe loudness summary on [a_out], write manifest.json and verification.md.

Output

  • <output> — mixed mp4 with VO + music + SFX.
  • manifest.json — chain parameters, vo timing, climax line, integrated LUFS after.
  • verification.md — pass/fail report (integrated LUFS within ±0.5 of expected target, no clipping).

Quality Checks

  • Output integrated LUFS within ±0.5 of <target-i> (post-protocol; should be approximately -14 social-ready after the boosts).
  • True-peak strictly below <target-tp> (no clipping).
  • Output duration equals <total-duration> ± 100ms.
  • Music tail has afade=out — last 100ms RMS < -30 dB.
  • If --vo-boost-line was set, the corresponding clip's volume= value is vo_volume * 1.2.

Failure Modes

  • Sidechain ratio > 20 — FFmpeg errors "Result too large." Cap at 20 (the protocol default).
  • VO and starts arrays mismatched — fail fast at validation.
  • Music too short and apad insufficient — emit a warning; video may end before music. Operator should re-source music or shorten --total-duration.
  • VO clip > 5KB but actually error JSON — out of scope here; create-clips Phase 4 catches it.
  • Re-encoding video unnecessarily — if total duration matches input video duration, use -c:v copy to preserve quality.

Example

bash
scripts/mix.sh \
  --video peloton/ads/video-04-new-job/edits/master-no-audio.mp4 \
  --vo "peloton/ads/video-04-new-job/audio/vo-scene-01.mp3,...,peloton/ads/video-04-new-job/audio/vo-scene-14.mp3" \
  --vo-starts "0,2000,3500,...,28000" \
  --music peloton/ads/video-04-new-job/audio/music-cue-01.wav \
  --output peloton/ads/video-04-new-job/edits/master-final.mp4 \
  --total-duration 30.0 \
  --vo-boost-line 14

Consumed by: video-orchestrator/edit-video Phase 3–5, auto-fix-from-review-notes dispatcher (when vo-intelligibility or music-vo-balance polish-notes items reference mix-master).

© gooseworks-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (scripts) in skills/ads/packs/video-ad-formats/mix-master of gooseworks-ai/goose-skills.

  • SKILL.md
  • scripts/mix.sh
  • skill.meta.json

Open the folder on GitHubat commit c650c6d

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in gooseworks-ai/goose-skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Mix Master next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Mix Master compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Mix Master this skillgooseworks-ai/goose-skills1.2k1 repos~1.5kAutomated safety check: PassMIT
Video Understandcalesthio/OpenMontage66k—~841Automated safety check: PassAGPL-3.0
HyperFrames Video Entry Pointheygen-com/hyperframes60k3 repos~5.2kAutomated safety check: PassApache-2.0
Video Shotseternityspring/reelbench-skills8781 repos~1.8kAutomated safety check: NotesApache-2.0
Mobile Demo Film Editorsuperset-sh/superset15k—~1.8kAutomated safety check: PassCustom licence
Video Editcalesthio/OpenMontage66k—~855Automated safety check: NotesAGPL-3.0

Similar skills

  • Video Understand

    calesthio/OpenMontage

    Understand video content locally using ffmpeg frame extraction and Whisper transcription.

    66k GitHub stars~841 tokensUpdated 7 days ago
    Media & CreativeAuto-check passed
  • HyperFrames Video Entry Point

    heygen-com/hyperframes

    Entry point for making, editing and rendering videos from HTML compositions with HyperFrames, routing each request to the right workflow.

    60k GitHub starsUsed in 3 repos~5.2k tokens
    Media & CreativeAuto-check passed
  • Video Shots

    eternityspring/reelbench-skills

    拉片:把一条成片拆成逐镜头的分析表——每个镜头的时长、景别、类别、运镜、画面. An agent skill from eternityspring/reelbench-skills.

    878 GitHub starsUsed in 1 repo~1.8k tokens
    Media & CreativeAuto-check: notes
  • Mobile Demo Film Editor

    superset-sh/superset

    Edits real mobile screen recordings into a configurable demo video with phone framing, title cards, cutaways and an end card, using a bundled renderer.

    15k GitHub stars~1.8k tokensUpdated today
    Media & CreativeAuto-check passed
  • Video Edit

    calesthio/OpenMontage

    Edit videos locally using ffmpeg. An agent skill from calesthio/OpenMontage.

    66k GitHub stars~855 tokensUpdated 7 days ago
    Media & CreativeAuto-check: notes
  • Lemo-Opuscar Short Film Director

    lemomo-ai/lemo-opuscar

    Directs a short film made entirely in code in one of the Lemo-Opuscar library's named visual styles, from fetching the library through production and delivery.

    1.8k GitHub stars~596 tokensUpdated yesterday
    Media & CreativeAuto-check passed

More from gooseworks-ai/goose-skills

All 273 skills in this repo
  • Reddit Post Finder

    gooseworks-ai/goose-skills

    Scrape and search Reddit posts using Apify. An agent skill from gooseworks-ai/goose-skills.

    1.2k GitHub starsUsed in 1 repo~1.2k tokens
    Auto-check passed
  • Create Image Fal

    gooseworks-ai/goose-skills

    Generate or edit an image via any FAL image model (nano-banana edit, gpt-image, flux, ...), ROUTED THROUGH THE fal-proxy so it bills the Ads agent.

    1.2k GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Render Hook Replacement

    gooseworks-ai/goose-skills

    Replace an existing video's opening with a supplied clip or free kinetic text hook while retaining and verifying every original body frame, audio, captions and ending.

    1.2k GitHub stars~2.3k tokensUpdated yesterday
    Auto-check passed
  • Blog Feed Monitor

    gooseworks-ai/goose-skills

    Scrape blog posts via RSS feeds (free, no API key) with Apify fallback for JS-heavy sites.

    1.2k GitHub starsUsed in 1 repo~578 tokens
    Auto-check passed
  • Competitor Post Engagers

    gooseworks-ai/goose-skills

    Find leads by scraping engagers from a competitor's top LinkedIn posts.

    1.2k GitHub starsUsed in 1 repo~1.8k tokens
    Auto-check: notes
  • Render Chatgpt Chat

    gooseworks-ai/goose-skills

    Assemble a ChatGPT chat-reveal video ad from a thread + timeline JSON — one continuous Playwright recording of a ChatGPT mobile chat (user types with the iOS keyboard up → taps send → keyboard…

    1.2k GitHub stars~2.3k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Mix Master

What does Mix Master do?

Canonical short-form-ad audio mix in one FFmpeg pass. An agent skill from gooseworks-ai/goose-skills. Mix Master is an agent skill from gooseworks-ai/goose-skills. Canonical short-form-ad audio mix in one FFmpeg pass.

When should I use Mix Master?

Mix Master fits situations like: tasks that involve Video production.

How do I install Mix Master in Claude Code?

Run `npx skills add gooseworks-ai/goose-skills --skill mix-master -a claude-code`. Or copy the skill folder (skills/ads/packs/video-ad-formats/mix-master in gooseworks-ai/goose-skills) into .claude/skills/mix-master in your project. Claude Code loads it when a task matches its description.

How do I install Mix Master in Codex?

Run `npx skills add gooseworks-ai/goose-skills --skill mix-master -a codex`. Or copy the skill folder (skills/ads/packs/video-ad-formats/mix-master in gooseworks-ai/goose-skills) into .agents/skills/mix-master in your project. Codex loads it when a task matches its description.

Can I use Mix Master in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add gooseworks-ai/goose-skills --skill mix-master -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/mix-master, .gemini/skills/mix-master, .github/skills/mix-master and .opencode/skills/mix-master in your project.

What does Mix Master need to run?

Going by SKILL.md and its folder, Mix Master needs a shell for the scripts in its folder. Our summary lists: A Bash shell.

Does Mix Master access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Mix Master safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Mix Master use?

Mix Master is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Mix Master use?

About 1.5k tokens (SKILL.md is roughly 6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Mix Master?

Skills that share tags, products or a category with Mix Master: Video Understand (calesthio/OpenMontage, 66k stars), HyperFrames Video Entry Point (heygen-com/hyperframes, 60k stars), Video Shots (eternityspring/reelbench-skills, 878 stars) and Mobile Demo Film Editor (superset-sh/superset, 15k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Mix Master?

gooseworks-ai (a GitHub organization) maintains it in gooseworks-ai/goose-skills, which has 1,240 GitHub stars. The repository holds 273 skills in this directory. The repository was last updated on October 8, 2026.

Source: gooseworks-ai/goose-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.