agentsclimarketplace

Claude music

Skill AgriciDaniel/claude-music/skills/claude-music

Music production suite using ACE-Step 1.5 via Python API. Routes /music commands for generation, cover, repaint, compose, analyze, export, enhance, random, and LoRA training. 50+ languages, up to 10-minute tracks, 48kHz stereo.From its SKILL.md

Install
npx -y skills add AgriciDaniel/claude-music --skill claude-music

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

9.0 KB, as published. Nobody here has run it

claude-music — AI Music Production for Claude Code

Quick Reference

CommandWhat it does
/musicInteractive mode — describe what you want
/music generateText/lyrics to full song (text2music)
/music coverStyle transfer from reference audio
/music repaintEdit a specific section of a song
/music extractSeparate tracks/stems (base model only)
/music legoAdd instrument layer (base model only)
/music completeContinue/extend audio (base model only)
/music composeSongwriting: craft caption + lyrics + params
/music analyzeBPM, key, loudness, duration analysis
/music exportPlatform-optimized export (Spotify, YouTube, etc.)
/music enhancePost-processing: normalize, denoise, stem separate
/music randomQuick random generation with smart defaults
/music libraryBrowse and manage generated music
/music webLocal browser dashboard: generate, play, rate
/music loraLoRA/LoKr fine-tuning management
/music setupVerify installation and dependencies

Orchestration Logic

Command Routing

When the user provides a specific command, load the matching sub-skill:

  • /music generate or intent is create song/make music/text-to-music/lyrics-to-music → Read skills/claude-music-generate/SKILL.md
  • /music cover or intent is cover/style transfer/remake/version of → Read skills/claude-music-cover/SKILL.md
  • /music repaint or intent is edit section/fix chorus/change part/modify section → Read skills/claude-music-repaint/SKILL.md
  • /music compose or intent is write lyrics/craft caption/plan song/songwriting → Read skills/claude-music-compose/SKILL.md
  • /music analyze or intent is BPM/key detection/loudness/audio info → Read skills/claude-music-analyze/SKILL.md
  • /music export or intent is export for Spotify/YouTube/platform/format conversion → Read skills/claude-music-export/SKILL.md
  • /music enhance or intent is normalize/denoise/stem separate/master → Read skills/claude-music-enhance/SKILL.md
  • /music random or intent is quick generation/surprise me/random song → Read skills/claude-music-random/SKILL.md
  • /music library or intent is list songs/browse output/manage music → Read skills/claude-music-library/SKILL.md
  • /music web or intent is dashboard/browser app/web UI/visual player → Read skills/claude-music-web/SKILL.md
  • /music lora or intent is train/fine-tune/LoRA/custom style → Read skills/claude-music-lora/SKILL.md
  • /music setup → Run bash ~/.claude/skills/claude-music/scripts/setup.sh

Interactive Mode

When user says /music without arguments or describes a task in natural language:

  1. Run bash ~/.claude/skills/claude-music/scripts/check_deps.sh to verify tools
  2. Run bash ~/.claude/skills/claude-music/scripts/detect_gpu.sh for GPU info
  3. Identify intent from the user's description
  4. Route to the appropriate sub-skill
  5. If ambiguous, ask the user to clarify

Multi-Step Pipelines

For complex requests spanning multiple sub-skills (e.g., "compose lyrics, generate a song, then export for Spotify"):

  1. Compose lyrics/caption with /music compose
  2. Generate with /music generate using composed output
  3. Export with /music export
  4. Clean up temp files

Generate-Listen-Iterate Loop

After any generation:

  1. Present output file paths and metadata (seed, duration, format)
  2. Suggest playback: ffplay -nodisp -autoexit "<path>"
  3. Ask if user wants to:
    • Re-generate with different seed (same params)
    • Refine params (adjust caption, BPM, quality)
    • Repaint a specific section
    • Cover to change style while keeping structure
    • Export for a platform

