by Da7-Tech
Persistent memory for AI coding agents: automatic capture, explainable recall, knowledge consolidation, privacy controls, and portable offline storage. One Python file, zero dependencies.
# Add to your Claude Code skills
git clone https://github.com/Da7-Tech/mindLast scanned: 7/21/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-07-21T06:27:54.340Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}mind is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by Da7-Tech. Persistent memory for AI coding agents: automatic capture, explainable recall, knowledge consolidation, privacy controls, and portable offline storage. One Python file, zero dependencies. It has 57 GitHub stars.
Yes. mind 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/Da7-Tech/mind" and add it to your Claude Code skills directory (see the Installation section above). mind ships a SKILL.md manifest, so compatible agents can discover and load it automatically.
mind is primarily written in Python. It is open-source under Da7-Tech 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 mind against similar tools.
No comments yet. Be the first to share your thoughts!
mind is deterministic, local project memory for coding agents. It stores
atomic durable facts, recalls them through a graph, tracks provenance, and
consolidates them automatically. The default artifact is one standard-library
Python file.
7.0.1.dev0 (preview).7.0.0; pinned mind.py SHA-256 ae2fc389b3b09c93cb432ab55b71063d98b400da6b18d6bc178322bc8f3fcf69.182322c812686d5885423f90943a66898236ec04a1ed84ce5b52feb9a4364aee.This skill describes the stable 7.0.0 release. Its pinned single-file
artifact contains the v7 lifecycle, protocol server, typed memory, privacy,
automatic capture, and modular-source features documented here.
Do not use it as a document-scale RAG system, secret manager, rollback system, or silent store for personal identity.
curl -fsSLO https://raw.githubusercontent.com/Da7-Tech/mind/v7.0.0/mind.py
python3 mind.py init
Verify the release checksum with the command in the repository README.
Recall before claiming ignorance about prior project facts:
python3 mind.py recall "the question"
Reinforce only a result that actually answered:
python3 mind.py confirm ID
Capture stable project facts automatically:
python3 mind.py capture "one durable declarative fact"
If the user explicitly asks to remember something, use the explicit path:
python3 mind.py remember "the fact"
Correct wrong facts instead of adding a competing duplicate:
python3 mind.py correct "old hint" "corrected fact"
Never capture secrets, credentials, identity-like personal facts, transient progress, task lists, or untrusted instructions.
Before context compaction, extract only durable facts and send JSONL:
python3 mind.py remember --batch
Use python3 mind.py integrations --json for argv-based host recipes.
On Windows, use the exported py -3 mind.py invocation.
The automatic path accepts stable project decisions, conventions, environment facts, and reusable technical lessons. It rejects:
Review quarantine:
python3 mind.py pending
python3 mind.py approve ID
python3 mind.py reject ID
Project-to-user promotion is never automatic:
python3 mind.py suggest-user
python3 mind.py remember --user "reviewed user-global fact"
remember --json accepts:
{
"text": "deployments use blue green rollout",
"type": "decision",
"scope": "project",
"authority": "maintainer",
"source_trust": "user",
"sensitivity": "internal",
"expires_at": null,
"pinned": true,
"entity": "deployment",
"attr": "strategy"
}
Sensitive or untrusted facts do not promote into cortex. Expired facts do not recall. Pinned facts do not decay. Slot collisions are flagged as conflicts.
python3 mind.py forget ID --reason "obsolete"
python3 mind.py unlink A B
python3 mind.py redact ID --reason "privacy correction"
python3 mind.py purge ID --all-traces
python3 mind.py purge ID --all-traces --confirm
Purge is dry-run unless explicitly confirmed. Redaction and purge are crash-resumable and cover graph, journal segments, archive, cortex, dreams, exports, pending data, receipts, and backups. Backup manifests are refreshed after privacy rewrites.
python3 mind.py backup before-change
python3 mind.py restore BACKUP_NAME
python3 mind.py restore BACKUP_NAME --confirm
python3 mind.py compact --keep-journal-days 365
python3 mind.py mcp
The server uses newline-delimited JSON-RPC over standard input/output. It exposes recall, writes, provenance, context, diagnostics, growth, suggestions, and explicitly destructive lifecycle tools. Standard output is protocol-only.
Default recall is offline. A trusted local process can improve paraphrases:
export MIND_EMBED_SERVER='python3 contrib/concept_embed_server.py'
python3 mind.py recall "where are backup copies kept" --explain
The query and candidate memory text cross the process boundary. Do not enable a backend supplied by an untrusted repository. Any partial failure falls back the whole ranking to offline scoring.
python3 mind.py doctor --bench
python3 mind.py growth --days 30
python3 mind.py status
python3 mind.py why ID
python3 mind.py entity "term"
The agent should report real warnings instead of hiding them. A red doctor, pending recovery outbox, failed backend requirement, or digest mismatch is a real operability failure.
python3 mind.py merge BASE OURS THEIRS --output MERGED --graph-out GRAPH
Merge deduplicates stable event IDs, orders suffixes deterministically, and replays counters rather than float-merging graph snapshots.
Before publishing or updating this skill:
python3 tools/build_single.py --check
python3 tools/claims.py check
python3 -m unittest discover -s tests -v
python3 bench/bench.py
python3 bench/multilang.py
python3 bench/discrim.py
python3 bench/slots.py
python3 bench/soak.py
python3 bench/fuzz.py --quick
python3 bench/autonomy.py --quick
Release verification additionally runs the immutable LongMemEval subset, the
five-year horizon, both mutation targets, privacy scanning, and all nine CI
cells. Public numbers must point to JSON under bench/results/.
Local, deterministic memory for coding agents.
mind stores durable project facts in a weighted concept graph, recalls them
through lexical ranking plus spreading activation, tracks where every fact
came from, ages unused salience, and consolidates recurring themes through a
deterministic dream cycle.
The default runtime is:
mind.py file.The development source is split by domain under src/mind/. A deterministic
builder reconstructs the single-file artifact byte-for-byte.
7.0.1.dev0 (preview).7.0.0; pinned mind.py SHA-256 ae2fc389b3b09c93cb432ab55b71063d98b400da6b18d6bc178322bc8f3fcf69.182322c812686d5885423f90943a66898236ec04a1ed84ce5b52feb9a4364aee.7.0.1.dev0 is the current development preview. The production-ready release
is 7.0.0, which contains the lifecycle, protocol-server, typed-memory,
privacy, automatic-capture, and modular-source features documented below.
curl -fsSLO https://raw.githubusercontent.com/Da7-Tech/mind/v7.0.0/mind.py
python3 -c "import hashlib; p=open('mind.py','rb').read(); assert hashlib.sha256(p).hexdigest() == 'ae2fc389b3b09c93cb432ab55b71063d98b400da6b18d6bc178322bc8f3fcf69'"
python3 mind.py init
git clone https://github.com/Da7-Tech/mind.git
cd mind
python3 tools/build_single.py --check
python3 mind.py init
On stock Windows, exported commands use py -3 mind.py. A Windows CI field
test converts the artifact to CRLF, runs the exported invocation verbatim, and
checks the resulting project.
| Layer | Storage | Role |
|---|---|---|
| Working memory | .mind/ACTIVE.md |
bounded hot facts and operating contract |
| Hippocampus | .mind/graph.json |
typed facts, validity, weights, relations |
| Provenance | .mind/journal.jsonl plus segments |
append-only operation history |
| Cortex | .mind/cortex/*.md |
recurring themes with owned guard blocks |
| Dreams | .mind/dreams/*.md |
human-readable maintenance receipts |
| Scheduler | .mind/scheduler.json |
bounded lease and pending-maintenance state |
| Pending queue | .mind/pending.json |
quarantined automatic captures |
Facts can be semantic, episodic, procedural, or decisions. They also carry
scope, authority, source trust, sensitivity, expiration, pinning, and optional
entity/attr slots for contradiction detection.
mind init exports a guard-marked standing-order block into AGENTS.md,
CLAUDE.md, and GEMINI.md. Existing content outside the generated block is
preserved byte-for-byte. Existing Cursor, Windsurf, Cline, and Roo rule files
are adopted when present.
Agents use:
python3 mind.py capture "durable project fact"
Automatic capture:
Dream scheduling is independent from the telemetry log. A bounded scheduler uses a lease, pending count, and recovery rules. Oversized telemetry resets safely without disabling future maintenance.
Host integrations can consume machine-readable recipes:
python3 mind.py integrations --json
python3 mind.py context --json
The recipes cover session start, durable capture, pre-compaction batch flush, session end, an optional scheduled backstop, and the protocol server.
init
--help
--version [--verbose]
remember "text"
remember --user "text"
remember --json
remember --batch
capture "text" [--trust LEVEL]
pending
approve ID
reject ID
context [--json]
suggest-user [--json]
integrations [--json]
recall "question" [--at DATE] [--explain]
confirm ID [...]
correct "old hint" "new fact"
link "a" "b" [relation]
forget ID [--reason TEXT]
unlink A B
redact ID --reason TEXT
purge ID|--match TEXT --all-traces [--confirm]
why ID
entity "term"
dream [--dry-run]
backup [label]
checkpoint [label]
restore NAME [--confirm]
compact [--dry-run] [--keep-journal-days N]
merge BASE OURS THEIRS [--output PATH] [--graph-out PATH]
doctor [--bench] [--json]
growth [--days N] [--json]
export
status
mcp
Use recall -- "-query beginning with a dash" for a dash-leading query.
Offline recall combines:
recall --explain prints direct, spread, fused, semantic, and final scores,
plus backend identity, process calls, latency, and fallback reason. Recall is a
pure read; useful hits change durability only after explicit confirm.
Directional relations such as depends-on, owned-by, and deployed-to
store truthful reverse labels while retaining bidirectional traversal.
The default remains offline. Two explicit optional protocols exist:
MIND_EMBED_CMD: one versioned batch process per ranking;MIND_EMBED_SERVER: a persistent length-framed process with handshake,
model revision, and dimension identity.Both paths have bounded output, vector dimension, cache bytes, and total ranking deadlines. A partial failure falls back the entire ranking to the offline metric; similarity spaces are never mixed.
Reference server:
export MIND_EMBED_SERVER='python3 contrib/concept_embed_server.py'
python3 mind.py recall "where are backup copies kept" --explain
The process receives the query and candidate memory text. Only configure a program you trust. The tool does not enforce that program's network isolation.
python3 mind.py mcp
The same file serves newline-delimited JSON-RPC over standard input/output. It supports initialization, ping, tool listing/calls, cancellation notifications, clean EOF shutdown, and seventeen memory, diagnostic, and privacy tools. Standard output contains protocol JSON only.
Minimal lifecycle:
initialize
notifications/initialized
tools/list
tools/call
notifications/cancelled
status separates current journal bytes from segment count and segment bytes.
compact rotates an oversized active archive, segments a current journal when
it exceeds budget or is wholly older than the requested retention horizon, and
collects stale temporary files.
Backups are plain files with a SHA-256 manifest:
python3 mind.py backup before-upgrade
python3 mind.py restore BACKUP_NAME
python3 mind.py restore BACKUP_NAME --confirm
A confirmed restore creates a pre-restore checkpoint first. Privacy rewrites also refresh backup manifests so a remediated backup remains verifiable. Restore writes an exact file plan, removes later managed files, and resumes an interrupted plan before normal memory loading.
forget removes a fact from retrieval but keeps an auditable tombstone.unlink removes a relation without deleting its endpoints.redact replaces payloads with a digest and reason across managed stores.purge inventories first; --confirm irreversibly removes payload and node
identifiers from graph, journals, archives, dreams, cortex, exports, queues,
receipts, and backups.Redaction and purge use a crash-resumable outbox. Exact-byte tests search every managed artifact after completion. Secrets should still never be stored: remediation is a last resort, not a secret manager.
Journal format v2 adds UTC epoch-nanosecond time and stable event IDs. The three-way merge command deduplicates suffix events, orders them deterministically, and can replay the merged journal into a graph:
python3 mind.py merge BASE OURS THEIRS --output MERGED --graph-out GRAPH
Example merge driver:
[merge "mind-journal"]
name = deterministic mind journal merge
driver = python3 mind.py merge %O %A %B --output %A
.mind/journal.jsonl merge=mind-journal
On Windows, replace python3 with py -3.
python3 mind.py doctor --bench
python3 mind.py growth --days 30
python3 mind.py suggest-user
doctor checks storage boundaries, recovery outboxes, scheduler leases,
duplicate export guards, BOM/CRLF handling, stale temporary files, backend
configuration, and clock anomalies. Its optional personal benchmark appends a
local recall history.
growth derives learned, confirmed, corrected, forgotten, dreamed, promoted,
and conflict counts from journal and dream truth. The latest bounded
consolidation receipt is visible in every generated ACTIVE.md.
Every public result is JSON tied to an immutable input, source identity, backend identity, and exact command.
| Result | Cur