CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

hermes-history-ingest

Ingest Hermes agent history into Obsidian as distilled knowledge. Use for importing or mining ~/.hermes sessions, memories, or logs; use wiki-agent for targeted topic-only cross-agent recall.

Quality

86%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

82%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-engineered process skill: concrete commands and schemas at every step, manifest-based incremental sync, a privacy filter, explicit error-recovery behavior for QMD failures, and a real one-level-deep reference file. The residual issues are duplication — privacy rules stated twice and data-layout/JSONL details repeated between the body and references/hermes-data-format.md — and the absence of any post-write verification step for the distilled pages.

Suggestions

Consolidate the privacy guidance: merge the standalone "Privacy and Compliance" section into Step 3's "Critical privacy filter" (or vice versa) so the redaction rules are stated once.

Trim the "Hermes Data Layout" section to just the directory tree and skip-list, moving the JSONL event shapes and source-value ranking entirely into references/hermes-data-format.md, which already covers both.

Add a lightweight post-write check at the end of Step 5 (e.g., re-read one changed page to confirm the summary frontmatter, confidence, lifecycle, and provenance markers are present and well-formed) to close the workflow's only validation gap.

DimensionReasoningScore

Conciseness

The body is dense and instructional throughout — it assumes competence and never explains basics — but there is minor redundancy: privacy guidance appears twice ("Critical privacy filter" in Step 3 and the standalone "Privacy and Compliance" section both say to redact credentials and avoid verbatim dumps), and the source-value ranking in "Hermes Data Layout" overlaps with the Extraction Priority table in the reference file. This is anchor 4 (efficient, minor instances that could be trimmed) rather than anchor 5, where every token earns its place, and well above anchor 3, which would require genuinely unnecessary explanation.

4 / 5

Actionability

Guidance is concretely executable at every step: exact paths to scan, JSONL event shapes, a filled-in `obsidian-wiki memory sync` invocation with a real --takeaways example, manifest field schemas, YAML frontmatter templates, and copy-paste-ready QMD commands (`${QMD_CLI:-qmd} update`, `embed`, `ls`, `get ... -l 5`). This matches anchor 5 (fully executable, specific examples covering common cases); the small placeholders like `memories=<memories>` are filled-by-context templates, not the pseudocode or missing details that would drop it to anchor 4.

5 / 5

Workflow Clarity

Steps 1-6 are clearly sequenced with real checkpoints: the delta report before deep parsing ("Report a concise delta summary before deep parsing"), manifest-based new/modified classification, a locked manifest/index update that guards against parallel writers, and a QMD section with explicit feedback loops (vectors stale → run embed; refresh failure → do not roll back, report status separately) plus explicit verification (`qmd ls`/`qmd get`). This clears the batch-operation validation cap and matches anchor 4 rather than 5 only because there is no post-write verification of the distilled pages themselves (e.g., confirming frontmatter fields and the ≤200-char summary actually landed correctly).

4 / 5

Progressive Disclosure

The single bundle reference (`references/hermes-data-format.md`) is real, well-signaled in a dedicated "## Reference" section, and exactly one level deep; field-level format detail is appropriately split out. However, the body's "Hermes Data Layout" tree and JSONL common-shape examples substantially duplicate content in the reference file, so some content that could live solely in the reference is inlined. That is anchor 4 (good structure, minor organization gaps) rather than anchor 5 (content appropriately split with no duplication), and far above anchor 3's inlined-API-reference pattern given the duplication is ~20 lines serving the workflow.

4 / 5

Total

17

/

20

Passed

Description

82%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: concrete, third-person, and efficient, with an explicit "Use for..." trigger clause naming the exact source artifacts (sessions, memories, logs) and an explicit boundary against the sibling wiki-agent skill. The only soft spot is that the capability list boils down to ingest-and-distill, leaving finer-grained actions (clustering, merging into existing pages, manifest sync) unstated.

DimensionReasoningScore

Specificity

"Ingest Hermes agent history into Obsidian as distilled knowledge" names the domain and essentially two concrete actions (ingest/import and distill); "importing or mining" in the trigger clause restates the same operation rather than adding distinct capabilities like clustering, merging, or manifest tracking. It matches anchor 3 (domain plus 1-2 concrete actions, not comprehensive) more than anchor 4, which expects several distinct specific actions with only minor gaps.

3 / 5

Completeness

It explicitly answers both questions: the what is "Ingest Hermes agent history into Obsidian as distilled knowledge" and the when is the concrete trigger clause "Use for importing or mining ~/.hermes sessions, memories, or logs". This matches anchor 5 (clear, explicit what AND when with concrete trigger phrases); anchor 4 would require the when to be weaker or less specific than it is here.

5 / 5

Trigger Term Quality

Natural trigger terms are present and specific — "importing", "mining", "sessions, memories, or logs", "Hermes", "~/.hermes" — which a user needing this skill would plausibly say. A few natural synonyms like "transcripts", "conversations", or "chat history" are missing, so it sits at anchor 4 rather than anchor 5's comprehensive synonym coverage.

4 / 5

Distinctiveness Conflict Risk

The skill occupies a clear niche (Hermes artifacts, the ~/.hermes path) and even includes explicit disambiguation against a sibling skill — "use wiki-agent for targeted topic-only cross-agent recall" — which actively reduces mis-triggering. This is anchor 5 (clear niche with distinct triggers, minimal conflict risk), not anchor 4, because the boundary with the nearest related skill is stated rather than merely implied.

5 / 5

Total

17

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

Ar9av/obsidian-wiki

Path

.skills/hermes-history-ingest/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.