session-navigation について
session-navigation は、過去の Droid セッションを探して確認するスキルです。セッションファイルの閲覧、会話の検索、メタデータや使用量の確認、作業再開に必要な情報の把握方法を説明します。
主な機能
- 01プロジェクト別のセッション検索
- 02複数セッションの会話検索
- 03メタデータと使用量の確認
- 04再開前に過去の作業を確認
活用シーン
- 01バグを扱った過去のセッションを探す
- 02プロジェクトの最近の作業を振り返る
- 03作業再開前にコンテキストを取り戻す
- 04セッション時間とトークン数を確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ factory-ai/ factory-plugins --skill session-navigationインストール後、Claude Code で/session-navigationを入力して読み込まれたか確認します。
詳細
セッションのナビゲーション
過去のDroidセッションを探してみましょう。前回の続きから始めたい場合や、先週行った作業を見つけたい場合、あるいはプロジェクトで何が行われているか確認したい場合に役立ちます。
セッションの保存場所
セッションは ~/.factory/sessions/ にあり、プロジェクトフォルダーごとに整理されています。各プロジェクトには専用のディレクトリが作成され、パスはエンコードされます(スラッシュはダッシュに置き換えられます)。
~/.factory/sessions/
├── -Users-enoreyes-code-work-myapp/
│ ├── <uuid>.jsonl
│ └── <uuid>.settings.json
├── -Users-enoreyes-code-projects-api/
│ ├── <uuid>.jsonl
│ └── <uuid>.settings.json
└── ...
セッションごとに2つのファイルがあります。
会話(.jsonl):各行はJSONオブジェクトです。1行目にはメタデータ(セッションID、タイトル、作業ディレクトリ)が含まれます。以降の行には、ユーザーメッセージ、アシスタントの応答、ツール呼び出しといったやり取りが記録されています。
設定(.settings.json):セッションの統計情報です。使用したモデル、実行時間、トークン数、自律性モードが記録されています。
セッションを探す
プロジェクトフォルダーの一覧表示
# See all project folders with sessions
ls ~/.factory/sessions/
# Find folders for a specific project (partial match)
ls ~/.factory/sessions/ | grep "myapp"
プロジェクト内の最近のセッション
# List sessions by date for a project
ls -lt ~/.factory/sessions/-Users-enoreyes-code-work-myapp/
# Get titles of recent sessions
for f in $(ls -t ~/.factory/sessions/-Users-enoreyes-code-work-myapp/*.jsonl | head -10); do
echo "=== $f ==="
head -1 "$f" | jq -r '.title // "Untitled"'
done
内容で検索する
# Search across ALL sessions
rg "authentication" ~/.factory/sessions/
# Search within a specific project
rg "bug fix" ~/.factory/sessions/-Users-enoreyes-code-work-myapp/
# See matches in context
rg -C 2 "login" ~/.factory/sessions/-Users-enoreyes-code-projects-api/
ある内容のセッションがあるプロジェクトを探す
# Which projects have sessions mentioning "redis"?
rg -l "redis" ~/.factory/sessions/ | cut -d'/' -f1-5 | sort -u
セッションを読む
セッションファイルが見つかったら、次のように読みます。
# The metadata (title, working directory)
head -1 ~/.factory/sessions/-Users-enoreyes-code-work-myapp/<uuid>.jsonl | jq .
# Session stats (model, tokens, duration)
cat ~/.factory/sessions/-Users-enoreyes-code-work-myapp/<uuid>.settings.json | jq .
# How long was this conversation?
wc -l ~/.factory/sessions/-Users-enoreyes-code-work-myapp/<uuid>.jsonl
ユーザーメッセージには "role": "user"、アシスタントの応答には "role": "assistant" と記録されています。ツール呼び出しからは、実行されたコマンドと変更されたファイルを確認できます。
よくある状況
「このプロジェクトで何をしていた?」 プロジェクトのセッションフォルダーを一覧表示し、日付を確認して、会話ファイルを読みます。
「ログインのバグを修正したセッションを見つけたい」 セッション全体から「login」または「auth」を検索します。見つかったら、会話を読みます。
「作業の続きを再開したい」 セッションを見つけて、これまでの経緯を読み、続ける前に重要な決定事項を要約します。
「Droidをどのくらい使っている?」 設定ファイルにトークン数とアクティブ時間が記録されています。必要に応じてセッション全体の数値を合計します。
ヒント
grepの代わりに rg(ripgrep)を使いましょう。より高速で、ネストされたフォルダーも適切に処理できます。
プロジェクトのパスではスラッシュがダッシュに置き換えられます。/Users/me/code/app は -Users-me-code-app になります。
セッションのタイトルが役に立つとは限りません。内容を把握するために会話を読む必要がある場合もあります。
セッションには機密情報が含まれている可能性があります。情報を表に出す際は注意してください。