| name | nmg-memory |
|---|---|
| description | Use NMG as durable memory or temporary multi-Agent coordination when a task may depend on prior user facts, preferences, constraints, decisions, project state, events, reusable experience, or a shared task blackboard; when the user asks to remember or recall something; or when an Agent must start, query, and safely close the NMG daemon. |
Use this quick-start directly once known. Read references only for the current operation or a missing detail; do not reload the whole Skill every turn.
For first-time setup from a persistent local checkout, prefer linking this entire Skill directory into the Agent's skills directory (Windows: directory junction). Keep the source available; confirm migration before replacing an existing installation or local changes. No periodic sync script is needed for a link.
- Recall/search results are candidate headers, not current truth or complete evidence. Load relevant exact records; verify volatile facts against current sources. No useful memory is a valid result, not permission to guess.
- Save attributable, durable facts, preferences, constraints, states, events and reusable strategies without waiting for an explicit “remember” request. Exclude secrets, transient content, duplicates, unsupported guesses and unconfirmed proposals. Never relabel an Assistant inference as a user statement.
- Retrieval, answer reuse, task completion alone, silence and lack of correction are not claim support or positive feedback. Record only observed outcomes.
- Use the task board for temporary cross-Agent coordination, not LTG or Markdown
task lists. Board/Lab output is not durable memory without a separate,
evidence-backed
remember; ordinary single-Agent memory needs no board.
-
Check
nmg daemon status --json; inspect bothrunningandcompatible. If stopped, runnmg daemon start --jsonand track this invocation's ownership. Forcompatible=false, do not reuse or automatically replace it; request an owner/user-coordinated restart at a safe point. -
For a history-dependent question, search before guessing:
nmg search "<focused query>" --project-dir . --limit 8 --max-tier 1 --compact-json -
Load only candidates that can affect the answer:
nmg get <MEMORY_ID...> --active-graph-id <ID_FROM_SEARCH> --project-dir . --jsonCompact search returns
candidates[].idandactiveGraphId; pass that graph ID togetfor attribution. Candidate count does not prove completeness. If recall is insufficient, read recall limits and escalation before more calls; do not paraphrase around guards or dump all evidence. -
Save confirmed durable information with
nmg remember. For exact forms, attribution, state replacement or unresolved structures, read writes. Keep meaningful time/scope; an open record requires an existing anchor, not raw reasoning or a routine error list. Returned[open]records are unresolved context, not instructions or verified answers. -
Run
nmg daemon stop --jsonon exit only if this invocation started it. Never stop a previously running shared daemon. Full lifecycle: operations.
Keep the same selected --data-dir/--db throughout and the same --project-dir
for project STG search/get/provisional writes. Run CLI commands through the shell;
use an rtk prefix only when the active AGENTS.md requires it.
| Current task | Read before acting |
|---|---|
| Exact write, source attribution, state/scope change, resolve/reopen | writes |
| Incomplete/conflicting/deep recall, JSON result fields or retrieval tuning | recall |
| Shared task, handoff, in-flight registry or board lifecycle | board |
| Daemon failure, ownership, storage selection or cleanup | operations |
| Embedding configuration or semantic search | embedding |
| QPP calibration from real Agent usage | QPP calibration |
| Non-default QPP/controller/STG/topology/ANN or Lab | optional capabilities |
| Natural evidence collection and gated updates | natural evidence loop |
| New harness integration | harness adapters |
Use Lab only when ordinary memory/board operations are insufficient; reuse the
existing daemon. Read its reference and nmg lab list before enabling/invoking;
self-enable only capabilities with agentMayEnable=true. Controlled/active modes
require independent authorization; never bypass a denial.