Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Converts an album idea from IDEAS.md into an actual album project in one step. Use when the user says "promote [idea title]", "turn idea into album", or "start working on [idea]".
.claude/skills/bitwize-music-studio-promote-idea/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-08 | ✗→✓ | ▲ Improved | 117% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 119% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 13% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 135% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 29% | 0% |
Input: $ARGUMENTS
Convert a Pending idea from IDEAS.md into a full album project in one call. Replaces the manual 3-step workflow (get_ideas → new-album → update_idea) with a single entry point.
Expected formats:
"<idea title>" — auto-derive slug from the title"<idea title>" <album-slug> — override the auto-derived slug"<idea title>" documentary — standard slug, documentary flag on"<idea title>" <album-slug> documentary — explicit slug + documentaryExamples:
"Kleine Welt" → slug auto-derived to kleine-welt"The Great Molasses Flood" molasses-flood documentary"Ängstliche Kätzchen" → slug angstliche-katzchen (diacritics stripped)If no arguments are supplied, or the title is empty, list the available pending ideas first and ask which one to promote:
Which idea should I promote?
Pending ideas:
1. Kleine Welt (electronic, Thematic)
2. The Great Molasses Flood (folk, Documentary)
3. Linux Kernel Wars (electronic, Character Study)
Reply with the exact title.Use get_ideas(status_filter="Pending") to fetch the list.
Call get_ideas(status_filter="Pending") (or search(query=idea_title, scope="ideas")) to confirm the idea exists and show the user what's about to happen.
Compute the slug locally for display only (lowercase, strip diacritics, non-alphanumeric → hyphen). If the result looks odd, offer to override:
About to promote:
Idea: Kleine Welt
Slug: kleine-welt
Genre: electronic
Type: Thematic
Proceed? (Or supply a different slug.)Skip the confirmation step if the user has already provided an explicit slug — that's the signal they've already thought about it.
The documentary flag decides whether RESEARCH.md and SOURCES.md are created. This is not derivable from idea metadata — the idea's "Type" field can say "Documentary" but that's a separate concept (narrative shape). Ask once:
> Is this a documentary/true-story album? (Adds research + sources > templates. Answer 'yes' for real-world events, 'no' for fiction.)
Skip this step if documentary is already in the arguments.
Call promote_idea(idea_title, album_slug=<slug or "">, documentary=<bool>).
The tool performs all of:
create_album_structureREADME.md under a ## Conceptsection
Pending → In Progress**Promoted To**: <slug> back-link to the idea in IDEAS.mdThe tool returns {promoted: true, slug, album_path, files, ...} on success or {error: ...} on failure.
On success, report:
Promoted "Kleine Welt" → album "kleine-welt"
Location: ~/bitwize-music/artists/bitwize/albums/electronic/kleine-welt/
Files: README.md, tracks/
Concept block injected into README.md from idea.
Idea status: Pending → In Progress
Next step:
/bitwize-music:album-conceptualizer
This walks through the 7 Planning Phases (Vision, Identity, Sonic
Direction, Structure, Tracks, Content, Approval) to develop the concept
you just carried over into the album.For documentary albums, add:
Research files also created: RESEARCH.md, SOURCES.md
Don't forget human source verification before generation.Idea not found:
Error: Idea "Nonexistent" not found in IDEAS.md.
Check available ideas: /bitwize-music:album-ideas listIdea already promoted:
Error: Idea "Already Active" is already promoted (status: In Progress).
If you want to rename or re-scaffold, use /bitwize-music:rename on the
existing album instead.Idea has no genre:
Error: Idea "No Genre" has no **Genre** field in IDEAS.md.
Set the genre first: /bitwize-music:album-ideas edit "No Genre"Invalid genre:
Error: Invalid genre "xyz" on idea. Not in genres/.
Fix the genre in IDEAS.md, then retry.Duplicate album slug:
Error: Album "kleine-welt" already exists.
Options:
1. Supply a different slug: /bitwize-music:promote-idea "Kleine Welt" kleine-welt-2
2. Resume the existing album: /bitwize-music:resume kleine-welt/bitwize-music:promote-idea "Kleine Welt"Auto-derives slug kleine-welt, asks about documentary flag, calls promote_idea, reports outcome.
/bitwize-music:promote-idea "The Great Molasses Flood" molasses-1919Uses molasses-1919 instead of the auto-derived the-great-molasses-flood.
/bitwize-music:promote-idea "The Great Molasses Flood" documentaryCreates RESEARCH.md and SOURCES.md in addition to the standard README and tracks directory.
The manual workflow required three steps in sequence:
get_ideas to find the idea's genre/bitwize-music:new-album <slug> <genre> with a slug the user inventedupdate_idea("<title>", "status", "In Progress")Problems this skill solves:
album README automatically (manual copy/paste used to be skipped often).
Pending after beingworked on; the transition is automatic and bidirectional (Promoted To back-link).
punctuation are normalized consistently.
Pending ideas can be promoted. In Progressand Complete ideas return an error.
is no "unpromote"; use /bitwize-music:rename or manual cleanup if you need to redo.
after promotion: the idea's entry in IDEAS.md (historical record) and the new album's README.md (working document).
the actual planning happens in the 7 Planning Phases.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-20 | pass→fail | 10,829 | 6,656 | -39% | 1 | 1 | 0% | 1,936 | 2,888 | +49% | 0 | 0 | — |
case-21 | pass→pass | 10,650 | 5,770 | -46% | 1 | 1 | 0% | 1,737 | 2,684 | +55% | 0 | 0 | — |
case-22 | pass→pass | 8,755 | 4,665 | -47% | 1 | 1 | 0% | 1,456 | 2,512 | +73% | 0 | 0 | — |
case-01 | fail→fail | 10,788 | 4,025 | -63% | 1 | 1 | 0% | 1,460 | 1,958 | +34% | 0 | 0 | — |
case-02 | fail→fail | 8,706 | 6,005 | -31% | 1 | 1 | 0% | 1,426 | 2,144 | +50% | 0 | 0 | — |
case-03 | fail→fail | 16,578 | 7,770 | -53% | 1 | 1 | 0% | 2,950 | 2,636 | -11% | 0 | 0 | — |
case-04 | pass→pass | 7,252 | 3,117 | -57% | 1 | 1 | 0% | 1,243 | 2,306 | +86% | 0 | 0 | — |
case-05 | pass→pass | 4,542 | 4,085 | -10% | 1 | 1 | 0% | 838 | 2,433 | +190% | 0 | 0 | — |
case-06 | fail→fail | 11,275 | 3,659 | -68% | 1 | 1 | 0% | 1,527 | 2,373 | +55% | 0 | 0 | — |
case-07 | pass→pass | 7,980 | 3,071 | -62% | 1 | 1 | 0% | 1,144 | 2,342 | +105% | 0 | 0 | — |
case-08 | fail→pass | 6,220 | 2,593 | -58% | 1 | 1 | 0% | 1,025 | 2,223 | +117% | 0 | 0 | — |
case-09 | fail→pass | 5,931 | 2,027 | -66% | 1 | 1 | 0% | 954 | 2,085 | +119% | 0 | 0 | — |
case-10 | fail→pass | 10,412 | 1,399 | -87% | 1 | 1 | 0% | 1,775 | 2,012 | +13% | 0 | 0 | — |
case-11 | fail→pass | 6,245 | 2,804 | -55% | 1 | 1 | 0% | 979 | 2,297 | +135% | 0 | 0 | — |
case-12 | fail→pass | 10,184 | 1,929 | -81% | 1 | 1 | 0% | 1,591 | 2,049 | +29% | 0 | 0 | — |
case-13 | fail→pass | 9,754 | 1,727 | -82% | 1 | 1 | 0% | 1,434 | 2,031 | +42% | 0 | 0 | — |
case-14 | fail→pass | 6,204 | 1,292 | -79% | 1 | 1 | 0% | 924 | 1,971 | +113% | 0 | 0 | — |
case-15 | fail→pass | 8,207 | 2,309 | -72% | 1 | 1 | 0% | 1,313 | 2,115 | +61% | 0 | 0 | — |
case-16 | fail→pass | 6,414 | 2,331 | -64% | 1 | 1 | 0% | 970 | 2,146 | +121% | 0 | 0 | — |
case-17 | pass→pass | 5,299 | 3,512 | -34% | 1 | 1 | 0% | 905 | 2,373 | +162% | 0 | 0 | — |
case-18 | pass→pass | 7,961 | 2,200 | -72% | 1 | 1 | 0% | 1,267 | 2,142 | +69% | 0 | 0 | — |
case-19 | pass→pass | 8,826 | 3,729 | -58% | 1 | 1 | 0% | 1,342 | 2,419 | +80% | 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 +36 percentage points is the difference between those two pass rates over the 19 comparable cases. 2 cases got worse with the skill loaded, and they are 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.