Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Converts mastered audio to sheet music and creates printable songbooks. Use after mastering when the user wants sheet music or a songbook for their album.
.claude/skills/bitwize-music-studio-sheet-music-publisher/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✗→✓ | ▲ Improved | 17% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 25% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 83% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 47% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 11% | 0% |
Input: $ARGUMENTS
Guide user through sheet music generation from mastered audio:
REQUIRED:
Python dependencies (songbook only):
bashpip install pypdf reportlab pyyaml
Check if user has these installed FIRST before proceeding.
You are a sheet music production specialist. Your role is to guide users through converting mastered audio into publishing-quality sheet music and songbooks.
Resolve paths via MCP:
get_config() — returns audio_root, content_root, artist.namefind_album(album_name) — fuzzy match to get album slug and metadataresolve_path("audio", album_slug) — returns the audio directory pathSheet music output:
{audio_path}/sheet-music/
├── source/ # AnthemScore output (numbered files)
├── singles/ # Consumer-ready downloads (clean titles, all formats)
│ └── .manifest.json
└── songbook/ # Combined songbook PDFCheck for custom sheet music preferences:
load_override("sheet-music-preferences.md") — returns override content if found (auto-resolves path from config){overrides}/sheet-music-preferences.md:
markdown# Sheet Music Preferences ## Page Layout - Page size: letter (8.5x11) or 9x12 (standard songbook) - Margins: 0.5" all sides (override: 0.75" for wider pages) - Font: Bravura (default) or MuseJazz for jazz albums - Staff size: 7mm (default) or 8mm for large print ## Title Formatting - Include track numbers: no (default) or yes - Title position: centered (default) or left-aligned - Composer credit: "Music by [artist]" below title - Copyright notice: © 2026 [artist]. All rights reserved. ## Notation Preferences - Clefs: Treble and bass (piano) or single staff (melody only) - Key signatures: Shown (default) or omitted for atonal music - Time signatures: Shown (default) or omitted for free time - Tempo markings: BPM numbers or Italian terms ## Songbook Settings - Table of contents: yes (default) or no - Page numbers: bottom center (default) or bottom right - Section headers: by genre (default) or chronological - Cover page style: minimalist (title + artist) or elaborate (artwork) ## Transcription Settings - Accuracy target: 85% (default) or 95% (requires manual polish) - Polish level: minimal (quick) or detailed (time-consuming) - Instrument focus: piano (default), guitar, or vocal melody - Complexity: simplified (easier to play) or exact (harder, more accurate)
Example:
See workflow-detail.md for detailed steps on all 7 phases:
Also covers: Error Handling, Tips for Better Results, Tool Invocation Examples, Quality Standards, Workflow State Tracking.
load_override("sheet-music-preferences.md") at invocationget_config(), find_album(), resolve_path("audio") instead of reading config manuallyUser should end with:
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-18 | pass→pass | 12,797 | 5,956 | -53% | 1 | 1 | 0% | 2,158 | 2,545 | +18% | 0 | 0 | — |
case-01 | fail→fail | 16,558 | 4,014 | -76% | 1 | 1 | 0% | 3,238 | 1,826 | -44% | 0 | 0 | — |
case-02 | fail→fail | 9,351 | 5,118 | -45% | 1 | 1 | 0% | 1,506 | 1,667 | +11% | 0 | 0 | — |
case-03 | fail→fail | 3,652 | 5,886 | +61% | 1 | 1 | 0% | 380 | 1,934 | +409% | 0 | 0 | — |
case-04 | fail→fail | 11,718 | 10,924 | -7% | 1 | 1 | 0% | 2,067 | 2,821 | +36% | 0 | 0 | — |
case-05 | fail→fail | 6,790 | 3,468 | -49% | 1 | 1 | 0% | 1,003 | 2,120 | +111% | 0 | 0 | — |
case-19 | fail→fail | 15,632 | 13,114 | -16% | 1 | 1 | 0% | 2,667 | 3,616 | +36% | 0 | 0 | — |
case-06 | fail→pass | 12,658 | 4,513 | -64% | 1 | 1 | 0% | 2,079 | 2,442 | +17% | 0 | 0 | — |
case-07 | fail→pass | 13,152 | 8,044 | -39% | 1 | 1 | 0% | 2,225 | 2,791 | +25% | 0 | 0 | — |
case-08 | fail→pass | 11,893 | 10,348 | -13% | 1 | 1 | 0% | 1,739 | 3,182 | +83% | 0 | 0 | — |
case-09 | fail→pass | 11,305 | 6,852 | -39% | 1 | 1 | 0% | 1,801 | 2,647 | +47% | 0 | 0 | — |
case-10 | fail→pass | 11,555 | 3,426 | -70% | 1 | 1 | 0% | 1,910 | 2,122 | +11% | 0 | 0 | — |
case-11 | pass→pass | 8,831 | 4,746 | -46% | 1 | 1 | 0% | 1,382 | 2,369 | +71% | 0 | 0 | — |
case-12 | fail→pass | 11,666 | 2,750 | -76% | 1 | 1 | 0% | 1,834 | 2,029 | +11% | 0 | 0 | — |
case-13 | fail→pass | 10,519 | 2,576 | -76% | 1 | 1 | 0% | 1,722 | 2,007 | +17% | 0 | 0 | — |
case-14 | pass→pass | 15,746 | 10,633 | -32% | 1 | 1 | 0% | 2,641 | 3,286 | +24% | 0 | 0 | — |
case-15 | fail→pass | 10,073 | 7,715 | -23% | 1 | 1 | 0% | 1,839 | 2,830 | +54% | 0 | 0 | — |
case-16 | fail→pass | 8,681 | 2,085 | -76% | 1 | 1 | 0% | 1,616 | 2,037 | +26% | 0 | 0 | — |
case-17 | pass→pass | 10,951 | 6,009 | -45% | 1 | 1 | 0% | 1,717 | 2,660 | +55% | 0 | 0 | — |
case-20 | fail→fail | 11,915 | 9,960 | -16% | 1 | 1 | 0% | 1,971 | 3,183 | +61% | 0 | 0 | — |
case-21 | fail→fail | 15,613 | 15,124 | -3% | 1 | 1 | 0% | 2,697 | 4,156 | +54% | 0 | 0 | — |
case-22 | fail→fail | 15,897 | 6,361 | -60% | 1 | 1 | 0% | 2,505 | 2,616 | +4% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 19 counted toward the lift figure. The other 3 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +41 percentage points is the difference between those two pass rates over the 19 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.