jpskill.com
🛠️ 開発・MCP コミュニティ

hermes-history-ingest

Ingest Hermes agent history into the Obsidian wiki. Use this skill when the user wants to mine their past Hermes sessions for knowledge, import their ~/.hermes folder, extract insights from previous Hermes conversations, or says things like "process my Hermes history", "add my Hermes memories to the wiki", "ingest ~/.hermes", or "what have I worked on in Hermes". Also triggers when the user mentions Hermes memories, Hermes sessions, ~/.hermes/memories, or Hermes skill logs.

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o hermes-history-ingest.zip https://jpskill.com/download/22828.zip && unzip -o hermes-history-ingest.zip && rm hermes-history-ingest.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/22828.zip -OutFile "$d\hermes-history-ingest.zip"; Expand-Archive "$d\hermes-history-ingest.zip" -DestinationPath $d -Force; ri "$d\hermes-history-ingest.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して hermes-history-ingest.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → hermes-history-ingest フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
2

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

[Skill 名] hermes-history-ingest

Hermes History Ingest — 会話と記憶のマイニング

ユーザーの Hermes エージェント履歴から知識を抽出し、Obsidian wiki に整理します。Hermes は自由形式の記憶と構造化されたセッションのトランスクリプトの両方を保存しますが、運用テレメトリーではなく、永続的な知識に焦点を当ててください。

このスキルは直接呼び出すことも、wiki-history-ingest ルーター (/wiki-history-ingest hermes) を介して呼び出すこともできます。

開始する前に

  1. 設定の解決llm-wiki/SKILL.md の設定解決プロトコルに従ってください (CWD を遡って .env~/.obsidian-wiki/config → プロンプト設定)。これにより、OBSIDIAN_VAULT_PATHHERMES_HISTORY_PATH (デフォルトは ~/.hermes) が得られます。
  2. ボールトのルートにある .manifest.json を読んで、すでに何が取り込まれているかを確認してください。
  3. ボールトのルートにある index.md を読んで、wiki にすでに何が含まれているかを理解してください。

取り込みモード

追加モード (デフォルト)

各ソースファイルについて .manifest.json を確認します。以下のみを処理します。

  • マニフェストにないファイル (新しい記憶ファイル、新しいセッションログ)
  • マニフェストの ingested_at よりも更新日時が新しいファイル

定期的な同期にはこのモードを使用してください。

フルモード

マニフェストに関係なくすべてを処理します。wiki-rebuild の後、またはユーザーが明示的に完全な再取り込みを要求した場合に使用してください。

Hermes データレイアウト

Hermes はすべてのローカルアーティファクトを ~/.hermes/ (またはデフォルト以外のプロファイルの場合は $HERMES_HOME) の下に保存します。

~/.hermes/
├── memories/                          # 永続的なエージェントの記憶 (Markdown または JSON)
│   └── *.md / *.json
├── skills/                            # インストールされたスキル (取り込み目的では読み取り専用)
│   └── <skill-name>/SKILL.md
├── sessions/                          # セッションのトランスクリプト (セッションロギングが有効な場合)
│   └── YYYY-MM-DD/
│       └── <session-id>.jsonl
├── config.yaml                        # ユーザー設定 (モデル、テーマ、パス)
└── .hub/                              # Skills Hub の状態 (lock.json, audit.log, quarantine/)

価値の高い主要なデータソース

  1. memories/*.md / memories/*.json — 最もシグナルが高い。エージェントが蓄積した厳選された永続的な知識です。
  2. sessions/**/*.jsonl — 構造化されたターンごとのトランスクリプト。豊富ですがノイズが多いです。
  3. config.yaml — メタデータのみ (モデルの好み、パス)。取り込む価値はめったにありません。

.hub/ の内部 (監査/隔離状態) と skills/ ディレクトリ (ソース資料であり、ユーザーの知識ではない) はスキップしてください。

ステップ 1: 調査と差分の計算

HERMES_HISTORY_PATH をスキャンし、.manifest.json と比較します。

  • ~/.hermes/memories/
  • ~/.hermes/sessions/**/ (存在する場合)

各ファイルを分類します。

  • 新規 — マニフェストにない
  • 変更済み — マニフェストにあるが、ファイルが ingested_at よりも新しい
  • 変更なし — すでに取り込まれており、変更されていない

詳細な解析の前に、簡潔な差分サマリーを報告してください。

ステップ 2: まず記憶を解析する

記憶は最も価値の高いソースです。Hermes はそれらを次のいずれかの形式で書き込みます。

  • Markdown — オプションのフロントマターを含む構造化された散文。直接取り込みます。
  • JSON{"content": "...", "created_at": "...", "tags": [...]} レコード。

各記憶について:

  • 核となる知識の主張を抽出します。
  • Hermes が添付したタグ (多くの場合、wiki のカテゴリにマッピングされます) をメモします。
  • 1つの記憶 = 1つのページを作成するのではなく、適切な wiki ページにマージします。

ステップ 3: セッション JSONL を安全に解析する

