mcpField
S
session-launcher

session-launcher

github.com/jackspaceエージェントワークフロー1652 回インストール12 週間前に更新
リポジトリ

session-launcher について

session-launcherは、AIとの会話をまたいで作業を継続するためのスキルです。プロジェクトファイルやメモリーを検索してセッション状態を復元し、決定事項、課題、タイムスタンプ、リンクを含むHTMLダッシュボードを作成します。

主な機能

  1. 01プロジェクトのコンテキストファイル検索
  2. 02メモリー索引と過去の決定事項の読み込み
  3. 03セッション状態の復元
  4. 04リンク付きHTMLダッシュボードの作成
  5. 05課題と時間情報の提示

活用シーン

  1. 01新しい会話で作業を再開
  2. 02最近のプロジェクト決定事項を確認
  3. 03未解決の課題と次の手順を把握

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/jackspace/claudeskillz --skill session-launcher

インストール後、Claude Code で/session-launcherを入力して読み込まれたか確認します。

同梱ファイルSKILL.json

詳細

セッションランチャー

目的

会話間でコンテキストが失われるのを防ぎます。新しいセッションが始まると、このスキルは次の処理を行います。

  1. プロジェクトのコンテキストファイルを検索します
  2. メモリーインデックスと過去の決定事項を読み込みます
  3. セッションの状態を読み取ります
  4. 実行可能なリンクを含むビジュアルダッシュボードを作成します
  5. すぐに作業を始められる状態にします

SDAM のユーザー向け:すべてのセッションコンテキストを外部化し、エピソード記憶がないことを補います。 ADHD のユーザー向け:「何をしていたんだっけ?」という煩わしさをなくし、すぐに作業を再開できます。 時間知覚障害のあるユーザー向け:すべてのコンテキストに明示的なタイムスタンプを表示します。

起動トリガー

  • ユーザーが「hi-ai」と言ったとき
  • ユーザーが「続けて」「コンテキストを復元して」「何をしていたか教えて」と言ったとき
  • 新しい会話の開始時(先回りして提案)

中核となるワークフロー

1. コンテキストファイルを検索する

次の場所を順番に確認します。

# Current project context
./.context/current.json
./.context/session.json
./DECISIONS.md
./README.md

# User's memory storage
~/.claude-memories/ (Linux/macOS) or %USERPROFILE%\.claude-memories\ (Windows)index.json
~/.claude-sessions/ (Linux/macOS) or %USERPROFILE%\.claude-sessions\ (Windows)current.json
~/.claude-sessions/ (Linux/macOS) or %USERPROFILE%\.claude-sessions\ (Windows)projects/
2. メモリーインデックスを読み込む

~/.claude-memories/ (Linux/macOS) or %USERPROFILE%\.claude-memories\ (Windows)index.json を読み取ります。

{
  "total_memories": N,
  "memories": [
    {
      "id": "unique-id",
      "type": "DECISION|BLOCKER|CONTEXT|PREFERENCE|PROCEDURE",
      "content": "the memory",
      "timestamp": "ISO8601",
      "tags": ["tag1", "tag2"],
      "project": "project-name"
    }
  ]
}

次の情報を抽出します。

  • 最近の決定事項(過去 7 日間)
  • 対応中のブロッカー(status != "resolved")
  • プロジェクトのコンテキスト(現在のディレクトリと一致するもの)
  • ユーザーの設定
3. 現在のプロジェクトを特定する

次の情報からプロジェクトを特定します。

  1. 現在の作業ディレクトリ名
  2. 存在する場合は .context/project.txt
  3. Git リポジトリ名:basename $(git rev-parse --show-toplevel 2>/dev/null)
  4. 判断できない場合はユーザーに尋ねます
4. セッションダッシュボードを作成する

~/.claude-artifacts/ (Linux/macOS) or %USERPROFILE%\.claude-artifacts\ (Windows)session-dashboard-{timestamp}.html に HTML ファイルを生成します。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Session Restored</title>
    <style>
        body {
            font-family: monospace;
            max-width: 1200px;
            margin: 40px auto;
            padding: 20px;
            background: #1e1e1e;
            color: #d4d4d4;
        }
        .section {
            background: #252526;
            border: 1px solid #3e3e42;
            border-radius: 6px;
            padding: 20px;
            margin: 20px 0;
        }
        .section h2 {
            margin-top: 0;
            color: #4ec9b0;
            border-bottom: 1px solid #3e3e42;
            padding-bottom: 10px;
        }
        .timestamp {
            color: #858585;
            font-size: 0.9em;
        }
        .decision {
            background: #2d2d30;
            padding: 10px;
            margin: 10px 0;
            border-left: 3px solid #4ec9b0;
        }
        .blocker {
            background: #2d2d30;
            padding: 10px;
            margin: 10px 0;
            border-left: 3px solid #f48771;
        }
        .action {
            display: inline-block;
            background: #0e639c;
            color: white;
            padding: 8px 16px;
            margin: 5px;
            border-radius: 4px;
            text-decoration: none;
        }
        .metric {
            font-size: 2em;
            color: #4ec9b0;
            font-weight: bold;
        }
    </style>
