/session-start
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.
$ npx -y skills add bitwize-music-studio/claude-ai-music-skills --skill session-start --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/session-start
Context preview
The summary Claude sees to decide when to auto-load this skill.
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.
SKILL.md
session-start.SKILL.mdname: session-start
description: 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.
model: sonnet
effort: low
allowed-tools:
- Read
- Bash
- Glob
- Grep
- WebSearch
- WebFetch
- bitwize-music-mcp
Your Task
Run the full session start procedure and report project status to the user.
---
Session Start Skill
You perform the 8-step session startup procedure that initializes a working session.
---
Step 1: Verify Setup
Quick dependency check:
~/.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)
- If MCP missing: **Stop immediately** and suggest: `/bitwize-music:setup mcp`
- If config missing (`~/.bitwize-music/config.yaml` doesn't exist): suggest `/bitwize-music:configure`
- Don't proceed until setup is complete
Step 1.5: Health Check
Use the `health_check` MCP tool (checks venv packages + skill registration + album slug collisions in one call):
**Venv results** (from `result.venv`):
- `status: "ok"` → continue silently
- `status: "stale"` → warn with mismatches and fix command, continue session
- `status: "no_venv"` → **stop** and suggest `/bitwize-music:setup`
- `status: "error"` → warn and continue
**Skill registration results** (from `result.skills`):
- `status: "ok"` → continue silently
- `status: "stale"` → warn: list missing and ghost skill names, show fix message
- `status: "no_cache"` → warn that plugin cache not found, continue
**Album slug collision results** (from `result.collisions`):
- `status: "ok"` → continue silently
- `status: "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 session
Step 2: Load Config
Read `~/.bitwize-music/config.yaml`.
If missing, tell user to run `/bitwize-music:configure`.
Step 3: Load Overrides
Read `paths.overrides` from config (default: `{content_root}/overrides`):
- Check for `{overrides}/CLAUDE.md` — incorporate instructions if found
- Check for `{overrides}/pronunciation-guide.md` — note if found
- Skip silently if missing (overrides are optional)
Step 4: Load State Cache
Read `~/.bitwize-music/cache/state.json`:
- If missing, corrupted, schema mismatch, or config changed: rebuild via MCP
rebuild_state()
Step 4.5: Check for Plugin Upgrades
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.
1. **If `pending` is empty** (`reason: "current"`, or `reason: "unknown"` when the installed version can't be read from plugin.json): No action needed. 2. **If `pending` is non-empty** (`reason: "upgrade"` or `"untracked"`): For each migration, 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 executing
- `info`: Display to the user
- `manual`: Show the instruction to the user
3. **After processing all notes**, call `acknowledge_migrations` (no argument acknowledges everything up to the installed version) so the same notes do not surface again next session. 4. Report: "Upgraded to Y" with a summary of the actions taken.
> `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.
Step 5: (Removed)
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.
Step 6: Report From State Cache
Using data from `state.json`, report:
Album Ideas
From `state.ideas.counts` — show count by status (Pending, In Progress, etc.)
In-Progress Albums
Filter `state.albums` for status: "In Progress", "Research Complete", "Complete"
For each, show:
- Album name, genre, status
- Track progress (completed/total)
Pending Source Verifications
From `state.albums` — find tracks where `sources_verified` is "Pending"
If any found, warn: "These tracks have unverified sources — generation is blocked until verified."
Last Session Context
From `state.session`:
- Last album worked on
- Last phase
- Pending actions
Step 7: Show Contextual Tips
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):
- "Ask 'what should I do next?' for workflow guidance"
- "Use `/bitwize-music:resume` to quickly jump back into an album"
- "The res
Read more
name: session-start description: 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. model: sonnet effort: low allowed-tools: - Read - Bash - Glob - Grep - WebSearch - WebFetch - bitwize-music-mcp
Your Task
Run the full session start procedure and report project status to the user.
---
Session Start Skill
You perform the 8-step session startup procedure that initializes a working session.
---
Step 1: Verify Setup
Quick dependency check:
~/.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)
- If MCP missing: **Stop immediately** and suggest: `/bitwize-music:setup mcp`
- If config missing (`~/.bitwize-music/config.yaml` doesn't exist): suggest `/bitwize-music:configure`
- Don't proceed until setup is complete
Step 1.5: Health Check
Use the `health_check` MCP tool (checks venv packages + skill registration + album slug collisions in one call):
**Venv results** (from `result.venv`):
- `status: "ok"` → continue silently
- `status: "stale"` → warn with mismatches and fix command, continue session
- `status: "no_venv"` → **stop** and suggest `/bitwize-music:setup`
- `status: "error"` → warn and continue
**Skill registration results** (from `result.skills`):
- `status: "ok"` → continue silently
- `status: "stale"` → warn: list missing and ghost skill names, show fix message
- `status: "no_cache"` → warn that plugin cache not found, continue
**Album slug collision results** (from `result.collisions`):
- `status: "ok"` → continue silently
- `status: "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 session
Step 2: Load Config
Read `~/.bitwize-music/config.yaml`.
If missing, tell user to run `/bitwize-music:configure`.
Step 3: Load Overrides
Read `paths.overrides` from config (default: `{content_root}/overrides`):
- Check for `{overrides}/CLAUDE.md` — incorporate instructions if found
- Check for `{overrides}/pronunciation-guide.md` — note if found
- Skip silently if missing (overrides are optional)
Step 4: Load State Cache
Read `~/.bitwize-music/cache/state.json`:
- If missing, corrupted, schema mismatch, or config changed: rebuild via MCP
rebuild_state()
Step 4.5: Check for Plugin Upgrades
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.
1. **If `pending` is empty** (`reason: "current"`, or `reason: "unknown"` when the installed version can't be read from plugin.json): No action needed. 2. **If `pending` is non-empty** (`reason: "upgrade"` or `"untracked"`): For each migration, 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 executing
- `info`: Display to the user
- `manual`: Show the instruction to the user
3. **After processing all notes**, call `acknowledge_migrations` (no argument acknowledges everything up to the installed version) so the same notes do not surface again next session. 4. Report: "Upgraded to Y" with a summary of the actions taken.
> `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.
Step 5: (Removed)
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.
Step 6: Report From State Cache
Using data from `state.json`, report:
Album Ideas
From `state.ideas.counts` — show count by status (Pending, In Progress, etc.)
In-Progress Albums
Filter `state.albums` for status: "In Progress", "Research Complete", "Complete"
For each, show:
- Album name, genre, status
- Track progress (completed/total)
Pending Source Verifications
From `state.albums` — find tracks where `sources_verified` is "Pending"
If any found, warn: "These tracks have unverified sources — generation is blocked until verified."
Last Session Context
From `state.session`:
- Last album worked on
- Last phase
- Pending actions
Step 7: Show Contextual Tips
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):
- "Ask 'what should I do next?' for workflow guidance"
- "Use `/bitwize-music:resume` to quickly jump back into an album"
- "The res
Showing the first part of this file.
I love music but never learned an instrument. AI became the creative outlet that was always out of reach. This project started as a way to go deep on Claude Code plugin architecture, agentic workflows, multi-model orchestration, and MCP tooling.
Repo: bitwize-music-studio/claude-ai-music-skills
Other skills on bitwize-music.
- /about
Provides information about the bitwize-music plugin, its version, and its creator. Use when the user asks about the plugin, its purpose, version, or capabilities.
Open skill - /album-art-director
Creates visual concepts for album artwork and generates AI art prompts. Use during planning for concept discussion, or after all tracks are Final for actual artwork generation.
Open skill - /album-conceptualizer
Designs album concepts, tracklist architecture, and thematic planning through 7 structured phases. Use when planning a new album or reworking an existing album concept.
Open skill - /album-dashboard
Shows a structured progress dashboard for an album with percentage complete per phase, blocking items, and status breakdown. Use for a quick visual overview of album progress.
Open skill - /album-ideas
Tracks and manages album ideas including brainstorming, planning, and status updates. Use when the user wants to add, review, or organize their album idea backlog.
Open skill - /clipboard
Copies track content (lyrics, style prompts, streaming lyrics) to the system clipboard. Use when the user needs to paste lyrics or style prompts into Suno or other external tools.
Open skill

