About cli-anything-musescore
A command-line wrapper around MuseScore 4 for score editing and processing, intended for music creators and notation workflows. It supports transposition, part extraction, instrument management, multi-format export, and score analysis.
Key features
- 01Transpose by key or interval
- 02Extract or generate parts
- 03Export PDF, MIDI, MusicXML, and other formats
- 04Add or remove instruments
- 05Inspect score statistics and differences
Use cases
- 01Transpose a score to a target key
- 02Create or extract individual ensemble parts
- 03Batch-export scores for printing and playback
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ hkuds/ cli-anything --skill cli-anything-musescoreAfter installing, type/cli-anything-musescorein Claude Code to confirm it loaded.
Details
From the project READMEMuseScore CLI Skill
Overview
Wraps MuseScore 4's mscore backend for music notation tasks: transposition, export to multiple formats (PDF, PNG, MP3, MIDI, MusicXML, Braille), part extraction, instrument management, and score analysis.
Commands
Project Management
cli-anything-musescore --json project info -i score.mscz
cli-anything-musescore --json project open -i score.mscz
Transposition
# Transpose to a target key
cli-anything-musescore --json transpose by-key -i score.mscz -o out.mscz --target-key "C major" --direction closest
# Transpose by semitones
cli-anything-musescore --json transpose by-interval -i score.mscz -o out.mscz --semitones 3
# Diatonic transposition
cli-anything-musescore --json transpose diatonic -i score.mscz -o out.mscz --steps 2
Part Extraction
cli-anything-musescore --json parts list -i score.mscz
cli-anything-musescore --json parts extract -i score.mscz -o piano.mscz --part "Piano"
cli-anything-musescore --json parts generate -i score.mscz -d ./parts/
Export
cli-anything-musescore --json export pdf -i score.mscz -o score.pdf
cli-anything-musescore --json export mp3 -i score.mscz -o score.mp3 --bitrate 192
cli-anything-musescore --json export png -i score.mscz -o score.png --dpi 300
cli-anything-musescore --json export midi -i score.mscz -o score.mid
cli-anything-musescore --json export musicxml -i score.mscz -o score.musicxml
cli-anything-musescore --json export braille -i score.mscz -o score.brf
cli-anything-musescore --json export batch -i score.mscz -o score.pdf -o score.mid
Instrument Management
cli-anything-musescore --json instruments list -i score.mscz
cli-anything-musescore --json instruments add -i score.mscz -o out.mscz --id keyboard.piano --name "Piano"
cli-anything-musescore --json instruments remove -i score.mscz -o out.mscz --name "Violin"
Score Analysis
cli-anything-musescore --json media probe -i score.mscz
cli-anything-musescore --json media stats -i score.mscz
cli-anything-musescore --json media diff --reference a.mscz --compare b.mscz
Session
cli-anything-musescore --json session status
cli-anything-musescore --json session undo
cli-anything-musescore --json session redo
cli-anything-musescore --json session history
Supported Input Formats
.mscz(MuseScore native).mxl(compressed MusicXML).musicxml/.xml(MusicXML).mid/.midi(MIDI)
Key Names for Transposition
Major: Cb, Gb, Db, Ab, Eb, Bb, F, C, G, D, A, E, B, F#, C# Minor: Ab, Eb, Bb, F, C, G, D, A, E, B, F#, C#, G#, D#, A#
Accepted formats: "C", "C major", "Am", "A minor", "Db major", "F# minor"
Agent Guidance
- Always use
--jsonflag for machine-readable output - Verify exports with
export verifyafter rendering - Use
media probeto inspect an unknown score before operating on it - Transposition requires both
-i(input) and-o(output) - Part names are case-insensitive for
parts extract