by grpcer
Open-source, Git-native memory for AI coding agents — deterministic local recall for Claude Code, Codex, Cursor, Gemini CLI, and compatible tools.
# Add to your Claude Code skills
git clone https://github.com/grpcer/ownmemLast scanned: 8/20/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-08-20T04:36:40.401Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}See how ownmem compares with popular alternatives.
ownmem is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by grpcer. Open-source, Git-native memory for AI coding agents — deterministic local recall for Claude Code, Codex, Cursor, Gemini CLI, and compatible tools. It has 317 GitHub stars.
Yes. ownmem passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/grpcer/ownmem" and add it to your Claude Code skills directory (see the Installation section above).
ownmem is primarily written in JavaScript. It is open-source under grpcer on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh ownmem against similar tools.
No comments yet. Be the first to share your thoughts!
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
Open-source project memory for Claude Code, Codex, Cursor, Gemini CLI, and other AI coding agents — local, deterministic, reviewable, and safely self-improving.
Git-native · AI agent memory · local recall · evidence-governed · Apache-2.0
English · 简体中文 · 繁體中文 · 日本語 · 한국어 · Español · Français · Deutsch · Português (BR)
Most AI agent memory systems optimize for remembering more. OwnMem starts with a different question: who owns project knowledge, who may change it, and how can a bad memory be stopped before it changes a coding agent's actions?
| Advantage | What it means in practice |
|---|---|
| The repository owns memory | Readable Markdown in .ownmem/ travels through clone, review, and rollback with the code. |
| One memory serves many agents | Claude Code, Codex, Cursor, Gemini CLI, Grok CLI, and other hosts share one source of project truth. |
| Deterministic local recall | Default recall makes no model or network call; the same query, config, and snapshot produce the same ranking. |
| Evidence before authority | Content cannot declare itself trusted. Independent receipts and live evidence checks decide delivery. |
| Bounded growth | Schemas, quotas, duplicate gates, lifecycle rules, and audits keep memory from becoming a second abandoned wiki. |
| Low-risk automation, review for impact | Replay-proven R0 retrieval metadata can evolve unattended; prose, policy, and higher-risk changes cannot. |
OwnMem separates writing experience from delivering it to an agent:
The differentiator is not one ranking formula. OwnMem turns coding-agent memory into a verifiable retrieval and evolution protocol:
| Mechanism | How it is enforced |
|---|---|
| Evidence-carrying memory | Content hash, evidence root, lifecycle, applicability, risk, and predecessor receipts determine whether text may enter context. |
| Counterfactual promotion gate | Automation must prove baseline miss, candidate-only recovery, and zero regression on the previously passing corpus. |
| Risk from change surface | Risk is derived from what changed and what it can affect; an agent cannot downgrade its own proposal. |
| Content-addressed compensating rollback | Automatic edits carry a verified inverse operation; failures or harmful outcomes restore the exact previous bytes without erasing history. |
| Memory-poisoning quarantine | Candidates, content, authority, and evidence are separate trust domains; retrieval never grants permission to act. |
| Selective delivery | Insufficient evidence produces advisory, quarantine, or abstention instead of invented confidence. |
| Immutable compiled snapshots | Markdown, graph edges, ranking identity, and trust state become one reproducible runtime input. |
| Three anti-pollution ledgers | Retrieval correctness, user/host-confirmed outcomes, and agent self-attribution never impersonate one another. |
Read the detailed technical design and research mapping.
Requires Node.js 20.6 or newer. Run this inside the repository that should own the memory:
npm install --save-dev ownmem
npx ownmem init --locale auto --hosts claude,codex,grok --layers dashboard --hook
Reopen the agent after initialization. OwnMem creates .ownmem/ and edits only managed marker regions in host files. Use --hosts claude, --hosts codex, --hosts cursor, or --hosts gemini when only one adapter is needed; preview changes with npx ownmem init --check.
.claude/settings.json. Grok additionally needs this folder trusted once — run /hooks-trust inside grok, or start it with grok --trust — otherwise it silently runs none of these hooks.<project>/.codex/hooks.json behind three separate permissions: (1) hooks = true under [features] in ~/.codex/config.toml, (2) the project itself trusted — interactive Codex asks the first time it opens it, or add [projects."<path>"] with trust_level = "trusted" — and (3) the hook trust prompt on first sight. An untrusted project is silent: it never discovers the file, and neither --dangerously-bypass-hook-trust nor a -c projects... override reaches that layer. The hook process runs at the project root with node_modules/.bin on PATH and the same JSON on stdin that Claude Code sends, but with no CODEX_* variable of any kind, so every command declares its host explicitly.Upgrading from 0.5.x: the hook configuration is now v2. Run npx ownmem init --update once. Commands that predate it are replaced where they stand, hooks you wrote yourself are never touched, and the session-start pass keeps saying the configuration is out of date until you do.
After setup, keep working in plain language:
“Remember this: staging deployment timeouts come from the pool cap, not too few workers. Check both together next time.”
“Before changing this, check whether the project memory has seen the same failure.”
The host recalls before scoped work and schedules one locked, debounced evolution pass at the end of a turn. You normally do not need to chain promotion, trust, audit, or compile commands. Open the local console or inspect the coordinator when you want visibility:
npx ownmem dashboard --open
npx ownmem evolve status
npx ownmem evolve run --force
Runtime events expire after thirty days and never leave the machine that wrote them. The daily pass reduces each finished day to a counted package small enough to commit, so a second machine — and a report run months later — can still see it:
npx ownmem daily # archive yesterday, commit it, report only what is wrong
npx ownmem archive --backfill # reduce every day still on disk to a counted package
npx ownmem report --since 7d --fleet # merge every machine's packages, and name the missing days
telemetry.auto_commit to false in <memory-dir>/config.json, or pass --no-commit, to archive without committing.core.hooksPath at <memory-dir>/git-hooks/, where ownmem init generates the post-commit fallback, and only while that setting is empty or points at an untouched default hook directory. Set telemetry.manage_hooks_path to false to leave it alone.report --fleet merges every machine’s packages and names the days that have commits but no package, instead of quietly presenting one laptop’s week as the whole history.OwnMem automates the part it can prove, not the part that merely sounds plausible.