</head>
<body>
    <h1>🚀 Session Restored</h1>
    <p class="timestamp">Restored at: {current_timestamp}</p>

    <div class="section">
        <h2>📁 Current Project</h2>
        <div class="metric">{project_name}</div>
        <p>Location: <code>{project_path}</code></p>
        <p>Last worked: <span class="timestamp">{last_session_time}</span></p>
    </div>

    <div class="section">
        <h2>🎯 Recent Decisions (Last 7 Days)</h2>
        {for each recent decision:}
        <div class="decision">
            <strong>{decision.content}</strong>
            <div class="timestamp">{decision.timestamp} - {relative_time}</div>
            {if decision.tags:}<p>Tags: {tags_joined}</p>{endif}
        </div>
        {endfor}
    </div>

    <div class="section">
        <h2>🚧 Active Blockers</h2>
        {for each active blocker:}
        <div class="blocker">
            <strong>{blocker.content}</strong>
            <div class="timestamp">{blocker.timestamp} - {relative_time}</div>
        </div>
        {endfor}
        {if no blockers:}<p>✅ No active blockers</p>{endif}
    </div>

    <div class="section">
        <h2>📊 Memory Stats</h2>
        <p>Total memories: <span class="metric">{total_memories}</span></p>
        <p>Decisions: {decision_count} | Blockers: {blocker_count} | Procedures: {procedure_count}</p>
    </div>

    <div class="section">
        <h2>⚡ Quick Actions</h2>
        <a href="file://~/.claude-memories/ (Linux/macOS) or %USERPROFILE%\.claude-memories\ (Windows)index.json" class="action">View All Memories</a>
        <a href="file://{project_path}" class="action">Open Project</a>
        <a href="file://~/.claude-artifacts/ (Linux/macOS) or %USERPROFILE%\.claude-artifacts\ (Windows)" class="action">View Artifacts</a>
    </div>
</body>
</html>
5. 要約を出力する

ダッシュボードの作成後、ユーザーに次の内容を出力します。

🚀 Session Restored

📁 Project: {project_name}
📍 Location: {project_path}
🕐 Last worked: {relative_time}

📝 Recent Decisions ({count}):
{for each decision (max 5):}
  • {decision.content} ({relative_time})
{endfor}

🚧 Active Blockers ({count}):
{for each blocker:}
  • {blocker.content} ({relative_time})
{endfor}

💾 Memory: {total_memories} total memories loaded

📊 Dashboard: {dashboard_path}

✅ Full context restored. Ready to continue!

What would you like to work on?

メモリーとの連携

メモリーを読み取る

次の情報について、必ずメモリーインデックスを確認します。

  • プロジェクト固有のコンテキスト
  • ユーザーの設定(技術スタック、コーディングスタイル)
  • 現在の作業に影響する過去の決定事項
  • 過去の類似した問題と解決策
時間の基準(時間知覚障害向け)

すべてのタイムスタンプを相対的な形式に変換します。

  • 「2 時間前」
  • 「3 日前」
  • 「先週の火曜日」
  • 精度を保つため ISO タイムスタンプも含めます
コンテキストのフィルタリング

次の基準でメモリーをフィルタリングします。

  1. プロジェクトの一致:memory.project === current_project
  2. 新しさ:過去 30 日間の情報をより重視
  3. 種類の優先度:BLOCKER > DECISION > CONTEXT > PROCEDURE
  4. 関連性:利用可能な場合はタグの一致を確認

セッション状態の管理

セッション状態を保存する

