session-start について
session-start は、Bitwize Music セッションの開始時に確認を行い、プロジェクト状況を報告するスキルです。環境、設定、キャッシュ、保留中の移行を確認し、アルバムの進捗やセッション情報をまとめます。
主な機能
- 01MCP と環境の状態確認
- 02設定とオーバーライドの読み込み
- 03古い状態キャッシュの再構築
- 04保留中の移行処理
- 05アルバムとセッション状況の要約
活用シーン
- 01セッション開始時のプロジェクト準備状況確認
- 02アルバム進捗と未完了のソース検証の確認
- 03保留中のプラグイン移行内容の把握
MCP 対応
起動手順で health_check、rebuild_state、get_pending_migrations、acknowledge_migrations などの MCP ツールを使用します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ bitwize-music-studio/ claude-ai-music-skills --skill session-startインストール後、Claude Code で/session-startを入力して読み込まれたか確認します。
詳細
タスク
セッション開始手順をすべて実行し、プロジェクトのステータスをユーザーに報告してください。
セッション開始スキル
作業セッションを初期化するための、8 ステップのセッション起動手順を実行します。
ステップ 1: セットアップを確認する
依存関係を簡単に確認します。
~/.bitwize-music/venv/bin/python3 -c "import mcp.server.mcpserver" 2>/dev/null || ~/.bitwize-music/venv/bin/python3 -c "import mcp.server.fastmcp" 2>/dev/null && echo "MCP ready" || echo "MCP unusable" # macOS/Linux/WSL
~/.bitwize-music/venv/Scripts/python.exe -c "import mcp.server.mcpserver" 2>/dev/null || ~/.bitwize-music/venv/Scripts/python.exe -c "import mcp.server.fastmcp" 2>/dev/null && echo "MCP ready" || echo "MCP unusable" # Windows (Git Bash; cmd/PowerShell: %USERPROFILE%\.bitwize-music\venv\Scripts\python.exe)
- MCP が使用できない場合:直ちに停止し、
/bitwize-music:setup mcpを提案してください(SDK が存在しないか、1.28.1 より古いバージョンです)。両方のサーバーモジュールを調べ、単独でimport mcpを実行してはいけません。2.x ではmcp.server.mcpserverからMCPServerを、1.x ではmcp.server.fastmcpからFastMCPを利用でき、サーバーはどちらも受け付けます。一方、単独のimport mcpはどちらのモジュールも存在しない場合でも成功するため、サーバーを起動できないインストールを正常と誤判定してしまいます。 - 設定ファイルがない場合(
~/.bitwize-music/config.yamlが存在しない場合):/bitwize-music:configureを提案してください。 - セットアップが完了するまで先に進まないでください。
ステップ 1.5: ヘルスチェック
health_check MCP ツールを使用します(仮想環境のパッケージ、スキルの登録、アルバムのスラッグの衝突を 1 回の呼び出しで確認します)。
仮想環境の結果(result.venv から):
status: "ok"→ 何も通知せず続行します。status: "stale"→ 不一致と修正コマンドを警告し、セッションを続行します。status: "no_venv"→ 停止し、/bitwize-music:setupを提案します。status: "error"→ 警告し、続行します。
スキル登録の結果(result.skills から):
status: "ok"→ 何も通知せず続行します。status: "stale"→ 不足しているスキル名と残存しているスキル名を列挙し、修正メッセージを表示します。status: "no_cache"→ プラグインのキャッシュが見つからないことを警告し、続行します。
アルバムのスラッグの衝突結果(result.collisions から):
status: "ok"→ 何も通知せず続行します。status: "collision"→ 衝突している各スラッグについて、残すジャンルと影響を受けるジャンルを列挙し、修正方法を示します(/bitwize-music:renameでいずれかのアルバム名を変更するか、そのディレクトリを移動してから、rebuild_stateを実行します)。その後、セッションを続行します。
ステップ 2: 設定を読み込む
~/.bitwize-music/config.yaml を読み込みます。
見つからない場合は、/bitwize-music:configure を実行するようユーザーに伝えてください。
ステップ 3: オーバーライドを読み込む
設定から paths.overrides を読み込みます(デフォルト:{content_root}/overrides)。
{overrides}/CLAUDE.mdを確認し、見つかった場合はその指示を反映します。{overrides}/pronunciation-guide.mdを確認し、見つかった場合はその旨を記録します。- 見つからない場合は、何も通知せずスキップします(オーバーライドは任意です)。
ステップ 4: 状態キャッシュを読み込む
~/.bitwize-music/cache/state.json を読み込みます。
- ファイルが見つからない、破損している、スキーマが一致しない、または設定が変更されている場合は、MCP 経由で再構築します。
rebuild_state()
ステップ 4.5: プラグインのアップグレードを確認する
get_pending_migrations MCP ツールを呼び出します。このツールは、インストール済みのプラグインのバージョンと、状態内の last_migrated_version(処理済みのマイグレーションのうち最新のバージョン。表示用にインストール済みバージョンだけを記録する plugin_version とは異なります)を比較し、保留中のメモを解析・ソート済みの状態で返します。
pendingが空の場合(reason: "current"、またはplugin.jsonからインストール済みバージョンを読み取れないときのreason: "unknown"):対応は不要です。pendingが空でない場合(reason: "upgrade"または"untracked"):各マイグレーションのactionsを順に処理します。auto:何も通知せず実行します(先にcheckを実行し、0 を返した場合はスキップします)。action:説明を表示し、実行前にユーザーに確認します。info:ユーザーに表示します。manual:手順をユーザーに表示します。
- すべてのメモを処理した後、
acknowledge_migrationsを呼び出します(引数なしで、インストール済みバージョンまでのすべてのマイグレーションが確認済みになります)。これにより、次のセッションで同じメモが再び表示されなくなります。 - 報告内容:「バージョン Y にアップグレードしました」と、実行した操作の概要を伝えます。
reason: "untracked"は、状態がマイグレーションの追跡機能より前のものであることを示します。インストール済みバージョンまでのバックログ全体が一度だけ表示され、その後acknowledge_migrationsによってクリアされます。マイグレーションをクリアするためだけに状態を再構築してはいけません。再構築しても保留中の状態は維持されます。処理済みであることを記録できるのはacknowledge_migrationsだけです。
ステップ 5:(削除済み)
スキルのモデルチェックは、セッション開始時には行わなくなりました。スキルはティアエイリアス(opus/sonnet/haiku)を使用し、最新モデルを自動的に追跡します。また、テストスイート(/bitwize-music:test)がモデルと努力レベルの適切な運用を徹底するため、新しい Claude モデルがリリースされても手動でモデルをチェックする必要はありません。
ステップ 6:状態キャッシュからレポートする
state.json のデータを使用して、次の内容をレポートします。
アルバムのアイデア
state.ideas.counts から、ステータス別(保留中、進行中など)の件数を表示します。
進行中のアルバム
state.albums を status: "In Progress"、"Research Complete"、"Complete" で絞り込みます。
それぞれについて、次を表示します。
- アルバム名、ジャンル、ステータス
- トラックの進捗(完了数/合計数)
保留中のソース確認
state.albums から、sources_verified が "Pending" のトラックを見つけます。
見つかった場合は、次のように警告します。「これらのトラックはソースが未確認です。確認が完了するまで生成はブロックされます。」
前回のセッションのコンテキスト
state.session から、次の内容を表示します。
- 最後に作業したアルバム
- 最後のフェーズ
- 保留中のアクション
ステップ 7:状況に応じたヒントを表示する
状態に基づいて、関連するヒントを1つ表示します。
| 条件 | ヒント |
|---|---|
| アルバムが存在しない | 「最初のアルバムを作成するには /bitwize-music:tutorial をお試しください」 |
| アイデアはあるが、アルバムはない | 「アルバムのアイデアがあります!/bitwize-music:album-ideas list を使って確認してください」 |
| 進行中のアルバムがある | 「前回の続きから再開できます:/bitwize-music:resume <album-name>」 |
| オーバーライドが読み込まれている | 「カスタムオーバーライドを {overrides}/ から読み込みました」 |
| オーバーライドが見つからない | 「オーバーライドファイルでワークフローをカスタマイズできます。詳しくは /reference/overrides/ をご覧ください」 |
| 確認が保留中 | 「生成を進める前にソースの確認が必要です」 |
一般的なヒントもランダムに1つ表示します(次の中から順番に切り替えます)。
- 「ワークフローの案内には『次に何をすればよいですか?』と尋ねてください」
- 「アルバムにすばやく戻るには
/bitwize-music:resumeを使ってください」 - 「researcher スキルは、詳細な調査のために10個の専門サブスキルを連携させます」
- 「生成前に発音を確認してください。Suno は文脈から推測できません」
- 「歌詞やプロンプトをコピーして Suno に貼り付けるには
/bitwize-music:clipboardを使ってください」 - 「プロフェッショナルな仕上がりにするには、
/bitwize-music:mastering-engineerでオーディオをマスタリングしてください」
ステップ 8:尋ねる
最後に「何に取り組みたいですか?」と尋ねます。
レポート形式
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?
注意事項
- 手順を飛ばさないでください — 各手順はセッションの整合性にとって重要です
- 必要に応じて状態を再構築してください — 古い状態は誤った推奨につながります
- 簡潔にしてください — これは状況レポートであり、会話ではありません
- 確認について警告してください — 未確認のソースは生成をブロックします
- ヒントは5つではなく1つです — 現在の状態に最も関連するヒントを選んでください