Mindcache

Skill

Give agents a clean path to the real memory runtime.

This skill teaches an agent how to use the standalone `mindcache-memory` CLI instead of confusing the website demo with the actual Rust core. It is the right entry point for local ingestion, atom extraction, daily writeups, topic-tree-first retrieval, and digest workflows.

Mindcache Memory CLI

Use this skill when the task is about the real Rust memory runtime in mindcache-memory/.

Do not use the public website demo as if it were the real runtime. The demo is only a guided simulation.

Project Boundary

The runtime lives here:

mindcache-memory/

Treat it as a separate project from the company website.

Default Workflow

Prefer the installed binary when available:

mindcache-memory <command> ...

If the binary is not installed yet, the most direct installation path today is:

source "$HOME/.cargo/env"
cd mindcache-memory
cargo install --path crates/memory-cli --bin mindcache-memory --force

If you are working from source, operate inside:

cd mindcache-memory

Preferred workflow:

  1. initialize a SQLite database
  2. import source material
  3. inspect atom nodes or source inputs
  4. run daily digest
  5. inspect daily writeups and topics

Key Commands

Initialize

mindcache-memory init ./demo.sqlite3

Import text

mindcache-memory import text "Met with a friend in Singapore to discuss a memory runtime." ./demo.sqlite3

This classifies the input as snippet, resource, or writeup, then extracts atom memory nodes:

  • fact
  • event
  • plan

Import markdown

mindcache-memory import markdown ./notes/example.md ./demo.sqlite3

Import calendar

mindcache-memory import calendar ./calendar/sample.ics ./demo.sqlite3

Search exact

mindcache-memory search exact "memory runtime" ./demo.sqlite3 --limit 5

Search semantic

mindcache-memory search semantic "topic recall" ./demo.sqlite3 --limit 5

Search topic tree

mindcache-memory search topics "memory runtime" ./demo.sqlite3 --limit 5

Inspect atom surface

mindcache-memory inspect list graph ./demo.sqlite3 --json

Inspect atom nodes

First list nodes:

mindcache-memory inspect list nodes ./demo.sqlite3

Then inspect one atom node:

mindcache-memory inspect node <node_id> ./demo.sqlite3

Run digest

mindcache-memory digest daily ./demo.sqlite3

This now performs:

  1. daily writeup generation
  2. atom reconciliation (keep / add / modify / delete)
  3. topic-tree maintenance

Inspect daily writeups

mindcache-memory inspect list daily-writeups ./demo.sqlite3 --json

Inspect topics

mindcache-memory inspect list topics ./demo.sqlite3

Topic search is the primary retrieval structure. The graph/atom surface is secondary and mainly useful for debugging, inspection, and leaf-level detail.

Working Rules

  • Prefer the installed binary over cargo run when it exists.
  • If no binary is installed yet, fall back to building from source.
  • Prefer the CLI over inventing custom scripts unless a script is clearly needed.
  • Treat the SQLite file as session state for the current task.
  • Prefer topic-first retrieval over graph-first retrieval.
  • When checking digest output after a run, inspect both daily-writeups and topics.
  • Be explicit about which database path you are using.

What To Avoid

  • Do not assume the website demo is runtime-backed.
  • Do not describe the Rust runtime as multi-user or cloud-ready.
  • Do not require cargo run if a compiled binary is already available.
  • Do not mix website storage with mindcache-memory runtime state unless the user explicitly wants that integration.
  • Do not describe the current runtime as entity-first or graph-first.
  • Do not describe resource or writeup as atom memory nodes.

Good Default Pattern

When the user wants to try the runtime locally:

  1. create ./demo.sqlite3
  2. import one or two text snippets
  3. inspect the extracted atom nodes
  4. run daily digest
  5. inspect the resulting daily writeups and topic tree

This gives the cleanest first contact with the system.

Fallback Developer Path

If the binary is not installed yet, build from source:

cd mindcache-memory
cargo build --release
./target/release/mindcache-memory init ./demo.sqlite3