session-index について
session-index は、Claude Code のセッションを格納した SQLite インデックスを検索・分析するスキルです。過去の会話や文脈を確認し、複数のセッションで試した方法を整理できます。
主な機能
- 01セッションの全文検索
- 02会話コンテキストの取得
- 03時間とツール使用状況の分析
- 04メタデータと環境による絞り込み
- 05複数セッションの統合支援
活用シーン
- 01話題に関する過去の会話を検索
- 02過去のセッションのやり取りを確認
- 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. 複数のセッションにまたがる質問への統合的な回答(「何がうまくいきましたか?」「何を試しましたか?」)
これは最も価値のある機能です。複数のセッションにまたがる質問を受けた場合は、次の手順で対応します。
- 検索します:
sessions "topic" -n 10 - 上位 3~5 件の結果からコンテキストを抽出します:
sessions context <id> "topic" -n 3 model="haiku"を指定して Task を起動し、情報を統合します:- どのような方法を試したか
- うまくいったこと/いかなかったこと
- 繰り返し見られるパターン
- 現在の状況
- 各ソースセッションに
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(任意)