ce-session-extract について
ce-session-extractは、Claude Code、Codex、Cursorのセッションファイルから読みやすい要約やエラー情報を取り出すエージェント向けスキルです。JSONL形式の解析をスクリプトに任せ、大容量の記録をコンテキストへ読み込む負担を抑えます。
主な機能
- 01会話の骨子を抽出
- 02エラー情報を抽出
- 03連続する同名ツール呼び出しを集約
- 04行数による出力制限
- 05解析結果とイベント数の表示
活用シーン
- 01単一セッションの会話の流れを確認
- 02セッションに記録されたエラーの検索
- 03コンテキスト量を抑える出力制限
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ everyinc/ compound-engineering-plugin --skill ce-session-extractインストール後、Claude Code で/ce-session-extractを入力して読み込まれたか確認します。
同梱ファイルscripts/extract-errors.pyscripts/extract-skeleton.py
詳細
セッションの抽出
エージェント向けのプリミティブです。単一の Claude Code、Codex、または Cursor のセッションファイルから、フィルタリングしたコンテンツ(会話の骨格またはエラーシグナル)を抽出します。
このスキルは、エージェントが数メガバイトのセッションファイルをコンテキストに読み込まなくて済むようにするためのものです。scripts/ 内のスクリプトが JSONL の構造に関する知識を担い、物語として読み取れるダイジェストを出力します。
引数
スペース区切りの位置引数:
<file>— セッションの JSONL ファイルの絶対パス(通常はce-session-inventoryが返すfileの値です)。<mode>—skeletonまたはerrors。<limit>(任意) — 出力を N 行に制限するhead:Nまたはtail:N(例:head:200)。省略すると、抽出結果全体を返します。
実行
Skeleton モード — ユーザーメッセージ、アシスタントのテキスト、折りたたまれたツール呼び出しの要約を物語形式で出力します。
cat <file> | python3 scripts/extract-skeleton.py
Errors モード — エラーシグナルのみを出力します。
cat <file> | python3 scripts/extract-errors.py
<limit> が head:N の場合は、head -n N を通して出力します。tail:N の場合は、tail -n N を通して出力します。制限は Python スクリプトの実行後に適用してください。_meta 行は最後に出力されるため、head で制限すると除外されることがありますが、呼び出し元が head による制限を指定した場合は問題ありません。
標準出力をそのまま返してください。言い換えたり、注釈を付けたり、情報を統合したりしないでください。複数のセッションにまたがる情報の統合は呼び出し元が行います。
各モードの戻り値
Skeleton
--- で区切られた、1 つの論理イベントを 1 ブロックとする物語形式の出力です。
- ユーザーメッセージ(テキストのみ。ツールの結果は含まず、フレームワークのラッパータグは削除されます)
- アシスタントのテキスト(思考/推論ブロックは含まれません。これらは内部情報または暗号化されています)
- ツール呼び出しの要約。同じ名前の呼び出しが 3 回以上連続する場合は、まとめられます(例:
[tools] 5x Read (file1, file2, +3 more) -> all ok)
末尾に _meta 行が付きます:{"_meta": true, "lines": N, "parse_errors": N, "user": N, "assistant": N, "tool": N}。
Errors
--- で区切られた、エラーごとに 1 行の出力です。
- Claude Code:
is_error: trueのツール結果 - Codex:終了コードが 0 以外、または標準エラー出力が空でない
exec_command_endイベント - Cursor:常に空です。Cursor エージェントのトランスクリプトにはツールの結果が記録されません
末尾に _meta 行が付きます:{"_meta": true, "lines": N, "parse_errors": N, "errors_found": N}。
エラー処理
ファイルを読み取れない場合は、エラーを呼び出し元にそのまま返してください。_meta が parse_errors > 0 を報告した場合は、出力をそのまま返してください。不完全な抽出結果でも役に立つため、検索範囲を広げるか、さらに詳しく調査するかは呼び出し元が判断します。