Agent skill

Background Music

by notivn in notivn/AIEV

Pick background music from the assets/music/ library and configure auto-ducking (music dips automatically under speech) via meta.json audio.music for the Remotion assembly layer.

MITAuto-check passedMedia & Creative

Install Background Music

skills CLI
$ npx skills add notivn/AIEV --skill background-music -a claude-code

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

GitHub CLI
$ gh skill install notivn/AIEV background-music --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/notivn/AIEV.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/background-music .claude/skills/background-music && 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
background-music
GitHub stars
127
Token cost
~1.1k tokens
SKILL.md length
539 words
Files
1
Skills in repo
14
Repo updated
First seen
Licence
MIT

At a glance

Pick background music from the assets/music/ library and configure auto-ducking (music dips automatically under speech) via meta.json audio.music for the Remotion assembly layer.

  • Works in 5 steps: Pick a track by mood → Generate speech ranges from the transcript → Volume levels → …
  • Asks to add/adjust background music on a video
  • SKILL.md covers 1. Pick a track by mood, 2. Generate speech ranges from…, 3. Volume levels and 4. Declare it in meta.json, plus 2 more sections
  • Calls ffmpeg

What it does

Background Music is an agent skill from notivn/AIEV. Pick background music from the assets/music/ library and configure auto-ducking (music dips automatically under speech) via meta.json audio.music for the Remotion assembly layer. Read when the brief/edit prompt has a "Nhạc nền" (background music) section set to auto, or when the user asks to add/adjust background music on a video.

Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Media & Creative, covering Video production and Motion graphics. It works with Remotion and FFmpeg. The repository describes itself as: Automatic AI video editing. Claude directs HyperFrames (HTML + GSAP motion graphics) and Remotion (timeline assembly) to turn raw footage into a finished MP4 - transcript… The licence is MIT.

When your agent uses it

  • Asks to add/adjust background music on a video
  • Tasks that involve Video production
  • Tasks that involve Motion graphics

Example prompts

  • “Nhạc nền”
  • “/background-music”

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Pick a track by mood
  2. Generate speech ranges from the transcript
  3. Volume levels
  4. Declare it in meta.json
  5. Verify (mandatory before final)

What it can do on your machine

Read from SKILL.md and the folder at commit e40fe03. 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

    Shell commands in SKILL.md call:

    • ffmpeg

    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

Background Music loads about 1.1k tokens when it runs. Until then it costs about 87 tokens; SKILL.md has 539 words of instructions outside code blocks.

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

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from notivn/AIEV at commit e40fe03, republished under its MIT licence (© notivn). 539 words, ~1,075 tokens.

