ワークフロー&基本ツール · daymade/claude-code-skills

read-claude-code-history

作業を再開(resume)することなく、ローカルの Claude Code 履歴を読み取り、検索し、エクスポートします。アクティブな Claude ホームおよび登録されたアーカイブ全体にわたる、最近のセッションインベントリ、正確なセッションタイムライン、キューイングされたターン途中プロンプトを含む逐語的な人間側の入力、全イベントのキーワード検索、文言変更時のハイブリッド再現、終了状態のトリアージ、削除されたファイルの復元をカバーします。ユーザーが自分自身や Claude が何を発言したかを尋ねたとき、Claude Code のセッション ID や元のコンテキストを取得したいとき、過去の作業を曖昧に覚えているとき、トランスクリプトから過去のファイルが必要なとき、または作業を継続する前に Claude セッションの内容を証明する必要があるときに使用します。また、Kimi のインベントリおよび検索フラグを介して、唯一の Kimi CLI サーフェスも管轄します。Codex 履歴には read-codex-history を使用してください。プラットフォームが明示されていない場合や複数のプロバイダーにまたがる場合は、local-conversation-history から開始してください。

L4 高権限 · 段階的認可と監査V1 コミット固定コマンド実行ネットワーク通信ファイル書き込みDual-pass Audit
Author daymadeGitHub daymade/claude-code-skills ↗Stars 1385License MIT(仓库根 LICENSE:'MIT License / Copyright (c) 2025 daymade';GitHub API spdx MIT)Commit d5c4678cb5
管理レベルは Skill の能力と推奨統制措置を示すものであり、品質や安全性の認証、利用可否の判定ではありません。使用の可否はユーザーおよび管理者が決定します。Agent 環境によって制約が異なるため、自動保護を仮定しないでください。第三者製 Skill の著作権は原著作者に帰属し、利用リスクは利用者が負います。

1仕組みと動作原理

機能の実体は 6 つのローカル Python CLI(list_local_history / read_claude_session / extract_user_messages / analyze_sessions / history_index / recover_content)であり、それぞれインベントリ、正確なセッション再構築、人間入力のエクスポート、キーワード検索、ハイブリッド再現、トリアージ、ファイル復元に対応します。エージェントは SKILL ルーティングテーブルに従って呼び出し、古いプロセスの再開は明確に禁止されています。

daymade-claude-code/read-claude-code-history/SKILL.md
| Recent Claude Code sessions, titles, dates, or IDs | `scripts/list_local_history.py --source claude` |
SKILL.md は「ユーザーが求める結果」を特定のスクリプトとパラメータにマッピングします。ガードレールには 'Do not run `claude --resume` or `claude --continue`' と明記されており、これが読み取り専用のエビデンス層であることを保証し、読み取り完了後に証拠を continue-claude-code-work に引き渡して初めて実際の操作を行います。