Safety Rules — MANDATORY

  1. Run preflight before writes: bash ~/.claude/skills/claude-music/scripts/preflight.sh "$INPUT" "$OUTPUT"
  2. Never overwrite source files — all operations produce new files
  3. Check VRAM before GPU operations: bash ~/.claude/skills/claude-music/scripts/detect_gpu.sh
  4. Confirm before: batch >4 generations, operations with --quality max (3-5 min)
  5. Auto-execute without confirmation: single generation (draft/standard), analysis, format conversion, setup
  6. Temp files: /tmp/claude-music/ with cleanup trap
  7. Output directory: ~/Music/claude-music-output/ (auto-created)

ACE-Step Configuration

  • Installation: Set ace_step_dir in config.json (default: see config.json)
  • Invocation: bash ~/.claude/skills/claude-music/scripts/music_engine.sh <command> [args]
  • Config: ~/.claude/skills/claude-music/config.json
  • Output: ~/Music/claude-music-output/

Quality Presets

PresetModelLMStepsSpeedUse for
draftturbonone8~15sQuick exploration, batch 4 variants
standardturbonone8~15sDefault, batch 2 variants
highturbo1.7B LM8~25sBetter lyrics/structure, thinking mode
maxbase1.7B LM65~3-5minHighest quality, single output

VRAM Management (RTX 5070 Ti — 16GB)

ConfigurationVRAMOffloadNotes
Turbo (no LM)~8GBCPU offloadDefault, fast generation
Turbo + 0.6B LM~10GBCPU + DiT offloadThinking mode, lightweight
Turbo + 1.7B LM~14GBCPU + DiT offloadFull thinking, tight on VRAM
XL Turbo~14-16GBFull offloadMaximum quality DiT, no LM room

Rule: Never run two heavy models simultaneously. The music_engine.py handles VRAM automatically.

Script Invocation

All ACE-Step operations go through the bash wrapper:

bash ~/.claude/skills/claude-music/scripts/music_engine.sh <subcommand> [args]

The wrapper handles: path setup, environment variables, VRAM pre-check, uv run invocation.

Output is always JSON to stdout. Parse with jq for specific fields.

Reference Files (Load On-Demand)

ReferenceWhen to load
references/prompt-guide.mdWhen crafting captions or lyrics
references/parameters.mdWhen user asks about specific params or tuning
references/genre-recipes.mdWhen targeting a specific genre
references/music-theory.mdWhen discussing keys, scales, BPM, song structure
references/post-processing.mdWhen exporting, mastering, or enhancing
references/song-structures.mdWhen planning song layout
references/lora-training.mdWhen training custom LoRA models

Sub-Skills

SkillTypeDescription
claude-music-generateGenerationCore text2music via ACE-Step Python API
claude-music-coverGenerationStyle transfer from reference audio
claude-music-repaintEditingSelective section regeneration
claude-music-composeReferenceSongwriting guide (caption, lyrics, params)
claude-music-analyzeAnalysisBPM, key, loudness, metadata via ffprobe/librosa
claude-music-exportProcessingPlatform-specific audio export via FFmpeg
claude-music-enhanceProcessingLoudness normalization, denoise, stems (reuses video skills)
claude-music-randomGenerationQuick random generation with genre presets
claude-music-libraryManagementBrowse/search generated music output
claude-music-webUILocal browser dashboard (generate, play, rate)
claude-music-loraTrainingLoRA/LoKr fine-tuning wrapper

Scripts

ScriptPurpose
scripts/music_engine.pyCore ACE-Step Python API wrapper (all 6 task types)
scripts/music_engine.shBash wrapper (env, VRAM, uv run, show-once star nudge)
scripts/music_export.shFFmpeg platform export commands
scripts/rank.pyBatch-rank outputs vs caption (stub — Theme 3 of research plan)
scripts/detect_gpu.shGPU detection + tier recommendation → JSON
scripts/preflight.shSafety checks for audio files → JSON
scripts/check_deps.shDependency verification → JSON
scripts/setup.shInstallation verification (invoked by /music setup)

Audio analysis (BPM, key, loudness) is handled by claude-music-analyze via ffprobe + FFmpeg's loudnorm filter — no separate Python script; see that sub-skill.

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.