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 skills add s-annam/okfmem --skill okfmem-savegit clone --depth 1 https://github.com/s-annam/okfmemWrote 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/s-annam/okfmem/okfmem-save)<a href="https://agentmods.dev/skills/s-annam/okfmem/okfmem-save"><img src="https://agentmods.dev/badge/skills/s-annam/okfmem/okfmem-save.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.1 | $0.00080 | $0.06985 |
| Opus 5 | $0.00040 | $0.03492 |
| Sonnet 5 | $0.00016 | $0.01397 |
| Haiku 4.5 | $0.00008 | $0.00698 |
Grade A, and why
okfmem-save 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 8d 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 — 348 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/okfmem-save — Write active state + capture insights + commit & push okfmem-store
Names. Canonical
/okfmem-save;/primeris a back-compat alias (a symlink at~/tools/skills/primer→ this skill). Both invoke the same process. This skill and the memory engine live in theokfmemrepo (~/okfmem/skills/);okfmem initsymlinks it into each harness.
/okfmem-save closes out a work session in one move: overwrite the project's bounded active state (STATE.md), capture durable insights as per-project markdown memory pages, optionally post an impl-complete comment on the resolved GitHub issue, and commit + push ~/okfmem-store synchronously at the end.
Everything is plain markdown under ~/okfmem-store — no MCP, no daemon. Active state and durable insights are files the native memory system auto-loads next session (STATE.md, MEMORY.md, and the <topic>.md pages). This skill writes them directly, in-session, on whatever model the session is on, then runs the final git commit/push via the shared okfmem sync helper.
Two-layer architecture (for context)
Everything lives under ~/.claude/projects/<proj-dir>/memory/ (symlinked to ~/okfmem-store/projects/<name>/):
- Active state lives in
STATE.md— a bounded, single-session snapshot with a fixed 6-section shape (Summary / Left off / Next steps / Decisions / Blockers / Goal) plus OKFtype: statefrontmatter. It is overwritten every session, never appended. The native memory system auto-loads it next session. - Durable knowledge lives in per-topic
<topic>.mdpages (OKF v0.1: markdown + YAML frontmatter with a top-leveltype:field ∈user|feedback|project|reference), indexed by one-line pointers in aMEMORY*.mdindex — the matching lane index by default, the rootMEMORY.mdonly for cross-lane ortype: feedbackpages (#53; see Step 3). This is the durable write path: create or update the page, then add/refresh its pointer in that index. STATE.mduses a separatetype: state(see Step 5) — a different file with a different consumer (active-state snapshot, not the durable-page index), not a fifth value in thetype:enum above.
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.
- 8d ago First seen · 348 lines · 80 tokens per session scan A 6bfece7c3143
okfmem-save is a skill published in the GitHub repository s-annam/okfmem (5 stars, last pushed 25d ago), licensed Apache-2.0. It adds 80 tokens to every session and 6,985 once invoked, about $0.0004 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-31.
Other skills, from other repositories
git-ai-search
Search and restore AI conversation context from git history.
github-ops
GitHub CLI for issues, PRs, code search, CI logs, releases, and API queries. Requires gh CLI and auth.
release
Cut a Memoria release. Version bump, CHANGELOG, CI workflows, Docker image. Use when publishing a new version.
mulch-record-from-evidence
Turn the evidence of a finished work session — git commits, changed files, recently-touched seeds issues — into well-formed ml record invocations. Use at session close, when an agent has made changes worth preserving as mulch expertise but hasn't yet recorded them.
release-finalizer
Merges a release PR, associates it with resolved issues, replies to issue reporters, and closes issues. Use after PR review is complete and ready for merge. Closes the release cycle.
release-prep
Orchestrates the full release preparation flow for a plugin — version sync across 7+ files, bilingual release notes creation, and commit message drafting. Use before submitting a PR. Does NOT push or create a PR; that is handled by pr-submitter.