Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Runs the session startup procedure - verifies setup, loads config and state, checks skill models, and reports project status. Use at the beginning of a fresh session.
.claude/skills/bitwize-music-studio-session-start/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 66% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 73% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 39% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 46% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 183% | 0% |
Run the full session start procedure and report project status to the user.
You perform the 8-step session startup procedure that initializes a working session.
Quick dependency check:
bash~/.bitwize-music/venv/bin/python3 -c "import mcp" 2>&1 >/dev/null && echo "MCP ready" || echo "MCP missing" # macOS/Linux/WSL ~/.bitwize-music/venv/Scripts/python.exe -c "import mcp" 2>&1 >/dev/null && echo "MCP ready" || echo "MCP missing" # Windows (Git Bash; cmd/PowerShell: %USERPROFILE%\.bitwize-music\venv\Scripts\python.exe)
/bitwize-music:setup mcp~/.bitwize-music/config.yaml doesn't exist): suggest /bitwize-music:configureUse the health_check MCP tool (checks venv packages + skill registration + album slug collisions in one call):
Venv results (from result.venv):
status: "ok" → continue silentlystatus: "stale" → warn with mismatches and fix command, continue sessionstatus: "no_venv" → stop and suggest /bitwize-music:setupstatus: "error" → warn and continueSkill registration results (from result.skills):
status: "ok" → continue silentlystatus: "stale" → warn: list missing and ghost skill names, show fix messagestatus: "no_cache" → warn that plugin cache not found, continueAlbum slug collision results (from result.collisions):
status: "ok" → continue silentlystatus: "collision" → warn: list each slug with its kept and shadowed genres, show the fix (rename one album with /bitwize-music:rename or move its directory, then run rebuild_state), continue sessionRead ~/.bitwize-music/config.yaml.
If missing, tell user to run /bitwize-music:configure.
Read paths.overrides from config (default: {content_root}/overrides):
{overrides}/CLAUDE.md — incorporate instructions if found{overrides}/pronunciation-guide.md — note if foundRead ~/.bitwize-music/cache/state.json:
rebuild_state()
Call the get_pending_migrations MCP tool. It compares the installed plugin version against last_migrated_version in state (the last version whose migrations were processed — distinct from plugin_version, which only records the installed version for display) and returns the pending notes already parsed and sorted.
pending is empty (reason: "current", or reason: "unknown" when theinstalled version can't be read from plugin.json): No action needed.
pending is non-empty (reason: "upgrade" or "untracked"): For eachmigration, process its actions in order:
auto: Execute silently (run check first — skip if it returns 0)action: Show description, ask the user to confirm before executinginfo: Display to the usermanual: Show the instruction to the useracknowledge_migrations (no argumentacknowledges everything up to the installed version) so the same notes do not surface again next session.
> reason: "untracked" means the state predates migration tracking; the full > backlog up to the installed version is surfaced once, then cleared by > acknowledge_migrations. Do NOT just rebuild state to clear migrations — > a rebuild preserves the pending status; only acknowledge_migrations records > that you processed them.
Skill model checking is no longer part of session start. Skills use tier aliases (opus/sonnet/haiku) that auto-track the frontier model, and the test suite (/bitwize-music:test) enforces model/effort hygiene — so no manual model checking is needed when new Claude models are released.
Using data from state.json, report:
From state.ideas.counts — show count by status (Pending, In Progress, etc.)
Filter state.albums for status: "In Progress", "Research Complete", "Complete"
For each, show:
From state.albums — find tracks where sources_verified is "Pending"
If any found, warn: "These tracks have unverified sources — generation is blocked until verified."
From state.session:
Based on state, show ONE relevant tip:
| Condition | Tip | |-----------|-----| | No albums exist | "Try /bitwize-music:tutorial to create your first album" | | Ideas exist but no albums | "You have album ideas! Use /bitwize-music:album-ideas list to review them" | | In-progress albums exist | "Resume where you left off: /bitwize-music:resume <album-name>" | | Overrides loaded | "Custom overrides loaded from {overrides}/" | | Overrides missing | "Customize your workflow with override files — see /reference/overrides/" | | Pending verifications | "Source verification needed before generation can proceed" |
Also show one random general tip (rotate through these):
/bitwize-music:resume to quickly jump back into an album"/bitwize-music:clipboard to copy lyrics/prompts for Suno"/bitwize-music:mastering-engineer for professional results"End with: "What would you like to work on?"
SESSION START
=============
Setup: MCP ready, config loaded
Health: [venv ok, skills ok, no collisions | warnings listed]
Overrides: [loaded from {path} | not found (optional)]
State: [loaded | rebuilt | error]
ALBUM IDEAS
Pending: X | In Progress: Y
IN-PROGRESS ALBUMS
[album-name] (genre) - Status [X/Y tracks]
[album-name] (genre) - Status [X/Y tracks]
PENDING VERIFICATIONS
[album-name]: track-01, track-05
LAST SESSION
Album: [name] | Phase: [phase]
Pending: [actions]
TIP: [contextual tip]
What would you like to work on?| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 10,296 | 5,084 | -51% | 1 | 1 | 0% | 1,571 | 2,126 | +35% | 0 | 0 | — |
case-02 | fail→fail | 10,560 | 3,452 | -67% | 1 | 1 | 0% | 1,664 | 2,244 | +35% | 0 | 0 | — |
case-03 | fail→fail | 13,564 | 6,513 | -52% | 1 | 1 | 0% | 2,140 | 2,422 | +13% | 0 | 0 | — |
case-04 | fail→pass | 8,654 | 2,913 | -66% | 1 | 1 | 0% | 1,383 | 2,300 | +66% | 0 | 0 | — |
case-05 | fail→pass | 8,983 | 3,990 | -56% | 1 | 1 | 0% | 1,477 | 2,550 | +73% | 0 | 0 | — |
case-06 | fail→pass | 11,278 | 3,459 | -69% | 1 | 1 | 0% | 1,754 | 2,438 | +39% | 0 | 0 | — |
case-07 | fail→fail | 10,249 | 6,374 | -38% | 1 | 1 | 0% | 1,665 | 2,398 | +44% | 0 | 0 | — |
case-08 | fail→fail | 11,770 | 6,052 | -49% | 1 | 1 | 0% | 1,939 | 2,364 | +22% | 0 | 0 | — |
case-09 | pass→fail | 12,011 | 3,168 | -74% | 1 | 1 | 0% | 1,741 | 2,453 | +41% | 0 | 0 | — |
case-10 | fail→fail | 11,967 | 7,110 | -41% | 1 | 1 | 0% | 1,773 | 2,459 | +39% | 0 | 0 | — |
case-20 | pass→fail | 10,083 | 5,965 | -41% | 1 | 1 | 0% | 1,669 | 2,298 | +38% | 0 | 0 | — |
case-11 | pass→pass | 9,442 | 11,815 | +25% | 1 | 1 | 0% | 1,610 | 3,993 | +148% | 0 | 0 | — |
case-12 | fail→pass | 14,166 | 3,786 | -73% | 1 | 1 | 0% | 1,755 | 2,567 | +46% | 0 | 0 | — |
case-13 | fail→pass | 5,263 | 2,373 | -55% | 1 | 1 | 0% | 815 | 2,303 | +183% | 0 | 0 | — |
case-14 | fail→pass | 7,127 | 2,599 | -64% | 1 | 1 | 0% | 1,081 | 2,364 | +119% | 0 | 0 | — |
case-15 | fail→pass | 7,153 | 2,736 | -62% | 1 | 1 | 0% | 1,066 | 2,349 | +120% | 0 | 0 | — |
case-16 | pass→fail | 3,626 | 8,477 | +134% | 1 | 1 | 0% | 624 | 2,503 | +301% | 0 | 0 | — |
case-17 | fail→fail | 13,181 | 5,667 | -57% | 1 | 1 | 0% | 2,124 | 2,597 | +22% | 0 | 0 | — |
case-18 | fail→pass | 11,531 | 4,856 | -58% | 1 | 1 | 0% | 1,843 | 2,517 | +37% | 0 | 0 | — |
case-19 | fail→fail | 6,872 | 6,111 | -11% | 1 | 1 | 0% | 1,134 | 2,746 | +142% | 0 | 0 | — |
case-21 | pass→fail | 11,006 | 3,716 | -66% | 1 | 1 | 0% | 1,806 | 2,246 | +24% | 0 | 0 | — |
case-22 | pass→fail | 5,828 | 2,595 | -55% | 1 | 1 | 0% | 840 | 2,115 | +152% | 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 12 counted toward the lift figure. The other 10 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 +14 percentage points is the difference between those two pass rates over the 12 comparable cases. 7 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.