Download SKILL.mdSave it as .claude/skills/background-music/SKILL.md (or your agent's skills folder).
name
background-music
description
Pick background music from the assets/music/ library and configure auto-ducking (music dips automatically under speech) via meta.json audio.music for the Remotion assembly layer. Read when the brief/edit prompt has a "Nhạc nền" (background music) section set to auto, or when the user asks to add/adjust background music on a video.

Background Music - music bed + auto-ducking

Background music is played by Remotion in the assembly layer (the MusicTrack component): the track loops, fades in over 0.5s at the start of the video, fades out over 1s at the end, and auto-ducks (smooth 0.4s volume dip) around every speech segment. Claude's job is to pick the track + generate the speech ranges + declare audio.music correctly in meta.json - everything else is deterministic inside Remotion.

1. Pick a track by mood

  • Read assets/music/library.json - each entry has file, tags (mood: nang-luong, chill, cam-hung, cang-thang, vui-ve...), durationMs, description.
  • Pick ONE track whose mood matches the video content (motivational video -> nang-luong/cam-hung; slow explainer -> chill...).
  • A track shorter than the video is fine - MusicTrack loops it automatically, no need to concatenate files with ffmpeg.

2. Generate speech ranges from the transcript

Speech ranges = the segments that DO contain speech (in seconds, on the already-cut composition timeline) - these are the moments the music gets ducked.

  1. Take the word timestamps from the transcript (already remapped if autoCut ran).
  2. Merge adjacent words into one continuous range.
  3. Merge two ranges if the gap between them is < 0.6s - a short breath between two sentences is not worth having the music swell back up and drop again.
  4. Result: [[startSec, endSec], ...] - usually just a few ranges for a talking-head video (silent intro, body, outro).

3. Volume levels

ContextvolumeNotes
Speech present (duckVolume)0.10-0.15Music sits ~18-20dB below the voice - the voice is ALWAYS clearer than the music
No speech (volume): intro/outro/pauses0.30-0.40Music carries the emotion but does not bury the sfx

Loud / bass-heavy tracks -> take the lower bound of both ranges (0.10 / 0.30).

4. Declare it in meta.json

Copy the music file into the project's assets/ (same as sfx) so the project stays portable - NEVER point directly at the shared library:

powershell
Copy-Item "assets/music/<file>" "video-projects/<id>/assets/music/<file>"

Then declare it (path relative to the project root):

json
"audio": {
  "voice": "...",
  "sfx": [...],
  "music": {
    "file": "assets/music/<file>",
    "volume": 0.35,
    "duckVolume": 0.12,
    "speech": [[1.2, 14.8], [16.1, 42.5]]
  }
}

The server stages the file into the Remotion staging directory during assembly - nothing else to do.

Show full SKILL.md (213 more words)Show less

5. Verify (mandatory before final)

  1. Render a draft (assemble-draft) then listen at 3 points: start of the video (fade-in + intro level), middle of the video during speech (music must sit clearly under the voice), end of the video (clean fade-out).
  2. The only standard: the voice MUST be clearer than the music at every moment. If you have to strain to make out the words -> lower duckVolume.
  3. If in doubt about the levels, measure with ffmpeg -i <draft.mp4> -af volumedetect -f null NUL over a speech segment and a non-speech segment, and compare the two mean_volume values.

Mistakes to avoid

  • Music louder than speech - duckVolume is too high, or the speech ranges are missing a segment. Re-check transcript coverage: every spoken segment must fall inside a range.
  • Forgetting the final fade-out - MusicTrack fades out over 1s based on durationInFrames; but if the composition's total duration is computed wrong, the music gets cut off abruptly. Verify the end point when listening to the draft.
  • Music with Vietnamese lyrics - it fights the speech, the listener's brain cannot separate two layers of words. ONLY use instrumental music.
  • Downloading music from the internet - FORBIDDEN (copyright). Only use the assets/music/ library. If the library is empty -> skip background music and state that clearly in the report.

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

Files

Just SKILL.md in .claude/skills/background-music of notivn/AIEV.

Open the folder on GitHubat commit e40fe03

Compare with similar skills

Background Music 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.

Background Music compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Background Music this skillnotivn/AIEV127—~1.1kAutomated safety check: PassMIT
HyperFrames Video Entry Pointheygen-com/hyperframes60k3 repos~5.2kAutomated safety check: PassApache-2.0
Black White Text OpenerPluviobyte/video-production-skills671—~1kAutomated safety check: PassNone
Super Video MakerBomx/super-video-maker-skill310—~11kAutomated safety check: NotesNone
Render Offer Adgooseworks-ai/goose-skills1.2k—~2.5kAutomated safety check: PassMIT
Remotion Video Enhanceranbeime/skill7.8k—~1.9kAutomated safety check: NotesNone

Similar skills

  • 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
  • Black White Text Opener

    Pluviobyte/video-production-skills

    Create reusable black-background white-text opening animations for new videos.

    671 GitHub stars~1k tokensUpdated 2 mo ago
    Media & CreativeAuto-check passed
  • Super Video Maker

    Bomx/super-video-maker-skill

    End-to-end AI video production skill for agentic frameworks.

    310 GitHub stars~11k tokensUpdated 2 mo ago
    Media & CreativeAuto-check: notes
  • Render Offer Ad

    gooseworks-ai/goose-skills

    Render a punchy ~12s vertical (9:16) music-only direct-response OFFER ad as a 4-beat kinetic-typography film — HEADLINE slam → real PRODUCT drop → CLAIM/proof → CTA pill — from one config of copy…

    1.2k GitHub stars~2.5k tokensUpdated yesterday
    Media & CreativeAuto-check passed
  • Adds Remotion-style video transitions and Framer Motion page animations to PPT-based videos and HTML slide viewers, planning the animation sequence first.

    7.8k GitHub stars~1.9k tokensUpdated yesterday
    Media & CreativeAuto-check: notes
  • Remotion Best Practices

    lyonjs/shortvid.io

    Best practices for Remotion - Video creation in React. An agent skill from lyonjs/shortvid.io.

    147 GitHub starsUsed in 33 repos~1k tokens
    Media & CreativeAuto-check passed

More from notivn/AIEV

All 14 skills in this repo
  • Color Grading

    notivn/AIEV

    Color grading video in the AI Edit Video system - delog/tonemap HDR-HLG-log footage, apply the color preset the user approved in the UI, and the visual verification workflow.

    127 GitHub stars~932 tokensUpdated today
    Auto-check passed
  • Build a Vietnamese vertical TikTok explainer in the "MỔ XẺ PAPER AI" (AI paper dissection) format with HyperFrames (HTML/CSS/GSAP → MP4), Noti.vn style.

    127 GitHub stars~4.8k tokensUpdated today
    Auto-check passed
  • Skill Authoring

    notivn/AIEV

    The standard for writing new skills for the AI Edit Video system - file structure, frontmatter, tone of voice, and how to accumulate production lessons into skills.

    127 GitHub stars~925 tokensUpdated today
    Auto-check passed
  • Noti Tiktok Vn

    notivn/AIEV

    Edit a Vietnamese vertical TikTok video (9:16) with HyperFrames following the Noti.vn/GĐT standard - talking-head + kinetic typography + karaoke captions + zoom/punch-in camera + timestamp-synced…

    127 GitHub stars~5.4k tokensUpdated today
    Auto-check passed
  • Build a Vietnamese landscape 16:9 YouTube video (1920×1080) with HyperFrames (HTML/CSS/GSAP → MP4), keeping the Noti.vn/GĐT branding inherited from noti-tiktok-vn.

    127 GitHub stars~5.7k tokensUpdated today
    Auto-check passed
  • Short Form Video

    notivn/AIEV

    Build and iterate short-form vertical (9:16) videos in Hyperframes - TikTok/Reels/Shorts style.

    127 GitHub stars~5.3k tokensUpdated today
    Auto-check passed

Works with

Questions about Background Music

What does Background Music do?

Pick background music from the assets/music/ library and configure auto-ducking (music dips automatically under speech) via meta.json audio.music for the Remotion assembly layer. Background Music is an agent skill from notivn/AIEV.music for the Remotion assembly layer.

When should I use Background Music?

Background Music fits situations like: asks to add/adjust background music on a video; tasks that involve Video production; tasks that involve Motion graphics.

How do I install Background Music in Claude Code?

Run `npx skills add notivn/AIEV --skill background-music -a claude-code`. Or copy the skill folder (.claude/skills/background-music in notivn/AIEV) into .claude/skills/background-music in your project. Claude Code loads it when a task matches its description.

How do I install Background Music in Codex?

Run `npx skills add notivn/AIEV --skill background-music -a codex`. Or copy the skill folder (.claude/skills/background-music in notivn/AIEV) into .agents/skills/background-music in your project. Codex loads it when a task matches its description.

Can I use Background Music 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 notivn/AIEV --skill background-music -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/background-music, .gemini/skills/background-music, .github/skills/background-music and .opencode/skills/background-music in your project.

What does Background Music need to run?

Going by SKILL.md and its folder, Background Music needs the command-line tools its instructions call (ffmpeg).

Does Background Music 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 Background Music 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. Review the folder before installing.

What licence does Background Music use?

Background Music 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 Background Music use?

About 1.1k tokens (SKILL.md is roughly 4.3k 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 Background Music?

Skills that share tags, products or a category with Background Music: HyperFrames Video Entry Point (heygen-com/hyperframes, 60k stars), Black White Text Opener (Pluviobyte/video-production-skills, 671 stars), Super Video Maker (Bomx/super-video-maker-skill, 310 stars) and Render Offer Ad (gooseworks-ai/goose-skills, 1.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Background Music?

notivn (a GitHub organization) maintains it in notivn/AIEV, which has 127 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 9, 2026.

Source: notivn/AIEV on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.