Agent skill

Audio Loudness Normalization

by godot-fun in godot-fun/gai

Normalizes a single audio file to consistent LUFS loudness with true-peak limiting using FFmpeg.

MITAuto-check passedDatabases

Install Audio Loudness Normalization

skills CLI
$ npx skills add godot-fun/gai --skill audio-loudness-normalization -a claude-code

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

GitHub CLI
$ gh skill install godot-fun/gai audio-loudness-normalization --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/godot-fun/gai.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/audio-loudness-normalization .claude/skills/audio-loudness-normalization && 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
audio-loudness-normalization
GitHub stars
182
Token cost
~684 tokens
SKILL.md length
249 words
Files
2
Skills in repo
36
Repo updated
First seen
Licence
MIT

At a glance

Normalizes a single audio file to consistent LUFS loudness with true-peak limiting using FFmpeg.

  • Works in 7 steps: Use the bundled script (two-pass… → Preserves input format — same extension… → Missing Python/FFmpeg → populate… → …
  • The user wants loudness normalization
  • SKILL.md covers Rules, Quick Start, LUFS Targets and Common Flags, plus 2 more sections
  • Calls python

What it does

Audio Loudness Normalization is an agent skill from godot-fun/gai. Normalizes a single audio file to consistent LUFS loudness with true-peak limiting using FFmpeg. Use when the user wants loudness normalization, volume matching, unified audio levels, SFX/UI/BGM leveling, or mentions LUFS, true peak, loudnorm, or inconsistent game audio.

Its SKILL.md is about 680 tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `reference.md`).

It sits in Databases, covering Database schema design, Video production and Game assets and audio. It works with FFmpeg. The repository describes itself as: A lightweight AI agent and skill workflow framework built with Godot. The licence is MIT.

When your agent uses it

  • The user wants loudness normalization
  • Volume matching
  • Unified audio levels
  • SFX/UI/BGM leveling

Example prompts

  • “Use the audio-loudness-normalization skill to normaliz a single audio file to consistent LUFS loudness with true-peak limiting using FFmpeg”
  • “/audio-loudness-normalization”

Requirements

  • Python 3

Workflow steps

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

  1. Use the bundled script (two-pass loudnorm), not hand-written FFmpeg.
  2. Preserves input format — same extension and sample rate (-ar forced to source); does not resample.
  3. Missing Python/FFmpeg → populate .dependency/ per skill-dependency-manager, retry same command.
  4. Do not copy, move, or replace the source with the normalized output — tell the user where audio-loudness-normalization/ files are; they…
  5. Do not use -output pointing at the source file; the script refuses paths that would overwrite the input.
  6. Do not fix uneven levels with per-asset volume in game code — re-normalize sources.
  7. Engine bus defaults and rationale: reference.md

What it can do on your machine

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

    • python

    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

Audio Loudness Normalization loads about 684 tokens when it runs. Until then it costs about 75 tokens; SKILL.md has 249 words of instructions outside code blocks.

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

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 godot-fun/gai at commit aa1ac71, republished under its MIT licence (© godot-fun). 249 words, ~684 tokens.

Download SKILL.mdSave it as .claude/skills/audio-loudness-normalization/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
audio-loudness-normalization
description
Normalizes a single audio file to consistent LUFS loudness with true-peak limiting using FFmpeg. Use when the user wants loudness normalization, volume matching, unified audio levels, SFX/UI/BGM leveling, or mentions LUFS, true peak, loudnorm, or inconsistent game audio.

Audio Loudness Normalization

Loudness-normalize one audio file to a target LUFS with true-peak limiting. Preserves input format — same extension and sample rate as the source. Directories are not supported; run once per file to process a folder.

Rules

When this skill applies, read and follow skill-dependency-manager — run scripts as documented, install missing tools into .dependency/.

Quick Start

Default: -14 LUFS, -1.5 dBTP, output to <audio-dir>/audio-loudness-normalization/<audio-name>:

bash
.dependency/python/python .ai/audio-loudness-normalization/normalize.py --audio path/to/audio.wav

Example: audio/sfx/tank/tank_move.wav → audio/sfx/tank/audio-loudness-normalization/tank_move.wav

LUFS Targets

CategoryLUFS
UI / clicks-18 to -14
Gameplay SFX-16 to -12
Explosions-12 to -8
Ambience-22 to -18
BGM / voice-16 to -14

One category per folder. Mixed folders: split first, then normalize each file with matching -t.

Common Flags

--audio · -t / --target-lufs · -output

bash
.dependency/python/python .ai/audio-loudness-normalization/normalize.py --audio Audio/SFX/click.wav -t -14

Never overwrite source files. The script writes only to audio-loudness-normalization/ (or -output). Supported inputs: .wav, .mp3, .ogg, .flac, .aac, .m4a, .wma.

Agent Notes

  1. Use the bundled script (two-pass loudnorm), not hand-written FFmpeg.
  2. Preserves input format — same extension and sample rate (-ar forced to source); does not resample.
  3. Missing Python/FFmpeg → populate .dependency/ per skill-dependency-manager, retry same command.
  4. Do not copy, move, or replace the source with the normalized output — tell the user where audio-loudness-normalization/ files are; they swap assets manually when ready.
  5. Do not use -output pointing at the source file; the script refuses paths that would overwrite the input.
  6. Do not fix uneven levels with per-asset volume in game code — re-normalize sources.
  7. Engine bus defaults and rationale: reference.md

Tests

From repo root:

bash
.dependency/python/python .ai/audio-loudness-normalization/test_normalize.py

Manual CLI examples: cli/audio-loudness-normalization.md

© godot-fun, 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 1 other file in .agents/skills/audio-loudness-normalization of godot-fun/gai.

  • SKILL.md
  • reference.md

Open the folder on GitHubat commit aa1ac71

Compare with similar skills

Audio Loudness Normalization 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.

Audio Loudness Normalization compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Audio Loudness Normalization this skillgodot-fun/gai182—~684Automated safety check: PassMIT
DoctorKumarSashank/motiscope122—~736Automated safety check: NotesMIT
Motiscope DoctorKumarSashank/motiscope122—~936Automated safety check: NotesMIT
Vhs Demobabarot/gh-infra136—~1.2kAutomated safety check: PassMIT
Soundhashgraph-online/awesome-codex-plugins1.3k—~2.4kAutomated safety check: PassApache-2.0
Matlab Use Scenario Buildermatlab/matlab-agentic-toolkit1.1k—~14kAutomated safety check: PassCustom licence

Similar skills

  • Doctor

    KumarSashank/motiscope

    Check and configure motiscope — verify ffmpeg/ffprobe are installed and scaffold the API-key config used for optional (stubbed) asset generation.

    122 GitHub stars~736 tokensUpdated 2 mo ago
    Media & CreativeAuto-check: notes
  • Motiscope Doctor

    KumarSashank/motiscope

    Check and configure motiscope — verify ffmpeg/ffprobe are installed and scaffold the API-key config used for optional (stubbed) asset generation.

    122 GitHub stars~936 tokensUpdated 2 mo ago
    Media & CreativeAuto-check: notes
  • Vhs Demo

    babarot/gh-infra

    A skill your agent uses when running demo recordings, diagnosing recording failures, or regenerating GIFs from existing MP4s.

    136 GitHub stars~1.2k tokensUpdated 10 days ago
    DevOps & CloudAuto-check passed
  • Sound

    hashgraph-online/awesome-codex-plugins

    Make a game's sound effects and synthesized music on the creator's own computer, free, with no provider or account — a set of effects (jump, coin, hit, explosion, win, lose, UI) rendered from…

    1.3k GitHub stars~2.4k tokensUpdated yesterday
    Game DevelopmentAuto-check passed
  • Matlab Use Scenario Builder

    matlab/matlab-agentic-toolkit

    Generate driving scenes, scenarios, road surfaces, and 3D content from scenariobuilder.

    1.1k GitHub stars~14k tokensUpdated yesterday
    Game DevelopmentAuto-check passed
  • 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 godot-fun/gai

