dev-session について
dev-session は、進捗ファイルやチェックポイントコミット、学びの記録を使って複数回にわたる開発作業を管理するスキルです。作業コンテキストを保持し、セッション間の引き継ぎを支援します。
主な機能
- 01SESSION.md の作成と再開
- 02具体的な位置と再開手順の記録
- 03CLAUDE.md へのプロジェクト知見の記録
- 04作業チェックポイントのコミットと記録
活用シーン
- 01複数セッションにまたがる機能開発
- 02コンテキスト圧縮時の進捗保持
- 03リスクのある変更前のチェックポイント保存
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ jezweb/ claude-skills --skill dev-sessionインストール後、Claude Code で/dev-sessionを入力して読み込まれたか確認します。
同梱ファイルreferences/compaction-survival.mdreferences/session-template.md
詳細
Dev Session
構造化された進捗ファイル、チェックポイントコミット、継続して活用できる知見を使って、複数セッションにまたがる開発作業を管理します。コンテキストが圧縮されても維持され、セッション間でスムーズに引き継げるSESSION.mdファイルを作成します。
操作モード
モード 1:セッションを開始
タイミング:複数ステップの作業を始めるとき、「start session」、「new session for [feature]」と指示されたとき
- プロジェクトのルートに
SESSION.mdがすでに存在するか確認します- 存在する場合:内容を読み、既存のセッションを続行するか、新しく開始するかを尋ねます
- 存在しない場合:テンプレートから作成します(references/session-template.mdを参照)
- フィールドに値を入力します:
- Project:
CLAUDE.mdまたはディレクトリ名から取得します - Branch:
git branch --show-currentから取得します - Last Updated:現在のタイムスタンプ
- Phase:現在取り組んでいる内容をユーザーに尋ねます
- Project:
- プロジェクトの
CLAUDE.mdを読み、背景を把握します - 簡潔な概要を提示します:「セッションを開始しました。[branch]ブランチで[phase]に取り組んでいます。」
モード 2:チェックポイント
タイミング:「checkpoint」と指示されたとき、大きなマイルストーンに到達したとき、リスクの高い変更を行う前、コンテキストが大きくなってきたとき
SESSION.mdを更新します:- 完了した項目をWhat Worksに追加します
- Current Positionを正確な位置(ファイルパス、行番号)で更新します
- 解決済みのBlockersを削除し、新しいものを追加します
- 具体的なResume Instructionsを記入します
- 知見を記録します:
- 作業中にパターン、注意点、コマンドが見つかった場合は、
CLAUDE.mdに追加します - 概念ごとに1行で、簡潔に記述します
- 作業中にパターン、注意点、コマンドが見つかった場合は、
- Gitのチェックポイントを作成します:
git add -A && git commit -m "WIP: [what was accomplished]" - コミットハッシュを
SESSION.mdのCheckpointに記録します - 確認します:「[hash]でチェックポイントを作成しました。
SESSION.mdを更新しました。」
モード 3:セッションを再開
タイミング:「resume」、「continue from last session」、「where were we」と指示されたとき、新しい会話を始めるとき
SESSION.mdを読みます。存在しない場合はユーザーに伝え、新しいセッションの開始を提案します- プロジェクトの
CLAUDE.mdを読み、背景を把握します - 記録されたチェックポイント以降の変更を確認します:
git log --oneline [checkpoint-hash]..HEAD - 未コミットの変更を確認します:
git status - 概要を提示します:
- Phase:取り組んでいた内容
- Position:中断した位置
- Changes since:チェックポイント以降のコミットや変更
- Blockers:未解決の問題
- Suggested next step:Resume Instructionsの最初の項目
モード 4:セッションを終了
タイミング:「wrap session」、「done for now」、「save progress」と指示されたとき、セッションを終了するとき
- 完全なチェックポイントを実行します(モード 2)
SESSION.mdの内容を確認します:- 新しいセッションで作業を続行するのに十分具体的なResume Instructionsになっていますか?
- Current Positionは具体的ですか(曖昧な説明ではなく、ファイルパスになっていますか)?
- フェーズが完了している場合:
- フェーズの概要を2~3行にまとめます
- Resume Instructionsを消すか、「フェーズ完了 — 次のフェーズに進む準備ができています」と記載します
- 確認します:「セッションを終了しました。次回は『resume session』で再開してください。」
使用する場面
| シナリオ | このスキルを使いますか? |
|---|---|
| 2セッション以上にまたがる複数フェーズの機能開発 | はい |
| コンテキストの圧縮が発生する可能性がある作業 | はい |
| リスクの高い変更や破壊的変更を行う前 | はい(まずチェックポイントを作成) |
| 簡単なバグ修正や単一ファイルの編集 | いいえ |
| 範囲が明確な単一セッションのタスク | いいえ |
SESSION.mdの原則
- アーキテクチャではなく進捗を記録する —
SESSION.mdは作業ログであり、プロジェクトのドキュメントではありません - 曖昧さを避け、具体的に記述する — 「
src/auth.ts:42から再開し、トークンの更新を実装する」は、「認証作業を続ける」よりも明確です - 完了した作業をまとめる — 完了したフェーズは1~2行の概要にします
- 100行以内に収める — 100行を超える場合は、さらに積極的に内容をまとめます
自律性のルール
- そのまま実行する:
SESSION.mdを読み、CLAUDE.mdを読み、gitの状態とログを確認し、概要を提示します - 簡潔に確認する:新しい
SESSION.mdの作成、WIPチェックポイントのコミット - 事前に確認する:既存の
SESSION.mdの上書き、セッションデータの削除
参照ファイル
| タイミング | 読むファイル |
|---|---|
| 新しい SESSION.md を作成するとき | references/session-template.md |
| コンテキストの圧縮に関するヒントと、圧縮後も保持される内容 | references/compaction-survival.md |
コメント
Markdown 対応