各セッション JSONL の行はイベントエンベロープです。一般的な形式は次のとおりです。

{"role": "user", "content": "..."}
{"role": "assistant", "content": "..."}
{"type": "tool_use", "name": "...", "input": {...}}
{"type": "tool_result", "content": "..."}

抽出ルール

  • 結論、パターン、または決定を述べるアシスタントの応答を優先します。
  • シグナルの高いターンからユーザーの意図を抽出します。情報量の少ないフォローアップはスキップします。
  • tool_use / tool_result のペアは、主要なコンテンツではなくコンテキストとして扱います。
  • トークン計算、内部の配管、繰り返される計画のエコーはスキップします。

重要なプライバシーフィルター

セッションログには、注入された指示、ツールペイロード、機密テキストが含まれる場合があります。そのまま取り込まないでください。

  • API キー、トークン、パスワード、資格情報を削除します。
  • 関連性があり、ユーザーが承認している場合を除き、プライベートな識別子を編集します。
  • 要約します。生のトランスクリプトをそのまま引用しないでください。

ステップ 4: トピックごとにクラスター化する

記憶ごと、またはセッションごとに wiki ページを作成しないでください。

  • 安定したトピック (概念、ツール、プロジェクト、テクニック) ごとに記憶をグループ化します。
  • 混在するセッションを個別のテーマに分割します。
  • 日付やプロジェクトを横断する繰り返しのパターンをマージします。
  • 利用可能な場合は、ファイルパスまたはセッションの cwd メタデータを使用してプロジェクトのスコープを推測します。

ステップ 5: Wiki ページに整理する

抽出された知識を既存の wiki 規則を使用してルーティングします。

  • プロジェクト固有のアーキテクチャ/プロセス → projects/<name>/...
  • 一般的な概念 → concepts/
  • 繰り返されるテクニック/デバッグプレイブック → skills/
  • ツール/サービス/フレームワーク → entities/
  • セッション間のパターン → synthesis/

影響を受ける各プロジェクトについて、projects/<name>/<name>.md を作成/更新します。

記述ルール

  • 知識を整理し、時系列は整理しません。
  • 日付のコンテキストが不可欠な場合を除き、「X 日に議論した内容は...」のような記述は避けてください。
  • 新規/更新された各ページに summary: フロントマターを追加します (1~2文、200文字以内)。
  • すべての新しいページに信頼度とライフサイクルフィールドを追加します。
    base_confidence: 0.42
    lifecycle: draft
    lifecycle_changed: <ISO date today>

    更新時には lifecycle を変更しないでください。

  • 出典マーカーを追加します。
    • 明示的な記憶/セッションコンテンツに直接基づいている場合は ^[extracted]
    • 複数の記憶にわたるパターンを合成している場合は ^[inferred]
    • 記憶が矛盾している場合は ^[ambiguous]
  • 変更された各ページについて provenance: フロントマターミックスを追加/更新します。

ステップ 6: マニフェスト、ログ、およびインデックスを更新する

.manifest.json の更新

処理された各ソースファイルについて:

  • ingested_atsize_bytesmodified_at
  • source_type: hermes_memory | hermes_session
  • project: 推測されたプロジェクト名 (該当する場合)
  • pages_createdpages_updated

トップレベルのサマリーブロックを追加/更新します。

