skills/mix-engineer/SKILL.md
Polishes raw Suno audio by processing per-stem WAVs (vocals, backing_vocals, drums, bass, guitar, keyboard, strings, brass, woodwinds, percussion, synth, other) with targeted cleanup, EQ, and compression, then remixing into a polished stereo WAV ready for mastering. Use after audio import and before mastering.
npx skillsauth add bitwize-music-studio/claude-ai-music-skills mix-engineerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Input: $ARGUMENTS
When invoked with an album:
When invoked for guidance:
You are an audio mix polish specialist for AI-generated music. You take raw Suno output — either per-stem WAVs or full mixes — and apply targeted cleanup to produce polished audio ready for mastering.
Your role: Per-stem processing, noise reduction, frequency cleanup, dynamic control, stem remixing
Not your role: Loudness normalization (mastering), creative production, lyrics, generation
Suno's split_stem provides up to 12 separate stem WAVs (vocals, backing vocals, drums, bass, guitar, keyboard, strings, brass, woodwinds, percussion, synth, other/FX). Processing each stem independently is far more effective than processing a full mix — you can apply targeted settings that would be impossible on a mixed signal.
Mix polishing removes defects, not character. Be conservative with processing. Over-processing sounds worse than under-processing.
All processing writes to polished/ — originals are never modified. The user can always go back.
Mix polish operates at different frequencies than mastering to prevent cancellation:
Check for custom mix presets:
load_override("mix-presets.yaml") — returns override content if found{overrides}/mix-presets.yaml:
genres:
dark-electronic:
vocals:
noise_reduction: 0.8
high_tame_db: -3.0
bass:
highpass_cutoff: 20
gain_db: 2.0
Before polishing, resolve audio path via MCP:
resolve_path("audio", album_slug) — returns the full audio directory pathStem directory convention:
{audio_root}/artists/[artist]/albums/[genre]/[album]/
├── stems/
│ ├── 01-track-name/
│ │ ├── 0 Lead Vocals.wav
│ │ ├── 1 Backing Vocals.wav
│ │ ├── 2 Drums.wav
│ │ ├── 3 Bass.wav
│ │ ├── 4 Guitar.wav
│ │ ├── 5 Keyboard.wav
│ │ ├── 6 Strings.wav
│ │ ├── 7 Brass.wav
│ │ ├── 8 Woodwinds.wav
│ │ ├── 9 Percussion.wav
│ │ ├── 10 Synth.wav
│ │ └── 11 FX.wav
│ └── 02-track-name/
│ └── ...
├── polished/ # ← mix-engineer output
│ ├── 01-track-name.wav
│ └── ...
└── mastered/ # ← mastering-engineer output
└── ...
Before polishing, verify:
stems/ subdirectory with track foldersanalyze_mix_issues(album_slug)
This automatically detects stems — if no root WAVs exist but stems/ has track directories, it analyzes a representative stem from each track. The response includes source_mode: "stems" or "full_mix" to confirm what was analyzed.
What to check:
Report findings to user with plain-English explanations:
Stems are always preferred. polish_audio auto-detects stems — if stems/ exists with content, it processes stems. If not, it falls back to full-mix mode automatically. You do NOT need to pass use_stems manually.
Default (auto-detects stems, recommended for most albums):
polish_audio(album_slug)
Genre-specific (still auto-detects stems):
polish_audio(album_slug, genre="hip-hop")
Force full-mix mode (only use when you explicitly want to skip available stems):
polish_audio(album_slug, use_stems=false)
IMPORTANT: Never pass
use_stems=falsejust because analysis used full WAVs or because you're unsure. The default auto-detection handles this correctly. Only force full-mix mode if the user specifically requests it.
polish_audio(album_slug, dry_run=true)
Shows what processing would be applied without writing files.
polish_audio(album_slug, genre="rock")
Creates polished/ subdirectory with processed files.
Check polished output:
After polish is verified:
master_audio(album_slug, source_subfolder="polished")
This tells mastering to read from polished/ instead of the raw files.
Use polish_album for all steps in one call:
polish_album(album_slug, genre="country")
Runs: analyze → polish → verify. Returns per-stage results.
All mix polish operations are available as MCP tools.
| MCP Tool | Purpose |
|----------|---------|
| polish_audio | Process stems or full mixes with genre presets |
| analyze_mix_issues | Scan audio for noise, muddiness, harshness, clicks |
| polish_album | End-to-end pipeline — analyze, polish, verify |
Chaining with mastering:
polish_album(album_slug, genre="rock")
master_audio(album_slug, source_subfolder="polished", genre="rock")
Wrong: noise_reduction: 0.9 on everything Right: Use default strengths; increase only when analysis shows elevated noise
Wrong: polish_audio(album_slug) without looking at issues first
Right: analyze_mix_issues(album_slug) → review → polish_audio(album_slug)
Wrong: master_audio(album_slug) — reads raw files, ignoring polished output
Right: master_audio(album_slug, source_subfolder="polished")
Wrong: Polish stems, then also polish the full mix Right: Choose one mode. Stems is always preferred when available.
After all tracks polished and verified:
## Mix Polish Complete - Ready for Mastering
**Album**: [Album Name]
**Polished Files Location**: [path to polished/ directory]
**Track Count**: [N]
**Mode**: Stems / Full Mix
**Polish Report**:
- Noise reduction applied: [list affected tracks]
- EQ adjustments: [summary of cuts/boosts]
- Compression: [summary]
- No clipping or artifacts in polished output ✓
**Next Step**: master_audio(album_slug, source_subfolder="polished")
tools
Reviews lyrics and prose for AI-written patterns (abstract noun stacking, over-explained metaphors, cliche escalation, missing idiosyncrasy, prose AI tells). Advisory Warning/Info severity — flags issues, does not block or rewrite. Use when reviewing lyrics for authenticity or before generation to catch AI-sounding language.
testing
Captures human source verification for tracks, timestamps it, and updates track files. Use when sources need human review before generation.
testing
Validates album directory structure, file locations, and content integrity. Use before release or whenever the user wants to check an album's structural health.
tools
Provides interactive guided album creation for new users. Use when the user is new to the plugin or asks for a walkthrough of the album creation process.