/mix-engineer
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
$ npx -y skills add bitwize-music-studio/claude-ai-music-skills --skill mix-engineer --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/mix-engineer
Context preview
The summary Claude sees to decide when to auto-load this skill.
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
SKILL.md
mix-engineer.SKILL.mdname: mix-engineer
description: 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.
argument-hint: <album-name or "polish for [genre]">
model: sonnet
effort: low
prerequisites:
- import-audio
allowed-tools:
- Read
- Edit
- Write
- Grep
- Glob
- Bash
- bitwize-music-mcp
requirements:
python:
- noisereduce
- scipy
- numpy
- soundfileYour Task
**Input**: $ARGUMENTS
When invoked with an album: 1. Analyze raw audio for mix issues (noise, muddiness, harshness, clicks) 2. Process stems or full mixes with appropriate settings 3. Verify polished output meets quality standards 4. Hand off to mastering-engineer
When invoked for guidance: 1. Provide mix polish recommendations based on genre and detected issues
---
Supporting Files
- **[mix-presets.md](mix-presets.md)** - Genre-specific stem settings, artifact descriptions, override guidance
---
Mix Engineer Agent
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
---
Core Principles
Stems First
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.
> Suno's stem separation now offers three modes — **Auto Split** (all 12 at once), **Split from Mix** (one target + the rest), and **Advanced Split** (one instrument from ~100). For a single clean stem, Split from Mix often beats pulling all 12. See `${CLAUDE_PLUGIN_ROOT}/reference/suno/v5-best-practices.md` § Stem Extraction.
Preserve the Performance
Mix polishing removes defects, not character. Be conservative with processing. Over-processing sounds worse than under-processing.
Non-Destructive
All processing writes to `polished/` — originals are never modified. The user can always go back.
Frequency Coordination with Mastering
Mix polish operates at different frequencies than mastering to prevent cancellation:
- **Mix presence boost**: 3 kHz (clarity)
- **Mastering harshness cut**: 3.5 kHz (taming)
- These don't cancel because they target different center frequencies
---
Override Support
Check for custom mix presets:
Loading Override
1. Call `load_override("mix-presets.yaml")` — returns override content if found 2. If found: deep-merge custom presets over built-in defaults 3. If not found: use base presets only
Override File Format
**`{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---
Path Resolution (REQUIRED)
Before polishing, resolve audio path via MCP:
1. Call `resolve_path("audio", album_slug)` — returns the full audio directory path
**Stem 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
└── ...---
Mix Polish Workflow
Step 1: Pre-Flight Check
Before polishing, verify: 1. **Audio folder exists** — resolve via MCP 2. **Stems available** — check for `stems/` subdirectory with track folders 3. If no WAV files at all: "No audio files found. Import audio first."
Step 2: Analyze Mix Issues
analyze_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:**
- Noise floor level
- Low-mid energy (muddiness indicator)
- High-mid energy (harshness indicator)
- Click/pop count
- Sub-bass rumble
**Report findings** to user with plain-English explanations:
- "Track 03 has elevated noise floor — noise reduction recommended"
- "Most tracks show muddy low-mids — will apply 200 Hz cut"
Step 3: Choose Settings
**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=false` just 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.
Step 4: Dry Run (Preview)
polish_audio(album_slug, dry_run=true)
Shows what processing w
Read more
name: mix-engineer
description: 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.
argument-hint: <album-name or "polish for [genre]">
model: sonnet
effort: low
prerequisites:
- import-audio
allowed-tools:
- Read
- Edit
- Write
- Grep
- Glob
- Bash
- bitwize-music-mcp
requirements:
python:
- noisereduce
- scipy
- numpy
- soundfileYour Task
**Input**: $ARGUMENTS
When invoked with an album: 1. Analyze raw audio for mix issues (noise, muddiness, harshness, clicks) 2. Process stems or full mixes with appropriate settings 3. Verify polished output meets quality standards 4. Hand off to mastering-engineer
When invoked for guidance: 1. Provide mix polish recommendations based on genre and detected issues
---
Supporting Files
- **[mix-presets.md](mix-presets.md)** - Genre-specific stem settings, artifact descriptions, override guidance
---
Mix Engineer Agent
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
---
Core Principles
Stems First
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.
> Suno's stem separation now offers three modes — **Auto Split** (all 12 at once), **Split from Mix** (one target + the rest), and **Advanced Split** (one instrument from ~100). For a single clean stem, Split from Mix often beats pulling all 12. See `${CLAUDE_PLUGIN_ROOT}/reference/suno/v5-best-practices.md` § Stem Extraction.
Preserve the Performance
Mix polishing removes defects, not character. Be conservative with processing. Over-processing sounds worse than under-processing.
Non-Destructive
All processing writes to `polished/` — originals are never modified. The user can always go back.
Frequency Coordination with Mastering
Mix polish operates at different frequencies than mastering to prevent cancellation:
- **Mix presence boost**: 3 kHz (clarity)
- **Mastering harshness cut**: 3.5 kHz (taming)
- These don't cancel because they target different center frequencies
---
Override Support
Check for custom mix presets:
Loading Override
1. Call `load_override("mix-presets.yaml")` — returns override content if found 2. If found: deep-merge custom presets over built-in defaults 3. If not found: use base presets only
Override File Format
**`{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---
Path Resolution (REQUIRED)
Before polishing, resolve audio path via MCP:
1. Call `resolve_path("audio", album_slug)` — returns the full audio directory path
**Stem 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
└── ...---
Mix Polish Workflow
Step 1: Pre-Flight Check
Before polishing, verify: 1. **Audio folder exists** — resolve via MCP 2. **Stems available** — check for `stems/` subdirectory with track folders 3. If no WAV files at all: "No audio files found. Import audio first."
Step 2: Analyze Mix Issues
analyze_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:**
- Noise floor level
- Low-mid energy (muddiness indicator)
- High-mid energy (harshness indicator)
- Click/pop count
- Sub-bass rumble
**Report findings** to user with plain-English explanations:
- "Track 03 has elevated noise floor — noise reduction recommended"
- "Most tracks show muddy low-mids — will apply 200 Hz cut"
Step 3: Choose Settings
**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=false` just 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.
Step 4: Dry Run (Preview)
polish_audio(album_slug, dry_run=true)
Shows what processing w
Showing the first part of this file.
I love music but never learned an instrument. AI became the creative outlet that was always out of reach. This project started as a way to go deep on Claude Code plugin architecture, agentic workflows, multi-model orchestration, and MCP tooling.
Repo: bitwize-music-studio/claude-ai-music-skills
Other skills on bitwize-music.
- /about
Provides information about the bitwize-music plugin, its version, and its creator. Use when the user asks about the plugin, its purpose, version, or capabilities.
Open skill - /album-art-director
Creates visual concepts for album artwork and generates AI art prompts. Use during planning for concept discussion, or after all tracks are Final for actual artwork generation.
Open skill - /album-conceptualizer
Designs album concepts, tracklist architecture, and thematic planning through 7 structured phases. Use when planning a new album or reworking an existing album concept.
Open skill - /album-dashboard
Shows a structured progress dashboard for an album with percentage complete per phase, blocking items, and status breakdown. Use for a quick visual overview of album progress.
Open skill - /album-ideas
Tracks and manages album ideas including brainstorming, planning, and status updates. Use when the user wants to add, review, or organize their album idea backlog.
Open skill - /clipboard
Copies track content (lyrics, style prompts, streaming lyrics) to the system clipboard. Use when the user needs to paste lyrics or style prompts into Suno or other external tools.
Open skill

