Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/bumblebiber/hmem/skill-snapshotnpx skills add Bumblebiber/hmem --skill skill-snapshotgit clone --depth 1 https://github.com/Bumblebiber/hmemWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/bumblebiber/hmem/skill-snapshot)<a href="https://agentmods.dev/skills/bumblebiber/hmem/skill-snapshot"><img src="https://agentmods.dev/badge/skills/bumblebiber/hmem/skill-snapshot.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00125 | $0.01113 |
| Opus 5 | $0.00063 | $0.00557 |
| Sonnet 5 | $0.00025 | $0.00223 |
| Haiku 4.5 | $0.00013 | $0.00111 |
Grade A, and why
hmem-search scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 59 lines — stays where its author put it; the contents beside it link to each section on GitHub.
hmem Search
When the user references past context without pinning it to an ID, convert their prompt into a targeted read_memory query.
Workflow
-
Extract two things from the prompt:
- Keywords — the topical terms. Pick the distinctive ones (nouns, project names, error fragments), not filler like "wir", "neulich", "besprochen".
- Time hint — the phrase indicating when. Map it to an
after/beforerange using the current date as anchor. Be deliberate, not mechanical: "gestern" is narrow (−1 to 0 days), "letzte Woche" medium (−10 to −3 days), "neulich" / "vor kurzem" / "vor ein paar Tagen" is vague — prefer a generous window (e.g. −21 days) and let ranking surface the hit. For old projects or "damals", expand further. No time hint at all → skip the range entirely.
-
Search:
read_memory({ search: "<keywords>", after: "<ISO>", before: "<ISO>" })Keywords go as a single space-separated string — FTS5 handles it. Use ISO dates (
2026-04-11), not relative forms. -
Fallbacks, in order, if results are empty or clearly off-topic:
- Drop the time filter, keep keywords:
read_memory({ search: "<keywords>" }). Time hints from humans are fuzzy; the memory may sit just outside the window. - Try looser keywords (drop the most specific term, or swap a synonym).
- Switch store: default is
personal; if the user works on a work-related topic and personal turned up nothing, trystore: "company". - Only report "nothing found" after these have failed.
- Drop the time filter, keep keywords:
-
Present the hits:
- Top 3–5 most relevant, with
ID · date · one-line summary. - If the user's question implies they want the full content of one specific entry, offer to drill in (
read_memory({ id: "..." })) rather than dumping everything.
- Top 3–5 most relevant, with
Why this exists
The user's hmem holds months of O-entries, L-entries, decisions, bug histories. They genuinely cannot remember IDs. If you skip this skill and answer from session context alone, you'll confabulate — the conversation they're referring to is from a prior session and isn't in your current context. Searching is the only correct move.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago First seen · 59 lines · 125 tokens per session scan A 65e650983d01
hmem-search is a skill published in the GitHub repository Bumblebiber/hmem (23 stars, last pushed 1mo ago), licensed MIT. It adds 125 tokens to every session and 1,113 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
kayba-ace
This skill ships learnfromtraces.py, a script that reads OpenClaw session transcripts, feeds them through the ACE learning pipeline, and writes an updated skillbook to disk.
rekal-init
Bootstrap rekal memory for a project. Scans the codebase for architecture, conventions, dependencies, workflows, and config, then stores durable knowledge as properly typed, tagged, deduplicated memories. Use when starting rekal on a new project, or when user says "init rekal", "bootstrap memory", "populate rekal"…
rekal-save
End-of-session memory capture with deduplication. Extracts durable knowledge, checks for duplicates, stores or replaces as appropriate. Use whenever a session wraps up, a task finishes, or the user says goodbye/thanks/done. Also use when significant preferences, decisions, or discoveries emerge mid-session. Make sure…
rekal-usage
Operational guide for rekal memory tools. Precise rules for when/how to call each tool, with exact parameters and decision trees. Use at session start, when onboarding to a rekal workspace, or when user asks "how do I use rekal", "what rekal tools", "help with memory". Trigger: /rekal-usage.
rekal-hygiene
Periodic memory maintenance and cleanup. Finds duplicates, contradictions, and quality issues in the memory database. Proposes fixes for user approval. Never auto-deletes or auto-modifies. Use when user says "clean up memories", "memory maintenance", "check memory health", or invokes /rekal-hygiene. Run monthly or…
vault-for-llm
Connect OpenClaw to Vault Agent Memory as a local-first governed project memory layer. Search first, then bounded-read cited source ranges; propose new memories as candidates instead of writing directly into active memory.