Back to Skills

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.

2,510stars249forksUpdated 6/29/2026

Security Assessment

Safe(90/100)

Detected risks:

Sensitive File Access([SKILL.md] .env)
Security Score90/100

About hermes-history-ingest

Ingests Hermes agent history into an Obsidian wiki, mining past Hermes sessions and memories for durable knowledge and distilling it into wiki pages. It triggers when a user wants to process their Hermes history, import their ~/.hermes folder, or extract insights from previous Hermes conversations, and can be invoked directly or through the wiki-history-ingest router. The emphasis is on capturing lasting knowledge rather than operational telemetry.

Before running, it resolves configuration via the Config Resolution Protocol in llm-wiki/SKILL.md (yielding OBSIDIAN_VAULT_PATH and HERMES_HISTORY_PATH, defaulting to ~/.hermes), then reads the vault's .manifest.json and index.md. It supports two ingest modes: Append (default), which processes only files absent from the manifest or modified since their ingested_at timestamp, and Full, which reprocesses everything after a rebuild or on explicit request. The Hermes data layout under ~/.hermes includes memories (highest-signal curated knowledge in markdown or JSON), sessions (turn-by-turn JSONL transcripts that are rich but noisy), config.yaml (metadata only), and a .hub directory that is skipped along with the skills directory.

The workflow surveys sources and computes a delta, parses memories first, then parses session JSONL safely, clusters extracted knowledge by stable topic, and distills it into wiki pages routed by convention (projects, concepts, skills, entities, synthesis). Writing rules require summary frontmatter, confidence and lifecycle fields, and provenance markers such as extracted, inferred, and ambiguous. A critical privacy filter mandates removing API keys, tokens, passwords, and credentials, redacting private identifiers, and summarizing rather than quoting transcripts verbatim. Finally it updates the manifest, index.md, log.md, and hot.md, and optionally refreshes the QMD search index via qmd update or qmd embed when a collection is configured.

FAQ

Where does this skill read Hermes data from?

From HERMES_HISTORY_PATH, which defaults to ~/.hermes. It surveys ~/.hermes/memories and ~/.hermes/sessions, while skipping .hub internals and the skills directory.

What is the difference between Append mode and Full mode?

Append (the default) processes only new files or files modified since their ingested_at timestamp in the manifest. Full mode reprocesses everything, used after a wiki-rebuild or when the user explicitly asks for a full re-ingest.

How does it handle sensitive data in session logs?

A critical privacy filter requires removing API keys, tokens, passwords, and credentials, redacting private identifiers unless approved, and summarizing rather than quoting raw transcripts verbatim.

Which Hermes data sources are considered most valuable?

Memories (markdown or JSON) rank highest as curated persistent knowledge, followed by session JSONL transcripts which are rich but noisy. config.yaml is metadata only and rarely worth ingesting.

Does it update a search index after writing to the vault?

Optionally. If QMD_WIKI_COLLECTION is set, it runs qmd update after vault writes (and qmd embed if embeddings are stale). If QMD refresh fails it reports the status separately rather than rolling back vault changes.

All Files

2 files
references/hermes-data-format.md2.9 KB
View
SKILL.md8.2 KB
View

Install hermes-history-ingest

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill