extract-transcripts
Claude CodeやCodex CLIセッションのJSONLファイルから、読みやすいトランスクリプトを抽出するSkill。
📜 元の英語説明(参考)
Extract readable transcripts from Claude Code and Codex CLI session JSONL files
🇯🇵 日本人クリエイター向け解説
Claude CodeやCodex CLIセッションのJSONLファイルから、読みやすいトランスクリプトを抽出するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o extract-transcripts.zip https://jpskill.com/download/5873.zip && unzip -o extract-transcripts.zip && rm extract-transcripts.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/5873.zip -OutFile "$d\extract-transcripts.zip"; Expand-Archive "$d\extract-transcripts.zip" -DestinationPath $d -Force; ri "$d\extract-transcripts.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
extract-transcripts.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
extract-transcriptsフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-17
- 取得日時
- 2026-05-17
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
トランスクリプトの抽出
Claude Code および Codex CLI セッションの JSONL ファイルから、読みやすい Markdown 形式のトランスクリプトを抽出します。
スクリプト
Claude Code セッション
# 単一セッションを抽出
uv run ~/.claude/skills/extract-transcripts/extract_transcript.py <session.jsonl>
# ツール呼び出しと思考ブロックを含める場合
uv run ~/.claude/skills/extract-transcripts/extract_transcript.py <session.jsonl> --include-tools --include-thinking
# ディレクトリ内の全セッションを抽出
uv run ~/.claude/skills/extract-transcripts/extract_transcript.py <directory> --all
# ファイルに出力
uv run ~/.claude/skills/extract-transcripts/extract_transcript.py <session.jsonl> -o output.md
# 概要のみ (簡単な概要)
uv run ~/.claude/skills/extract-transcripts/extract_transcript.py <session.jsonl> --summary
# 空またはウォームアップのみのセッションをスキップ
uv run ~/.claude/skills/extract-transcripts/extract_transcript.py <directory> --all --skip-empty
オプション:
--include-tools: ツール呼び出しと結果を含めます--include-thinking: Claude の思考ブロックを含めます--all: ディレクトリ内のすべての .jsonl ファイルを処理します-o, --output: 出力ファイルのパス (デフォルト: stdout)--summary: 簡潔な概要のみを出力します--skip-empty: 空のセッションおよびウォームアップのみのセッションをスキップします--min-messages N:--skip-emptyの最小メッセージ数 (デフォルト: 2)
Codex CLI セッション
# Codex セッションを抽出
uv run ~/.claude/skills/extract-transcripts/extract_codex_transcript.py <session.jsonl>
# Codex 履歴ファイルから抽出
uv run ~/.claude/skills/extract-transcripts/extract_codex_transcript.py ~/.codex/history.jsonl --history
セッションファイルの場所
Claude Code
- セッション:
~/.claude/projects/<project-path>/<session-id>.jsonl
Codex CLI
- セッション:
~/.codex/sessions/<session_id>/rollout.jsonl - 履歴:
~/.codex/history.jsonl
DuckDB ベースのトランスクリプトインデックス
多数のセッションを横断してクエリを実行するには、DuckDB ベースのインデクサーを使用します。
# 全セッションをインデックス化 (増分 - 新規/変更されたファイルのみ)
uv run ~/.claude/skills/extract-transcripts/transcript_index.py index
# 強制的に完全再インデックス
uv run ~/.claude/skills/extract-transcripts/transcript_index.py index --full
# 処理するファイルの数を制限
uv run ~/.claude/skills/extract-transcripts/transcript_index.py index --limit 10
# 最近のセッションを一覧表示
uv run ~/.claude/skills/extract-transcripts/transcript_index.py recent
uv run ~/.claude/skills/extract-transcripts/transcript_index.py recent --limit 20
uv run ~/.claude/skills/extract-transcripts/transcript_index.py recent --project myapp
uv run ~/.claude/skills/extract-transcripts/transcript_index.py recent --since 7d
# セッションを横断して検索
uv run ~/.claude/skills/extract-transcripts/transcript_index.py search "error handling"
uv run ~/.claude/skills/extract-transcripts/transcript_index.py search "query" --cwd ~/myproject
# セッションのトランスクリプトを表示
uv run ~/.claude/skills/extract-transcripts/transcript_index.py show <file_path>
uv run ~/.claude/skills/extract-transcripts/transcript_index.py show <file_path> --summary
要件: uv (依存関係はインラインスクリプトのメタデータにより自動インストールされます)
データベースの場所: ~/.claude/transcript-index/sessions.duckdb
出力形式
トランスクリプトは Markdown 形式で出力され、以下を含みます。
- セッションメタデータ (日付、期間、モデル、作業ディレクトリ、Git ブランチ)
## Userで始まるユーザーメッセージ## Assistantで始まるアシスタントの応答- コードブロック内のツール呼び出し (
--include-toolsの場合) - 引用ブロック内の思考 (
--include-thinkingの場合) - Codex セッションのツール使用状況の概要
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Extract Transcripts
Extracts readable markdown transcripts from Claude Code and Codex CLI session JSONL files.
Scripts
Claude Code Sessions
# Extract a single session
uv run ~/.claude/skills/extract-transcripts/extract_transcript.py <session.jsonl>
# With tool calls and thinking blocks
uv run ~/.claude/skills/extract-transcripts/extract_transcript.py <session.jsonl> --include-tools --include-thinking
# Extract all sessions from a directory
uv run ~/.claude/skills/extract-transcripts/extract_transcript.py <directory> --all
# Output to file
uv run ~/.claude/skills/extract-transcripts/extract_transcript.py <session.jsonl> -o output.md
# Summary only (quick overview)
uv run ~/.claude/skills/extract-transcripts/extract_transcript.py <session.jsonl> --summary
# Skip empty/warmup-only sessions
uv run ~/.claude/skills/extract-transcripts/extract_transcript.py <directory> --all --skip-empty
Options:
--include-tools: Include tool calls and results--include-thinking: Include Claude's thinking blocks--all: Process all .jsonl files in directory-o, --output: Output file path (default: stdout)--summary: Only output brief summary--skip-empty: Skip empty and warmup-only sessions--min-messages N: Minimum messages for --skip-empty (default: 2)
Codex CLI Sessions
# Extract a Codex session
uv run ~/.claude/skills/extract-transcripts/extract_codex_transcript.py <session.jsonl>
# Extract from Codex history file
uv run ~/.claude/skills/extract-transcripts/extract_codex_transcript.py ~/.codex/history.jsonl --history
Session File Locations
Claude Code
- Sessions:
~/.claude/projects/<project-path>/<session-id>.jsonl
Codex CLI
- Sessions:
~/.codex/sessions/<session_id>/rollout.jsonl - History:
~/.codex/history.jsonl
DuckDB-Based Transcript Index
For querying across many sessions, use the DuckDB-based indexer:
# Index all sessions (incremental - only new/changed files)
uv run ~/.claude/skills/extract-transcripts/transcript_index.py index
# Force full reindex
uv run ~/.claude/skills/extract-transcripts/transcript_index.py index --full
# Limit number of files to process
uv run ~/.claude/skills/extract-transcripts/transcript_index.py index --limit 10
# List recent sessions
uv run ~/.claude/skills/extract-transcripts/transcript_index.py recent
uv run ~/.claude/skills/extract-transcripts/transcript_index.py recent --limit 20
uv run ~/.claude/skills/extract-transcripts/transcript_index.py recent --project myapp
uv run ~/.claude/skills/extract-transcripts/transcript_index.py recent --since 7d
# Search across sessions
uv run ~/.claude/skills/extract-transcripts/transcript_index.py search "error handling"
uv run ~/.claude/skills/extract-transcripts/transcript_index.py search "query" --cwd ~/myproject
# Show a session transcript
uv run ~/.claude/skills/extract-transcripts/transcript_index.py show <file_path>
uv run ~/.claude/skills/extract-transcripts/transcript_index.py show <file_path> --summary
Requirements: uv (dependencies auto-installed via inline script metadata)
Database location: ~/.claude/transcript-index/sessions.duckdb
Output Format
Transcripts are formatted as markdown with:
- Session metadata (date, duration, model, working directory, git branch)
- User messages prefixed with
## User - Assistant responses prefixed with
## Assistant - Tool calls in code blocks (if --include-tools)
- Thinking in blockquotes (if --include-thinking)
- Tool usage summary for Codex sessions