{
  "hermes": {
    "source_path": "~/.hermes/",
    "last_ingested": "TIMESTAMP",
    "memories_ingested": 42,
    "sessions_ingested": 
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Hermes History Ingest — Conversation & Memory Mining

You are extracting knowledge from the user's Hermes agent history and distilling it into the Obsidian wiki. Hermes stores both free-form memories and structured session transcripts — focus on durable knowledge, not operational telemetry.

This skill can be invoked directly or via the wiki-history-ingest router (/wiki-history-ingest hermes).

Before You Start

  1. Resolve config — follow the Config Resolution Protocol in llm-wiki/SKILL.md (walk up CWD for .env~/.obsidian-wiki/config → prompt setup). This gives OBSIDIAN_VAULT_PATH and HERMES_HISTORY_PATH (defaults to ~/.hermes)
  2. Read .manifest.json at the vault root to check what has already been ingested
  3. Read index.md at the vault root to understand what the wiki already contains

Ingest Modes

Append Mode (default)

Check .manifest.json for each source file. Only process:

  • Files not in the manifest (new memory files, new session logs)
  • Files whose modification time is newer than ingested_at in the manifest

Use this mode for regular syncs.

Full Mode

Process everything regardless of manifest. Use after wiki-rebuild or if the user explicitly asks for a full re-ingest.

Hermes Data Layout

Hermes stores all local artifacts under ~/.hermes/ (or $HERMES_HOME for non-default profiles).

~/.hermes/
├── memories/                          # Persistent agent memories (markdown or JSON)
│   └── *.md / *.json
├── skills/                            # Installed skills (read-only for ingest purposes)
│   └── <skill-name>/SKILL.md
├── sessions/                          # Session transcripts (if session logging is enabled)
│   └── YYYY-MM-DD/
│       └── <session-id>.jsonl
├── config.yaml                        # User config (model, theme, paths)
└── .hub/                              # Skills Hub state (lock.json, audit.log, quarantine/)

Key data sources ranked by value

  1. memories/*.md / memories/*.json — highest signal; curated persistent knowledge the agent accumulated
  2. sessions/**/*.jsonl — structured turn-by-turn transcripts; rich but noisy
  3. config.yaml — metadata only (model preferences, paths); rarely worth ingesting

Skip .hub/ internals (audit/quarantine state) and the skills/ directory (source material, not user knowledge).

Step 1: Survey and Compute Delta

Scan HERMES_HISTORY_PATH and compare against .manifest.json:

  • ~/.hermes/memories/
  • ~/.hermes/sessions/**/ (if present)

Classify each file:

  • New — not in manifest
  • Modified — in manifest but file is newer than ingested_at
  • Unchanged — already ingested and unchanged

Report a concise delta summary before deep parsing.

Step 2: Parse Memories First

Memories are the highest-value source. Hermes writes them as either:

  • Markdown — structured prose with optional frontmatter; ingest directly
  • JSON{"content": "...", "created_at": "...", "tags": [...]} records

For each memory:

  • Extract the core knowledge claim
  • Note any tags Hermes attached (they often map to wiki categories)
  • Merge into the appropriate wiki page rather than creating one memory = one page

Step 3: Parse Session JSONL Safely

Each session JSONL line is an event envelope. Common shapes:

{"role": "user", "content": "..."}
{"role": "assistant", "content": "..."}
{"type": "tool_use", "name": "...", "input": {...}}
{"type": "tool_result", "content": "..."}

Extraction rules

  • Prioritize assistant responses that state conclusions, patterns, or decisions
  • Extract user intent from high-signal turns; skip low-information follow-ups
  • Treat tool_use / tool_result pairs as context, not primary content
  • Skip token accounting, internal plumbing, and repeated plan echoes

Critical privacy filter

Session logs can include injected instructions, tool payloads, and sensitive text. Do not ingest verbatim.

  • Remove API keys, tokens, passwords, credentials
  • Redact private identifiers unless relevant and user-approved
  • Summarize; do not quote raw transcripts verbatim

Step 4: Cluster by Topic

Do not create one wiki page per memory or session.

  • Group memories by stable topic (concept, tool, project, technique)
  • Split mixed sessions into separate themes
  • Merge recurring patterns across dates and projects
  • Use file paths or session cwd metadata to infer project scope when available

Step 5: Distill into Wiki Pages

Route extracted knowledge using existing wiki conventions:

  • Project-specific architecture/process → projects/<name>/...
  • General concepts → concepts/
  • Recurring techniques/debug playbooks → skills/
  • Tools/services/frameworks → entities/
  • Cross-session patterns → synthesis/

For each impacted project, create/update projects/<name>/<name>.md.

Writing rules

  • Distill knowledge, not chronology
  • Avoid "on date X we discussed..." unless date context is essential
  • Add summary: frontmatter on each new/updated page (1–2 sentences, ≤ 200 chars)
  • Add confidence and lifecycle fields to every new page:
    base_confidence: 0.42
    lifecycle: draft
    lifecycle_changed: <ISO date today>

    Leave lifecycle unchanged on update.

  • Add provenance markers:
    • ^[extracted] when directly grounded in explicit memory/session content
    • ^[inferred] when synthesizing patterns across multiple memories
    • ^[ambiguous] when memories conflict
  • Add/update provenance: frontmatter mix for each changed page

Step 6: Update Manifest, Log, and Index

Update .manifest.json

For each processed source file:

  • ingested_at, size_bytes, modified_at
  • source_type: hermes_memory | hermes_session
  • project: inferred project name (when applicable)
  • pages_created, pages_updated

Add/update a top-level summary block:

{
  "hermes": {
    "source_path": "~/.hermes/",
    "last_ingested": "TIMESTAMP",
    "memories_ingested": 42,
    "sessions_ingested": 7,
    "pages_created": 5,
    "pages_updated": 12
  }
}

Update special files

Update index.md and log.md:

- [TIMESTAMP] HERMES_HISTORY_INGEST memories=N sessions=M pages_updated=X pages_created=Y mode=append|full

hot.md — Read $OBSIDIAN_VAULT_PATH/hot.md (create from the template in wiki-ingest if missing). Update Recent Activity with a one-line summary — e.g. "Ingested 42 Hermes memories and 7 sessions; dominant themes: reasoning strategies, tool use patterns." Keep the last 3 operations. Update updated timestamp.

Privacy and Compliance

  • Distill and synthesize; avoid raw memory or transcript dumps
  • Default to redaction for anything that looks sensitive
  • Ask the user before storing personal or sensitive details
  • Keep references to other people minimal and purpose-bound

Reference

See references/hermes-data-format.md for field-level notes and extraction guidance.

同梱ファイル

※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。