「見つからない」はコストの高い回答です。マルチホームにわたる網羅的な検出が正確性の根幹となります。homes.py は CLAUDE_CONFIG_DIR、~/.claude、~/.claude-profiles/*、および ~/.claude-* の兄弟ホームを列挙します。sources.py はさらに ~/.claude/history-sources.json に登録されたアーカイブを統合します。Session ID で重複排除し、mtime ではなくレコード内のタイムスタンプでソートします。

daymade-claude-code/read-claude-code-history/scripts/_core/homes.py
# CLAUDE_CONFIG_DIR wins first when set, then the default home.
モジュールの docstring にはその動機が記されています:'A tool that only looks at ~/.claude silently misses every conversation held under a profile, which is the #1 reason a real session is wrongly reported as not found'(~/.claude のみを参照するツールはプロファイル配下の会話を暗黙的に見落とし、これが実際のセッションが見つからないと誤判定される最大の原因である)。つまり、マルチホーム検出が「見つからなかった」という結論の信頼性を直接左右します。

Claude のレコードに対して文字面ではなくセマンティックな処理を実行します。ストレージラベル(type: user)は作成者と一致するとは限りません。ビジー状態中のキューイングされた指示は attachment.queued_command.prompt(origin.kind: human)に隠れており、user レコードのみを読み取ると修正指示を見落とします。

daymade-claude-code/read-claude-code-history/SKILL.md
Treat Claude's record labels as storage metadata, not authorship proof.
SKILL では一連の制約を設けています。トップレベルの type: user レコードには、コマンドエンベロープ、フックのボイラープレート、貼り付けられた文書全体、エージェント口調のテキスト、システムプレースホルダーが含まれる場合があります。付随する references/session_file_format.md でスキーマ、サイドチェーン、添付ファイル、コンパクション、file-history スナップショットについて解説されています。

オプションの「ハイブリッド再現」パス(history_index.py recall):中国語形態素解析 FTS5(wangfenjin/simple libsimple、固定バージョン v0.7.1 + SHA256 検証ダウンロード)+ Qwen3 埋め込みベクトル(Apple Silicon MLX)、BM25 とベクトルの融合により、「言い回しが変わった」場合のセマンティック検索を解決します。デフォルトの読み取り専用パスには含まれません。

daymade-claude-code/read-claude-code-history/scripts/history_index.py
EMBEDDING_MODEL_ID = "Qwen/Qwen3-Embedding-0.6B"
同ファイル内で SIMPLE_VERSION = v0.7.1 と指定されています。参照ドキュメント hybrid_history_recall.md で役割分担を明確にしています:'You remember the meaning but not the wording | `history_index.py recall` | Ranked candidate sessions'。正確な証拠抽出は引き続き analyze_sessions.py search を使用します。インストールやダウンロードは SKILL 内で一度限りのセットアップとして説明されています。

ファイル復元(recover_content.py)は「レポート - 承認 - 書き込み」の 3 段階ゲートを通過します。まず正確な Session ファイルに対して復元レポートを出力し、人間が各対象パスを確認した後にのみ書き込みを実行します。また、現在のプロジェクトツリーへの直接の上書きは禁止されています。

daymade-claude-code/read-claude-code-history/SKILL.md
First run the recovery report against the exact Session file, review every proposed destination, then write only after the user asked to recover content. Never restore directly over the current project tree.
復元されるのは Claude の file-history レコードに保存された、削除または上書きされたファイルです。通常の読み取りから「ディスク書き込み」を隔離し、個別のルールを策定しています。

Kimi CLI の履歴はこのスキルが担当するアクティブなサーフェスです。インベントリは list_local_history.py --source kimi、全文検索は analyze_sessions.py search --kimi を経由し、~/.kimi-code 配下の state.json / wire JSONL を解析します(ホームの優先順位は --kimi-home > KIMI_HOME > ~/.kimi-code)。

daymade-claude-code/read-claude-code-history/scripts/_core/kimi.py
Kimi CLI (kimi-code) stores conversations under ``~/.kimi-code/`` (override with ``KIMI_HOME``).
SKILL.md には 'Kimi CLI is a live surface of this Skill, not a legacy one. It has no reader of its own' と記載されています。Claude のデータを使って Kimi の質問に回答すると、虚偽の「一度も発生していない」という結果を生成してしまいます。共有の _core は、このパッケージが read-*-history スキル間でバンドル・複製された単一の実装であることを示しています(SSOT は _conversation_core/ にあります)。

2コア機能

01すべての Claude ホーム/アーカイブを横断する最近のセッション一覧(プロファイル分離セッション、サブエージェント識別、ソース診断情報を含む)
02Session ID による正確なタイムライン証拠ブリーフィングの再構築(コンパクション境界、user/assistant の交代、キューイング指示、終了理由、保留中の呼び出し、サブエージェントの状態、ファイル/メモリ/ワークスペース)
03全イベントのキーワード検索(メッセージ、思考プロセス、ツールの入力・出力、コンパクション要約、添付ファイル、キュー、ファイルスナップショット)。エージェントプロンプトおよび現在のセッション自身のマッチはデフォルトで除外
04人間の入力内容の Markdown/HTML エクスポート:ストレージの汚染情報を除去し、キューイングされたプロンプトを保持、勝手なトピック分類を行わずに順序を保って重複排除
05言い回しが変化した際のセマンティック・ハイブリッド再現(オプション:libsimple FTS5 + Qwen3 ベクトル)
06トリアージ:セッションがどのように終了したか(interrupted/net-error/stuck-on-tool/done)を時間枠やプロジェクトごとに分類
07file-history スナップショットからの削除・上書きされたファイルの復元(レポート先行、承認後に書き込み)
08Kimi CLI のインベントリおよび全文検索(リポジトリ内で唯一のアクティブなサーフェス)

3外部依存関係

KindDependency / Endpoint
cligit
clirg/grep(可选路径预过滤)
networkgithub.com 发布物下载(wangfenjin/simple libsimple,固定版本+SHA256 校验,仅混合索引 setup)
networkHugging Face 模型(Qwen/Qwen3-Embedding-0.6B,仅 --download-model 经 mlx_embeddings.load)
package可选 Python 依赖 chonkie/transformers(分块)与 mlx-embeddings/mlx(Apple Silicon 向量)

4推奨統制措置と判定根拠

安全運用のための推奨統制措置
Agent 向け
段階的・都度認可、サンドボックス推奨
管理者向け
承認フロー、ロールバック可能、全履歴監査
判定根拠(ファイルパスと抜粋)
  • scripts/: ローカルスクリプトまたはコマンドの実行: python3 で同梱の 6 つのスクリプトを実行(デフォルトは完全な標準ライブラリのみ)
  • 网络端点: 外部ネットワークアクセスの宣言: urllib.urlopen により https://github.com/wangfenjin/simple/releases/download/v0 からダウンロード
  • 本地工作目录: ファイルの読み書きと成果物出力: extract_user_messages.py がユーザー指定の出力ベースパスに Markdown/HTML を書き込み
監査ノート: デフォルトの読み取りパスは外部送信ゼロかつ完全ローカルの読み取り専用(JSONL 読み取り専用、sqlite mode=ro)であり、基準上は青(blue)に分類されます。黄(yellow)とした根拠は、実際に外部へのネットワーク送信コードパスが存在するためです(非デフォルトでのトリガー):history_index.py setup は github.com/wangfenjin/simple のリリースからネイティブの libsimple(バージョン固定 v0.7.1、SHA256 検証、zip-slip 防止)をダウンロードし、プロセス内で FTS5 拡張としてロードします。また --download-model 実行時には mlx_embeddings を経由して Hugging Face モデル Qwen/Qwen3-Embedding-0.6B をダウンロードします。送信先は予測可能(公開ソース)で認証情報には触れず、ユーザーの明示的なトリガーを必要とするため、より上位の区分ではなく黄(yellow)と判定されます。データプレーンには認証情報が含まれる可能性のあるローカルセッション履歴全体が存在しますが、SKILL 自体に共有ゲートウェイが組み込まれています。

5二重目の独立検証

  • [ok] libsimple 下载(github.com/wangfenjin/simple)调用点 — history_index.py url 构造 + urlopen;sha256 校验与 _safe_extract_zip 穿越防护真实存在。
  • [ok] 无其他网络调用(排除 requests/curl/wget/其他 urlopen) — 全目录扫描仅 history_index.py 引入 urllib.request;其余脚本零网络 import。
  • [ok] Kimi 表面真实存在且只读 — list_local_history.py argparse choices 含 kimi;analyze_sessions.py search 有 --kimi/--kimi-home;_core/kimi.py 只解析 state.json/wire.jsonl,无 kimi CLI 调用。
  • [ok] read-only 承诺与写盘面核对 — SKILL guardrails 禁止 resume/continue;写盘仅 extract_user_messages(用户给输出基址)、recover_content(报告后批准)、history_index(可选索引库)。
  • [unlocatable] Qwen 嵌入模型网络端点 — 静态证据止于 EMBEDDING_MODEL_ID + mlx_embeddings.load(...) 与 ~/.cache/huggingface 路径;HF 实际网络端点由 mlx-embeddings 库行为决定,源码未直写,未运行验证。
  • [ok] 能力声明夸大检查(exact timelines/verbatim input/full-event search) — read_claude_session.py 严格解析含 compaction 前记录、extract_user_messages 去噪逻辑(NOISE_USER_PATTERNS/IMG_TOKEN_RE)、analyze_sessions 预算超时显式失败——均有代码与测试佐证。

6結論

  • デフォルトパスは完全ローカルかつ読み取り専用であり、マルチホーム+アーカイブ検出により「偽の not found」を解消
  • Claude のストレージ構造に対する深いセマンティック理解:storage label ≠ 作成者、queued_command の修正、コンパクション識別子、file-history スナップショットに対する専用処理とリファレンスを完備
  • 書き込み/復元パスにレポート承認ゲートウェイを設け、読み取りと書き込みを物理的に隔離
  • 高いエンジニアリング完成度:充実したフラグ、pytest の網羅、evals 検収テスト、異常系パス(予算タイムアウト、不正な JSONL、レプリカの不一致)での明示的な失敗ハンドリング(見せかけの成功を排除)
  • 最適な用途: Claude セッション内で「実際に何が話され/何が行われたかを証明する」必要があるシナリオに最適:Session ID の特定、逐語的な人間入力の取得、削除されたファイルの復元、プロファイルやアーカイブをまたぐ完全な検索。作業を再開する前の証拠収集レイヤー(continue-claude-code-work との併用)として、また「信頼できるローカル履歴検索」をインフラとして重視する高度なユーザーに適しています。
    不向きな用途: 過去のプロセスを再開して作業を続行したり古いプロジェクトを変更したりする必要があるリクエストには適していません(continue-claude-code-work を使用してください)。ローカルの Claude Code 履歴が存在しない環境には不向きです。セマンティックな「文言を忘れた」再現を必要としないユーザーは history_index を有効化する必要はありません(ダウンロードや MLX 依存関係を省くため)。Kimi/Codex の問い合わせには対応する専用サーフェスを使用してください(本スキルはそれらを代替するものではありません)。
    Install Agent-Ready
    ① Verified Mirror 2026-09-09
    Option A · Direct DownloadDownload read-claude-code-history.tar.gz
    sha256: 646d5ca94bdfe86a…
    Option B · Copy Guide for Agent
    install.json
    Agent はこの JSON ガイドから自動的にダウンロードして検証します。
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit d5c4678cb5.