会話を終了する前に(ユーザーが「さようなら」「またね」「今日はここまで」と言った場合):

  1. ~/.claude-sessions/ (Linux/macOS) or %USERPROFILE%\.claude-sessions\ (Windows)current.json を作成または更新します。
{
  "project": "project-name",
  "project_path": "/full/path",
  "last_active": "ISO8601_timestamp",
  "last_files": [
    "/path/to/file1.js",
    "/path/to/file2.py"
  ],
  "last_topic": "Brief description of what we were working on",
  "next_actions": [
    "Suggested next step 1",
    "Suggested next step 2"
  ]
}
  1. セッションの要約をメモリーインデックスに追加します。
{
  "type": "NOTE",
  "content": "Session ended: {brief_summary_of_work}",
  "timestamp": "ISO8601",
  "tags": ["session", "project-name"],
  "project": "project-name"
}
プロジェクトごとのセッション

複数のプロジェクトを扱うユーザーの場合、次のように管理します。

~/.claude-sessions/ (Linux/macOS) or %USERPROFILE%\.claude-sessions\ (Windows)projects/
├── boostbox.json
├── toolhub.json
├── 88dimensions.json
└── mcp-stack.json

それぞれにプロジェクト固有の状態が含まれます。

ビジュアルダッシュボードの機能

アファンタジアのあるユーザー向け

必ず次の内容を提示します。

  • 具体的な指標(数値、件数)
  • 視覚的な構造(HTML ダッシュボード)
  • 明示的なリンク(クリック可能なファイルパス)
  • ステータス表示(✅ ❌ 🚧 の絵文字)
ADHD のユーザー向け

ダッシュボードは次の要件を満たす必要があります。

  • 即座に読み込める(2 秒未満)
  • クイックアクションを表示する(すぐに実行できる次の手順)
  • ブロッカーを強調する(赤色や緊急性を示す視覚的な表示)
  • 直接リンクを提供する(ワンクリックでファイルにアクセス)
SDAM のユーザー向け

ダッシュボードは次の要件を満たす必要があります。

  • すべてのコンテキストを外部化する(記憶を前提としない)
  • 時間の基準を示す(出来事が起きた時期)
  • 決定の履歴を表示する(何が決定されたか)
  • 成果物にリンクする(過去の作業を示す証拠)

エラー処理

コンテキストが見つからない場合
👋 Hi! This looks like a fresh start.

I couldn't find existing session context, so let's establish some:

1. What project are you working on?
2. Should I create a memory index for you?
3. Would you like to start tracking decisions?

(I'll create the necessary directories and get you set up)
メモリーインデックスが破損している場合
⚠️ Memory index appears corrupted.

Creating backup at: ~/.claude-memories/ (Linux/macOS) or %USERPROFILE%\.claude-memories\ (Windows)backups/index-{timestamp}.json
Initializing fresh index...

✅ Fresh index created. Previous memories backed up.
複数のプロジェクトが検出された場合
🤔 I found context for multiple projects:

1. BOOSTBOX (last active: 2 days ago)
2. Tool Hub (last active: 5 days ago)
3. MCP Stack (last active: 1 week ago)

Which project would you like to work on?

他のスキルとの連携

Memory Manager
  • 構造化されたメモリー検索を Memory Manager に問い合わせます
  • 複雑なメモリー操作は Memory Manager に委ねます
  • Memory Manager の分類システムを使用します
Context Manager
  • Context Manager と連携して .context/ ディレクトリを維持します
  • Context Manager の構造化データを読み取ります
  • Context Manager を介してセッション状態を更新します
エラーデバッガー
  • エラーデバッガーが確認する最近のブロッカーを表示します
  • 現在のエラーが過去のエラー記録と一致するか確認します

クイックリファレンス

ファイルの場所
  • メモリインデックス:~/.claude-memories/ (Linux/macOS) or %USERPROFILE%\.claude-memories\ (Windows)index.json
  • 現在のセッション:~/.claude-sessions/ (Linux/macOS) or %USERPROFILE%\.claude-sessions\ (Windows)current.json
  • プロジェクトのセッション:~/.claude-sessions/ (Linux/macOS) or %USERPROFILE%\.claude-sessions\ (Windows)projects/{name}.json
  • ダッシュボード:~/.claude-artifacts/ (Linux/macOS) or %USERPROFILE%\.claude-artifacts\ (Windows)session-dashboard-*.html
トリガーフレーズ
  • "hi-ai"(メイン)
  • "continue"
  • "restore context"
  • "what was I working on"
  • "where did we leave off"
成功基準

✅ ユーザーが "hi-ai" と入力すると、すぐに作業を始められる ✅ 「何に取り組んでいたか」を説明する必要がない ✅ 過去のすべての決定を確認できる ✅ 作業中のブロッカーが表示される ✅ 2秒以内にコンテキストが復元される

コメント