Files
memory-gateway/integrations/hermes/memory-gateway/SKILL.md
2026-04-30 16:09:28 +08:00

3.7 KiB

name: memory-gateway description: Use this skill when an agent or harness needs reusable memory: search prior context, retrieve OpenViking resources, upload documents into knowledge, summarize arbitrary content with the Memory Gateway LLM, commit final conclusions, or cite related Obsidian notes. This skill is domain-neutral. version: 2.0.0 metadata: hermes: tags: [memory, openviking, obsidian, knowledge, retrieval, summarization, document-ingestion, agent-context]

Memory Gateway

Use this skill as a generic memory layer for any agent / harness. It connects Hermes to the local Memory Gateway at http://127.0.0.1:1934, which fronts OpenViking and an Obsidian vault.

Trigger Rule

Use this skill when the user asks to:

  • search prior memory or retrieve related context
  • upload a document and make it reusable knowledge
  • summarize content and store it as memory/resource
  • commit final conclusions, decisions, lessons learned, or research notes
  • cite related OpenViking resources or Obsidian notes
  • prepare context for another agent or workflow

Do not assume any domain-specific workflow. Treat Memory Gateway as a reusable memory and knowledge entrypoint.

Environment

Defaults:

  • Memory Gateway URL: http://127.0.0.1:1934
  • Obsidian vault: /home/tom/memory-gateway/obsidian-vault
  • Default namespace: memory-gateway

Optional env vars:

  • MEMORY_GATEWAY_URL
  • MEMORY_GATEWAY_API_KEY
  • MEMORY_GATEWAY_OBSIDIAN_VAULT

Core Workflows

1. Retrieve Context

python /home/tom/.hermes/skills/memory-gateway/scripts/retrieve_memory.py \
  --query "project decision memory gateway LLM summary" \
  --uri viking://resources \
  --limit 5

Use retrieval before answering when prior context may materially improve correctness.

2. Summarize And Commit

python /home/tom/.hermes/skills/memory-gateway/scripts/commit_summary.py \
  --title "Project decision summary" \
  --namespace memory-gateway \
  --memory-type decision \
  --tag project --tag decision \
  --persist-as resource \
  --text "<final conclusion or reusable knowledge>"

This calls POST /api/summary, which uses the configured LLM and writes to OpenViking when persist-as is not none.

3. Upload Document As Knowledge

python /home/tom/.hermes/skills/memory-gateway/scripts/upload_knowledge.py \
  --file /path/to/document.pdf \
  --title "Design Notes" \
  --namespace memory-gateway \
  --knowledge-type design_doc \
  --tags project,design,reference \
  --persist-as resource

This calls POST /api/knowledge/upload: document -> MarkItDown Markdown -> Obsidian note -> LLM summary -> OpenViking resource.

4. Search Obsidian Notes

python /home/tom/.hermes/skills/memory-gateway/scripts/search_obsidian.py \
  --query "design notes memory gateway" \
  --limit 5

Output Template

When using this skill, answer with:

## Answer
<direct answer or synthesis>

## Memory / Resource References
- `<title or URI>``<viking://...>` — why it matters

## Obsidian References
- `<note.md>``<relative path>` — why it matters

## Suggested Memory Commit
- commit: yes/no
- namespace:
- memory_type:
- tags:
- resource_uri: if committed

Guardrails

  • Do not store raw noisy data as long-term memory when a concise summary is enough.
  • Prefer LLM summaries and structured artifacts over full chat transcripts.
  • Do not commit secrets, credentials, tokens, private keys, or unnecessary personal data.
  • If content is sensitive, summarize and redact before committing.
  • If retrieval quality looks noisy, state that and cite only useful results.
  • Always report whether a commit/upload actually succeeded and include the returned resource URI when available.