Skip to content
Development
Skill

/recall-init

Scaffold the Total Recall memory directory structure in this project.

From plugin
davegoldblatt-recall
20210 skills10 commands2 hooks

Claude Code

$ npx -y skills add davegoldblatt/total-recall --skill recall-init --agent claude-code

SKILL.md

recall-init.SKILL.md
description: Scaffold the Total Recall memory directory structure in this project.
disable-model-invocation: true

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
Read more
@davegoldblatt
Ships withdavegoldblatt-recall

A memory system for Claude Code that remembers what matters and forgets what doesn't.

Stars on GitHub

Momentum

stars in total
202
Star history of davegoldblatt/total-recall on GitHub, a chart by star-history.com

Other skills on davegoldblatt-recall.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc11d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about recall-init.

Which coding agents can use recall-init?
recall-init installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.