bootstrap
Scaffolds the core-memory-kit directory structure (context/, scripts/, cron/jobs/) into the current project. Idempotent — never overwrites existing files. Run…
Captures a durable fact to project memory through the kit's safe write path (Poison_Guard secret/injection screening + home-path sanitization + dedup + conflict detection) — preferring the cmk MCP tools (mk_remember / mk_forget / mk_trust) when connected, falling back to the cmk
$ npx -y skills add LH8PPL/core-memory-kit --skill memory-write --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/memory-writeContext preview
The summary Claude sees to decide when to auto-load this skill.
Captures a durable fact to project memory through the kit's safe write path (Poison_Guard secret/injection screening + home-path sanitization + dedup + conflict detection) — preferring the cmk MCP tools (mk_remember / mk_forget / mk_trust) when connected, falling back to the cmk
name: memory-write
description: >-
Captures a durable fact to project memory through the kit's safe write path
(Poison_Guard secret/injection screening + home-path sanitization + dedup +
conflict detection) — preferring the cmk MCP tools (mk_remember / mk_forget /
mk_trust) when connected, falling back to the cmk CLI. Use when the user says
"remember this", "note this", "save this", "from now on", "going forward",
"I prefer", "I don't like", "we decided", "we agreed", or otherwise states a
durable preference, decision, or environment fact worth carrying across
sessions. Also covers correcting a saved fact ("update memory: X is now Y"),
removing one ("forget about X"), and adjusting how much a saved fact is trusted
("trust this", "that's important — keep it", "that's not important / I'm not
sure about that / low priority"). Skip throwaway chatter and facts that only
matter to the current task.
allowed-tools: mcp__cmk__mk_remember mcp__cmk__mk_forget mcp__cmk__mk_trust Bash(cmk remember *) Bash(cmk forget *) Bash(cmk trust *) ReadDurable facts — preferences, decisions, environment state — are saved through the kit's safe write path (Poison_Guard secret screening + home-path sanitization + dedup + conflict detection).
`context/memory/`. Direct edits bypass screening and can leak a credential or a local path into a committed file.
There are two equivalent surfaces onto the same safe path. **Prefer the MCP tools when the `cmk` server is connected** — params are structured data, so backtick / `$()` / quote-heavy rationale can't be mangled by a shell, and there's no per-command approval prompt.
rule, or constraint, also pass `why`, `how`, `title`, and `type` — this writes a rich Why/How fact file, not just a bullet.
previews what would be removed and returns a `confirm_token`; call again with that token to tombstone (audit trail preserved). Confirm with the user first.
`medium`, or `high`. Use when the user signals how much a saved fact matters: "trust this" / "that's important — keep it" → `high`; "that's not important / I'm not sure / low priority" → `low`. Trust drives what gets injected first and what ages out, so this is the user steering their own memory without editing files.
`type` is one of:
Capture a bullet:
cmk remember "<the fact, one sentence>"
Pick a section for facts that are not active work:
cmk remember "<fact>" --section "Environment Notes"
Sections: `Active Threads` (default), `Environment Notes`, `Pending Decisions`.
Capture WITH rationale (preference, working-style rule, project constraint):
cmk remember "<headline>" --type <type> --why "<why it holds>" --how "<how to apply it>" --title "<short title>"
For backtick / quote-heavy rationale, pass it off-shell as a JSON object so the shell can't corrupt it (the D-81 fix):
cmk remember --from-file fact.json
Remove a fact (after confirming with the user — never remove one they did not ask to forget):
cmk forget "<substring or citation id>" --yes --reason "<why>"
Tombstones the fact — it keeps an audit trail and is never a silent delete.
Adjust how much a saved fact is trusted (`<id>` comes from `cmk search`):
cmk trust <id> <low|medium|high>
Memory files are **committed to the repo**, so a teammate's CI may lint them. When you write a fact body (the `--why` / `--how` text, or any prose you capture), keep it lint-clean markdown so it doesn't trip a default linter:
under a bullet uses four spaces:
- top-level point
- sub-point (4-space indent)a bare `https://…` in prose (MD034).
leave **two blank lines** in a row (MD012).
This is guidance for the body TEXT you pass. The kit's own structure (the bullet line, the provenance comment, the frontmatter) is already lint-clean by construction — you only control the prose.
do not lean on it as the first line of defense.
Persistent per-project memory for Claude Code, Kiro, Cursor & Codex - plain markdown committed with your code, captured prompt-free, auto-injected at session start, recalled by meaning (local semantic search, zero API). Cross-project persona, cited recall, searchable session history.
Repo: LH8PPL/core-memory-kit
Scaffolds the core-memory-kit directory structure (context/, scripts/, cron/jobs/) into the current project. Idempotent — never overwrites existing files. Run…
Searches the project's recorded memory (core-memory-kit) — decisions, conventions, architecture, the reasoning behind choices, and where things live — and…
Diagnoses and repairs core-memory-kit itself when the memory system is broken — the per-failure-code repair book. Fire whenever a "⚠ [core-memory-kit]" whisper…