mcpField
S
session-index

session-index

github.com/cearley生産性041 回インストール12 週間前に更新
リポジトリ

session-index について

session-index は、Claude Code のセッションを格納した SQLite インデックスを検索・分析するスキルです。過去の会話や文脈を確認し、複数のセッションで試した方法を整理できます。

主な機能

  1. 01セッションの全文検索
  2. 02会話コンテキストの取得
  3. 03時間とツール使用状況の分析
  4. 04メタデータと環境による絞り込み
  5. 05複数セッションの統合支援

活用シーン

  1. 01話題に関する過去の会話を検索
  2. 02過去のセッションのやり取りを確認
  3. 03クライアント別や週別の作業時間を集計

インストール

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

$npx skills add https://github.com/cearley/claude-session-index --skill session-index

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

詳細

セッションインデックススキル

すべての Claude Code セッションを対象とした FTS5 全文検索機能を備えた SQLite データベースであるセッションインデックスを利用できます。ユーザーが過去のセッションや以前の会話について質問したり、これまでに試したことを知りたい場合は、いつでも利用してください。

ユーザーがやり取りするのは、この会話画面です。 ユーザーは自然な言葉で質問し(「最近、ブラウザーの操作について話しませんでしたか?」など)、あなたが CLI コマンドに変換して、会話形式で結果を提示します。ユーザーが CLI の構文を知る必要はありません。

セッションに関する質問への対応方法

1. 質問からキーワードを抽出する

ユーザーの質問:「最近、ブラウザーの操作について話しませんでしたか?」 検索する内容:sessions "browser control"

ユーザーの質問:「フォーム自動化では、どんな方法を試しましたか?」 検索する内容:sessions "form automation"

ユーザーの質問:「今週、Acme にどれくらい時間を使いましたか?」 実行する内容:sessions analytics --client "Acme" --week

2. Bash で適切なコマンドを実行する

検索 — トピックからセッションを検索します:

sessions "relevant keywords"
sessions "relevant keywords" --context    # includes conversation excerpts

コンテキスト — セッション内の実際の会話を読みます:

sessions context <session_id> "search term"   # exchanges matching a term
sessions context <session_id>                 # all exchanges

分析 — 作業量、時間、ツールの使用状況を確認します:

sessions analytics                    # overall
sessions analytics --client "Acme"    # per client
sessions analytics --week             # this week
sessions analytics --month            # this month
sessions analytics --env personal     # one Claude environment

絞り込み — メタデータからセッションを検索します:

sessions find --client "Acme"              # by client
sessions find --tool Task --week           # by tool + date
sessions find --project myapp              # by project
sessions find --week --env work            # by date + environment
sessions recent 20                         # last N sessions
sessions recent --env personal             # one Claude environment
sessions recent --env current              # active CLAUDE_CONFIG_DIR environment

ユーザーが特定の Claude 環境(personal、work、bedrock など)について言及した場合は、結果を絞り込むために --env <name> を追加します。--env current は実行時に CLAUDE_CONFIG_DIR に解決されます。すべての find、recent、analytics コマンドで --env を使用できます。

3. 複数のセッションにまたがる質問への統合的な回答(「何がうまくいきましたか?」「何を試しましたか?」)

これは最も価値のある機能です。複数のセッションにまたがる質問を受けた場合は、次の手順で対応します。

  1. 検索します:sessions "topic" -n 10
  2. 上位 3~5 件の結果からコンテキストを抽出します:sessions context <id> "topic" -n 3
  3. model="haiku" を指定して Task を起動し、情報を統合します:
    • どのような方法を試したか
    • うまくいったこと/いかなかったこと
    • 繰り返し見られるパターン
    • 現在の状況
  4. 各ソースセッションに claude --resume <id> のリンクを付けて、会話形式で統合結果を提示します。

これはセッション内の Haiku サブエージェントを使用するため、外部 API キーは必要ありません。

4. 会話形式で結果を提示する

CLI の出力をそのまま貼り付けないでください。要点をまとめます。

  • 「先週、ブラウザーの操作について 3 件のセッションで話していました……」
  • 「うまくいった主な方法は……」
  • claude --resume <session_id> のリンクを含め、ユーザーがすぐに会話を再開できるようにします。
  • コンテキストが関連する場合は、重要なやり取りを引用します。

インストール

uv tool install git+https://github.com/cearley/claude-session-index

いずれかのコマンドを初めて実行すると、既存のすべてのセッションが自動的にインデックス化されます。

複数の Claude 環境: デフォルトの ~/.claude/projects に加えて、同階層にある ~/.claude-*/projects ディレクトリも自動的に検出され、設定なしでインデックス化されます。別のディレクトリ群をインデックス化するには、SESSION_INDEX_PROJECTS に projects/ ディレクトリをコロン区切りで指定するか、~/.session-index/config.json に projects_dirs(リスト)を追加します。

export SESSION_INDEX_PROJECTS=~/.claude-personal/projects:~/.claude-work/projects

--projects-dir フラグは、単発の上書きにも繰り返し指定できます。

sessions --projects-dir ~/.claude-personal/projects --projects-dir ~/.claude-work/projects index

各セッションには、そのソースディレクトリのパスから判定された env:<name> ラベルが付与されます。

データの保存場所

  • データベース: ~/.session-index/sessions.db
  • トピック: ~/.claude/session-topics/
  • 設定: ~/.session-index/config.json(任意)

コメント