codex-history-ingest
Codex CLIの会話履歴をObsidianウィキに取り込むスキルです。ユーザーが過去のCodexセッションから知見を抽出したい場合や、`~/.codex`フォルダのインポート、過去のコーディングセッションからのインサイト収集を求める際に使用します。「Codexの履歴を処理して」「Codexの会話をウィキに追加して」といった発言のほか、`.codex`セッション・rolloutファイル・`session_index.jsonl`・Codexトランスクリプトログへの言及でもトリガーされます。
description の原文を見る
> Ingest Codex CLI conversation history into the Obsidian wiki. Use this skill when the user wants to mine their past Codex sessions for knowledge, import their ~/.codex folder, extract insights from previous coding sessions, or says things like "process my Codex history", "add my Codex conversations to the wiki", or "what have I discussed in Codex before". Also triggers when the user mentions .codex sessions, rollout files, session_index.jsonl, or Codex transcript logs.
SKILL.md 本文
Codex History Ingest — 会話マイニング
ユーザーの過去の Codex セッションから知識を抽出し、Obsidian wiki に統合しています。セッションログは豊富ですがノイズが多いため、運用テレメトリーではなく、永続的な知識に焦点を当てます。
このスキルは直接呼び出すか、wiki-history-ingest ルーター (/wiki-history-ingest codex) 経由で呼び出すことができます。
開始前に
- 設定を解決する —
llm-wiki/SKILL.mdの Config Resolution Protocol に従う (CWD を.env→~/.obsidian-wiki/config→ プロンプト設定の順に探索)。これによりOBSIDIAN_VAULT_PATHとCODEX_HISTORY_PATH(デフォルト:~/.codex) が得られます - vault ルートの
.manifest.jsonを読んで、既に取り込まれたものを確認する - vault ルートの
index.mdを読んで、wiki に既に含まれているものを理解する
取り込みモード
Append モード (デフォルト)
.manifest.json で各ソースファイルを確認します。以下のみ処理します:
- マニフェストにないファイル (新しいセッションロールアウト、新しいインデックスファイル)
- ファイルの更新時刻がマニフェストの
ingested_atより新しいファイル
定期的な同期にはこのモードを使用します。
Full モード
マニフェストに関わらず、すべてを処理します。wiki-rebuild の後、またはユーザーが明示的に完全な再取り込みをリクエストした場合に使用します。
Codex データレイアウト
Codex はローカルアーティファクトを ~/.codex/ 配下に保存します。
~/.codex/
├── sessions/ # 日付別セッションロールアウトログ
│ └── YYYY/MM/DD/
│ └── rollout-<timestamp>-<id>.jsonl
├── archived_sessions/ # アーカイブされたロールアウトログ
├── session_index.jsonl # スレッド ID/名前/更新時刻の軽量インデックス
├── history.jsonl # ローカルトランスクリプト履歴 (永続化が有効な場合)
├── config.toml # ユーザー設定 (履歴設定を含む)
└── state_*.sqlite / logs_*.sqlite # ランタイム DB (通常はスキップ)
主要データソース (価値順)
session_index.jsonl— ID、タイトル、鮮度の最適なインベントリソースsessions/**/rollout-*.jsonl— リッチな構造化トランスクリプトイベントhistory.jsonl— 有効な場合、有用なフォールバック/タイムライン補助
SQLite の内部は、ユーザーが明示的にリクエストしない限り取り込まないでください。
ステップ 1: サーベイとデルタ計算
CODEX_HISTORY_PATH をスキャンし、.manifest.json と比較します:
~/.codex/session_index.jsonl~/.codex/sessions/**/rollout-*.jsonl~/.codex/archived_sessions/**(オプション; ユーザーがアーカイブ履歴を求める場合のみ)~/.codex/history.jsonl(オプションフォールバック)
各ファイルを分類します:
- 新規 — マニフェストにない
- 変更 — マニフェストにあるが、ファイルが
ingested_atより新しい - 変更なし — 既に取り込まれており、変更がない
深い解析の前に、簡潔なデルタサマリーをレポートします。
ステップ 2: セッションインデックスを最初に解析
session_index.jsonl は通常、次のようなエントリを持ちます:
{"id":"...","thread_name":"...","updated_at":"..."}
以下のために使用します:
- 標準的なセッションインベントリを構築する
- 最近の/高シグナルセッションを優先順位付けする
- ロールアウト ID を人間が読める形のスレッド名にマップする
ステップ 3: ロールアウト JSONL を安全に解析
各 rollout-*.jsonl の行はイベントエンベロープで、以下を含みます:
{
"timestamp": "...",
"type": "session_meta|turn_context|event_msg|response_item",
"payload": { ... }
}
抽出ルール
- ユーザーの意図とアシスタントに見える出力を優先する
- ユーザー/アシスタントメッセージコンテンツを持つ
response_itemレコードを優先する event_msgは意味のあるマイルストーン用に選別的に使用し、純粋なテレメトリーは無視するsession_metaをメタデータ (cwd, model, ids) として扱い、ユーザー知識ではない
スキップ/ノイズフィルター
- トークンアカウンティングイベント
- セマンティックコンテンツなしのツール配管
- 再利用可能な決定/パターンが含まれていない限り、生のコマンド出力
- 新しい決定を追加しない限り、計画スナップショットの繰り返し
クリティカルプライバシーフィルター
ロールアウトログには、注入されたインストラクション、ツールペイロード、センシティブテキストが含まれる可能性があります。生のトランスクリプトまたはシステム/開発者プロンプトやシークレットをそのまま取り込まないでください。
- API キー、トークン、パスワード、認証情報を削除する
- 関連性があり承認されている場合を除き、プライベートな識別子をマスク処理する
- 生のトランスクリプトを引用する代わりに、要約する
ステップ 4: トピック別にクラスター化
セッションあたり 1 つの wiki ページを作成しないでください。
- 多くのセッションにわたる安定したトピックでグループ化する
- 混合セッションをテーマ別に分割する
- 日付/プロジェクト全体で繰り返し概念をマージする
- メタデータの
cwdを使用してプロジェクトスコープを推測する
ステップ 5: Wiki ページに統合
既存の wiki 規則を使用して抽出知識をルーティングします:
- プロジェクト固有のアーキテクチャ/プロセス ->
projects/<name>/... - 一般的な概念 ->
concepts/ - 繰り返し技法/デバッグプレイブック ->
skills/ - ツール/サービス ->
entities/ - クロスセッションパターン ->
synthesis/
影響を受けた各プロジェクトについて、projects/<name>/<name>.md を作成/更新します (プロジェクト名をファイル名として、決して _project.md ではない)。
記述ルール
- 時系列ではなく知識を統合する
- 日付コンテキストが本質的でない限り、「日付 X に以下を議論した」を避ける
- 各新規/更新ページに
summary:frontmatter を追加 (1-2 文、<= 200 文字) - すべての新規ページに信頼度とライフサイクルフィールドを追加:
更新時はbase_confidence: 0.42 lifecycle: draft lifecycle_changed: <ISO date today>lifecycleを変更しない。 - プロバナンスマーカーを追加:
^[extracted]明示的なセッションコンテンツに直接根拠がある場合^[inferred]イベント/セッション全体でパターンを統合する場合^[ambiguous]セッションが矛盾する場合
- 変更された各ページの
provenance:frontmatter ミックスを追加/更新
ステップ 6: マニフェスト、ログ、インデックスを更新
.manifest.json を更新
処理された各ソースファイルについて:
ingested_at,size_bytes,modified_atsource_type:codex_rollout|codex_index|codex_historyproject: 推測されたプロジェクト名 (該当する場合)pages_created,pages_updated
トップレベルのプロジェクト/セッションサマリーブロックを追加/更新:
{
"project-name": {
"source_path": "~/.codex/sessions/...",
"last_ingested": "TIMESTAMP",
"sessions_ingested": 12,
"sessions_total": 40,
"index_updated_at": "TIMESTAMP"
}
}
特殊ファイルを更新
index.md と log.md を更新:
- [TIMESTAMP] CODEX_HISTORY_INGEST sessions=N pages_updated=X pages_created=Y mode=append|full
hot.md — $OBSIDIAN_VAULT_PATH/hot.md を読む (wiki-ingest のテンプレートがない場合は作成)。Recent Activity を 1 行のサマリーで更新します — 例: "12 個の Codex セッションを取り込み、CLI ツーリングとシェルスクリプティングの繰り返しパターンを表面化しました。" 最後の 3 つの操作を保持します。updated タイムスタンプを更新します。
プライバシーとコンプライアンス
- 生のトランスクリプトダンプを避け、統合と要約を行う
- センシティブに見えるものはすべてデフォルトで難読化する
- 個人的/センシティブな詳細を保存する前に、ユーザーに確認する
- 他の人への言及は最小限に保ち、目的に限定する
参考資料
references/codex-data-format.md を参照して、フィールドレベルの解析メモと抽出ガイダンスを確認してください。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- ar9av
- リポジトリ
- ar9av/obsidian-wiki
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/ar9av/obsidian-wiki / ライセンス: MIT
関連スキル
newsblur-cli
ターミナルからNewsBlurを管理できます。フィードの閲覧、ストーリーの検索、記事の保存・共有、インテリジェンス分類器の学習、新しいフィードの発見、ワークフローの自動化がNewsBlur CLIで実現します。ユーザーがNewsBlurアカウントを操作したい場合、フィードの確認、購読管理、またはニュース読み込みに関するスクリプト構築時に活用してください。
caveman-compress
自然言語のメモリファイル(CLAUDE.md、todos、preferences)を「原始人形式」に圧縮し、入力トークンを削減します。技術的な内容、コード、URL、構造はすべて保持したまま圧縮します。圧縮版が元のファイルを上書きし、人間が読める形のバックアップはFILE.original.mdとして保存されます。トリガー:/caveman-compress FILEPATH または「compress memory file」
find-skills
日本語の意図から Agent Skills を発見する。「楽天SEOのスキル探して」「PDFを処理したい」「データ分析を自動化したい」などの日本語リクエストに対応。Claude Code (CLI)、Codex、Gemini CLI、claude.ai (Web) いずれでも動作。日本最大の Agent Skills データベース「Agent Skills by ALSEL」(11,000件超、全件日本語化、ダウンロード可能スキル8,600件超) から、ユーザーの意図に合うスキルを推薦・インストール案内する。
planning-and-task-breakdown
仕事を順序立てたタスクに分割します。仕様書や要件が明確にあり、実装可能なタスクに分解する必要がある場合に利用してください。タスクが大きすぎて着手しづらい場合、スコープを見積もる必要がある場合、または並列で作業を進められる場合に活用できます。
docx
このスキルは、ユーザーがWord文書(.docxファイル)を作成、読み込み、編集、操作したいときに使用します。以下の場合に実行してください:「Word文書」「.docx」などの記述、または目次・見出し・ページ番号・レターヘッドなどのフォーマットを含む専門的な文書の作成リクエスト。また、.docxファイルのコンテンツ抽出・再編成、文書への画像挿入・置換、Word形式での検索置換、変更履歴やコメント機能の使用、コンテンツを整形したWord文書への変換の場合も対象です。ユーザーが「レポート」「メモ」「手紙」「テンプレート」などの成果物をWord形式または.docxファイルで求める場合はこのスキルを使用してください。PDF、スプレッドシート、Google Docs、文書作成と無関係なコーディングタスクには使用しないでください。
idea-refine
アイデアを反復的に改善します。構造化された発散的思考と収束的思考を通じて、アイデアを洗練させることができます。「idea-refine」または「ideate」を使用してトリガーします。