Get the FREE Ultimate OpenClaw Setup Guide →

Recall Init

Scanned
npx machina-cli add skill davegoldblatt/total-recall/recall-init --openclaw
Files (1)
SKILL.md
4.0 KB

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

Source

git clone https://github.com/davegoldblatt/total-recall/blob/main/skills/recall-init/SKILL.mdView on GitHub

Overview

Sets up the Total Recall memory structure for a project. It creates a four-tier system (daily logs, registers, working memory, archive), adds CLAUDE.local.md for live context, and provides schema and register templates to guide memory capture and retrieval.

How This Skill Works

The skill creates the memory directory structure (memory/ with SCHEMA.md, daily/, registers/ with _index.md and templates, and archive/ structure) plus CLAUDE.local.md at the project root. It also provides a memory/SCHEMA.md with protocol details and ensures the auto-loaded protocol at .claude/rules/total-recall.md is wired up; session hooks like SessionStart/PreCompact are configured if available.

When to Use It

  • Starting a new project that needs a built-in memory scaffold.
  • Standardizing registers (people, projects, decisions, preferences, tech-stack, open-loops).
  • Preparing CLAUDE.local.md as working memory to auto-load every session.
  • Ensuring a dated daily log exists at memory/daily for capture.
  • Setting up auto-loaded protocol and memory hooks for recall workflows.

Quick Start

  1. Step 1: Scaffold the memory structure (memory/ with SCHEMA.md, daily/, registers/, archive/ and CLAUDE.local.md at root).
  2. Step 2: Create memory/registers/_index.md and per-register templates, and add CLAUDE.local.md to .gitignore if missing.
  3. Step 3: Start using recall commands (e.g., /recall-write, /recall-search, /recall-status, /recall-promote) to capture and organize memory.

Best Practices

  • Do not overwrite existing files; skip rather than overwrite if something already exists.
  • Keep CLAUDE.local.md updated to reflect current context and focus.
  • Document load rules in memory/SCHEMA.md and follow the four-tier architecture.
  • Use memory/registers/_index.md as a reference for available registers and loading triggers.
  • Regularly review and test recall commands to verify data flows to daily logs and registers.

Example Use Cases

  • Bootstrapping a fresh project with a complete memory scaffold (CLAUDE.local.md, SCHEMA, daily log, and registers).
  • Rebuilding memory after a reset to restore the standard directory layout and load rules.
  • Auditing and updating registers like people.md, projects.md, and decisions.md to reflect current context.
  • Capturing daily progress in memory/daily with a date-stamped log and using /recall-write to append.
  • Promoting verified daily entries to registers via recall-promote to keep long-term memory current.

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers