| name | memory-pass |
| description | Use when memory entries may be stale - after a 7+ day session gap, after a close, block, or unblock event, or when a person or project mentioned in conversation contradicts an existing memory claim. Audits Active Project Context entries in MEMORY.md against brain/log.md, context/clients.md, context/decisions.md. Never touches Behavioral Guards. Say "run a memory pass", "check my memory", or "is my memory stale".
|
| why | Memory that silently goes stale is worse than no memory - a closed deal still listed as open, or a paused contact still surfaced as live, quietly skews every skill that reads it. |
| enhance | Run it after any seven-day-plus gap or any close, block, or unblock event - those are the moments memory most often drifts from what is actually true. |
| summary | Audit memory entries for stale claims after a gap or a status change. |
| allowed-tools | ["Read","Grep","Edit"] |
| mcp_requirements | [] |
Memory Pass
Runs on: local-writes - creates or edits files in your OS folder; needs an agent with write access.
Cross-checks Active Project Context memory entries against current file state. Surfaces contradictions, proposes targeted edits, writes nothing without confirmation.
Failure this addresses: the agent loads MEMORY.md and treats every entry as current. A memory line says a relationship is "paused" while brain/log.md shows you re-opened it last week. A memory line says a deal is "exploratory" while the log shows it closed the same day. Neither contradiction surfaces until you mention it. This skill makes the contradiction visible before it costs you.
Where memory lives
The auto-memory file is at ~/.claude/projects/<project-slug>/memory/MEMORY.md, set up by /founder-os:setup. The <project-slug> is the path-encoded form of your repo location. If you do not know the exact path, ask the operator to confirm it before reading, or check the templates/memory/MEMORY.md structure to recognise the section headers.
MEMORY.md is organised into sections. This skill only ever touches Active Project Context.
When to run
- Any session where the operator mentions someone whose status feels different from what memory says
- First session after a 7+ day gap
- After any close, block, unblock, or relationship reversal
- On demand when the operator asks for a memory pass.
Never run on: Behavioral Guards (permanent TTL - these are rules, not factual claims about current state).
Protocol
1. Load Active Project Context
Read MEMORY.md. Collect every entry under ## Active Project Context. Each entry has a linked file and a load if: condition.
2. Check each entry
For person-centric entries (a named prospect, client, or contact):
- Grep
brain/log.md for the person's name - read the 3 most recent matching ### headers
- Read their row in
context/clients.md (and context/leads.md if your install uses a separate leads file) for stage and last touch
- Check
brain/flags.md for any open flag mentioning them
For project-centric entries (a build, a campaign, an initiative):
- Grep
brain/log.md for the project slug - read the 3 most recent headers