/recall-init
Initialize the Total Recall memory system in this project.
$ npx -y skills add davegoldblatt/total-recall --agent claude-codeShips with recall. Installing the plugin gets this command.
How it fires
How this command gets triggered: by you, by Claude, or both.
- Fires itselfClaude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/recall-init
Context preview
What this command does when you run it.
Initialize the Total Recall memory system in this project.
Command definition
recall-init.mdInitialize the Total Recall memory system in this project.
What To Do
Create the following directory structure and files. If any already exist, skip them (do not overwrite).
Directory Structure
memory/
├── SCHEMA.md
├── daily/
├── registers/
│ ├── _index.md
│ ├── people.md
│ ├── projects.md
│ ├── decisions.md
│ ├── preferences.md
│ ├── tech-stack.md
│ └── open-loops.md
└── archive/
├── projects/
└── daily/Plus at the project root:
- `CLAUDE.local.md` — working memory (auto-loaded, gitignored)
CLAUDE.local.md (Working Memory)
If CLAUDE.local.md does not exist, create it:
# Working Memory
> This is your working memory. Auto-loaded every session via CLAUDE.local.md.
> ~1500 word limit. Only behavior-changing facts earn a place here.
> Last updated: [today's date]
## Active Context
**Current Focus**: [not yet set]
**Key Deadline**: [none]
**Blockers**: [none]
## Project State
[No projects tracked yet. Use /recall-write to start capturing.]
## Critical Preferences
- [None captured yet]
## Key Decisions in Effect
- [None captured yet]
## People Context
- [None captured yet]
## Open Loops
- [None yet]
## Session Continuity
[Fresh install — no prior sessions.]
---
*For detailed history, see memory/registers/*
*For daily logs, see memory/daily/*
Also add `CLAUDE.local.md` to `.gitignore` if not already there (it contains personal memory).
memory/SCHEMA.md
Create the full schema documentation that teaches Claude how the memory system works. Include:
1. The four-tier architecture (daily logs → registers → working memory → archive) 2. Write gate rules ("Does this change future behavior?") 3. Read rules (what's auto-loaded vs on-demand) 4. Routing table (triggers and destinations) 5. Contradiction protocol (never silently overwrite, mark superseded) 6. Correction handling (highest priority writes, propagate to all tiers) 7. Maintenance cadences (immediate, end-of-session, periodic, quarterly) 8. Note that working memory is in CLAUDE.local.md (auto-loaded) and protocol is in .claude/rules/total-recall.md (auto-loaded)
Register Templates
Create each register file with its header and empty structure. Each should have a descriptive comment explaining when it gets loaded and what belongs in it.
memory/registers/_index.md
# Register Index
> Lists all registers and when to load them. Read on session start.
| Register | Load When | Contains |
|----------|-----------|----------|
| people.md | A person is mentioned | Roles, preferences, contact context |
| projects.md | A project is discussed | State, goals, decisions, blockers |
| decisions.md | Past choices are questioned | Decisions with rationale and outcomes |
| preferences.md | Task involves user style | Code style, communication, workflow prefs |
| tech-stack.md | Technical choices come up | Languages, frameworks, tools, constraints |
| open-loops.md | Every session (auto) | Active follow-ups, deadlines, commitments |
Today's Daily Log
Create `memory/daily/[today's date].md` with the daily log template.
Output
After creating everything, display a summary:
Total Recall initialized.
Created:
CLAUDE.local.md (working memory — auto-loaded every session)
memory/SCHEMA.md (protocol docs — loaded every session)
memory/daily/[date].md (today's daily log)
memory/registers/ (6 domain registers + index)
memory/archive/ (for completed/superseded items)
Protocol: .claude/rules/total-recall.md (auto-loaded)
Hooks: SessionStart + PreCompact (if configured)
Quick start:
/recall-write <note> Save something to memory (→ daily log first)
/recall-search <query> Find in memory
/recall-status Check memory health
/recall-promote Promote daily log entries to registers
Read more
Initialize the Total Recall memory system in this project.
What To Do
Create the following directory structure and files. If any already exist, skip them (do not overwrite).
Directory Structure
memory/
├── SCHEMA.md
├── daily/
├── registers/
│ ├── _index.md
│ ├── people.md
│ ├── projects.md
│ ├── decisions.md
│ ├── preferences.md
│ ├── tech-stack.md
│ └── open-loops.md
└── archive/
├── projects/
└── daily/Plus at the project root:
- `CLAUDE.local.md` — working memory (auto-loaded, gitignored)
CLAUDE.local.md (Working Memory)
If CLAUDE.local.md does not exist, create it:
# Working Memory > This is your working memory. Auto-loaded every session via CLAUDE.local.md. > ~1500 word limit. Only behavior-changing facts earn a place here. > Last updated: [today's date] ## Active Context **Current Focus**: [not yet set] **Key Deadline**: [none] **Blockers**: [none] ## Project State [No projects tracked yet. Use /recall-write to start capturing.] ## Critical Preferences - [None captured yet] ## Key Decisions in Effect - [None captured yet] ## People Context - [None captured yet] ## Open Loops - [None yet] ## Session Continuity [Fresh install — no prior sessions.] --- *For detailed history, see memory/registers/* *For daily logs, see memory/daily/*
Also add `CLAUDE.local.md` to `.gitignore` if not already there (it contains personal memory).
memory/SCHEMA.md
Create the full schema documentation that teaches Claude how the memory system works. Include:
1. The four-tier architecture (daily logs → registers → working memory → archive) 2. Write gate rules ("Does this change future behavior?") 3. Read rules (what's auto-loaded vs on-demand) 4. Routing table (triggers and destinations) 5. Contradiction protocol (never silently overwrite, mark superseded) 6. Correction handling (highest priority writes, propagate to all tiers) 7. Maintenance cadences (immediate, end-of-session, periodic, quarterly) 8. Note that working memory is in CLAUDE.local.md (auto-loaded) and protocol is in .claude/rules/total-recall.md (auto-loaded)
Register Templates
Create each register file with its header and empty structure. Each should have a descriptive comment explaining when it gets loaded and what belongs in it.
memory/registers/_index.md
# Register Index > Lists all registers and when to load them. Read on session start. | Register | Load When | Contains | |----------|-----------|----------| | people.md | A person is mentioned | Roles, preferences, contact context | | projects.md | A project is discussed | State, goals, decisions, blockers | | decisions.md | Past choices are questioned | Decisions with rationale and outcomes | | preferences.md | Task involves user style | Code style, communication, workflow prefs | | tech-stack.md | Technical choices come up | Languages, frameworks, tools, constraints | | open-loops.md | Every session (auto) | Active follow-ups, deadlines, commitments |
Today's Daily Log
Create `memory/daily/[today's date].md` with the daily log template.
Output
After creating everything, display a summary:
Total Recall initialized. Created: CLAUDE.local.md (working memory — auto-loaded every session) memory/SCHEMA.md (protocol docs — loaded every session) memory/daily/[date].md (today's daily log) memory/registers/ (6 domain registers + index) memory/archive/ (for completed/superseded items) Protocol: .claude/rules/total-recall.md (auto-loaded) Hooks: SessionStart + PreCompact (if configured) Quick start: /recall-write <note> Save something to memory (→ daily log first) /recall-search <query> Find in memory /recall-status Check memory health /recall-promote Promote daily log entries to registers
A memory system for Claude Code that remembers what matters and forgets what doesn't.
Other commands on recall.
- /recall-context
Show what memory context is currently available in this session.
Open command - /recall-forget
Mark memory entries matching a query as superseded. Does not delete — preserves history.
Open command - /recall-init-ids
Add `^tr` IDs to untagged memory entries in managed files. This is safe to run multiple times - it only tags entries that don't already have IDs.
Open command - /recall-log
Quick append to today's daily log. No write gate — raw capture.
Open command - /recall-maintain
Run maintenance on the memory system. Primary function: pressure-based demotion when working memory exceeds the word budget. Secondary: stale entry verification, contradiction checks, open loop review.
Open command - /recall-promote
Review recent daily logs and surface candidates for promotion to registers or CLAUDE.local.md.
Open command