All 36 skills in this repo
  • AI Text To Speech

    godot-fun/gai

    Zero-shot text-to-speech with voice cloning via IndexTTS2 (index-tts).

    182 GitHub stars~2k tokensUpdated yesterday
    Auto-check passed
  • Audio Denoise

    godot-fun/gai

    Reduces background noise in a single audio file using FFmpeg afftdn.

    182 GitHub stars~465 tokensUpdated yesterday
    Auto-check passed
  • Audio Fade

    godot-fun/gai

    Applies fade-in and fade-out at the start and end of a single audio file using FFmpeg.

    182 GitHub stars~652 tokensUpdated yesterday
    Auto-check passed
  • Standardizes a single audio file to 44100 or 48000 Hz and exports 16-bit PCM WAV using FFmpeg.

    182 GitHub stars~638 tokensUpdated yesterday
    Auto-check passed
  • Audio Split

    godot-fun/gai

    Splits a single audio file into two segments (part 1 before the split point, part 2 after) using FFmpeg.

    182 GitHub stars~554 tokensUpdated yesterday
    Auto-check passed
  • Audio To Ogg

    godot-fun/gai

    Converts a single audio file to OGG Vorbis using FFmpeg for Godot-ready compressed assets.

    182 GitHub stars~766 tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Audio Loudness Normalization

What does Audio Loudness Normalization do?

Normalizes a single audio file to consistent LUFS loudness with true-peak limiting using FFmpeg. Audio Loudness Normalization is an agent skill from godot-fun/gai. Normalizes a single audio file to consistent LUFS loudness with true-peak limiting using FFmpeg.

When should I use Audio Loudness Normalization?

Audio Loudness Normalization fits situations like: the user wants loudness normalization; volume matching; unified audio levels; SFX/UI/BGM leveling.

How do I install Audio Loudness Normalization in Claude Code?

Run `npx skills add godot-fun/gai --skill audio-loudness-normalization -a claude-code`. Or copy the skill folder (.agents/skills/audio-loudness-normalization in godot-fun/gai) into .claude/skills/audio-loudness-normalization in your project. Claude Code loads it when a task matches its description.

How do I install Audio Loudness Normalization in Codex?

Run `npx skills add godot-fun/gai --skill audio-loudness-normalization -a codex`. Or copy the skill folder (.agents/skills/audio-loudness-normalization in godot-fun/gai) into .agents/skills/audio-loudness-normalization in your project. Codex loads it when a task matches its description.

Can I use Audio Loudness Normalization 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 godot-fun/gai --skill audio-loudness-normalization -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/audio-loudness-normalization, .gemini/skills/audio-loudness-normalization, .github/skills/audio-loudness-normalization and .opencode/skills/audio-loudness-normalization in your project.

What does Audio Loudness Normalization need to run?

Going by SKILL.md and its folder, Audio Loudness Normalization needs the command-line tools its instructions call (python). Our summary lists: Python 3.

Does Audio Loudness Normalization 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 Audio Loudness Normalization 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 Audio Loudness Normalization use?

Audio Loudness Normalization 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 Audio Loudness Normalization use?

About 684 tokens (SKILL.md is roughly 2.7k 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 Audio Loudness Normalization?

Skills that share tags, products or a category with Audio Loudness Normalization: Doctor (KumarSashank/motiscope, 122 stars), Motiscope Doctor (KumarSashank/motiscope, 122 stars), Vhs Demo (babarot/gh-infra, 136 stars) and Sound (hashgraph-online/awesome-codex-plugins, 1.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Audio Loudness Normalization?

godot-fun (a GitHub organization) maintains it in godot-fun/gai, which has 182 GitHub stars. The repository holds 36 skills in this directory. The repository was last updated on October 9, 2026.

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