Get the FREE Ultimate OpenClaw Setup Guide →

Recall Forget

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

Mark memory entries matching a query as superseded. Does not delete — preserves history.

Query to forget: $ARGUMENTS

What To Do

1. Search for Matching Entries

Search across all memory tiers for content matching the query:

  • memory/CLAUDE.local.md
  • memory/registers/*.md
  • memory/daily/*.md

2. Show Matches

Found [N] entries matching "[query]":

1. [CLAUDE.local.md] "Prefers dark mode for all mockups"
2. [registers/preferences.md] "Dark mode preference (confidence: high, 2026-01-10)"
3. [daily/2026-01-10.md] "[14:00] User said they prefer dark mode"

3. Confirm with User

Mark these as superseded? This won't delete them — they'll be annotated as no longer current.

[a]ll / select by number / [c]ancel

4. Execute

For each confirmed entry:

In registers: Mark as superseded with date

## [superseded: 2026-02-05]
- **claim**: Prefers dark mode for all mockups
- **superseded_by**: User requested removal via /recall-forget
- **original_date**: 2026-01-10

In CLAUDE.local.md: Remove the entry entirely (working memory should only contain current facts)

In daily logs: Add a note but don't modify the original entry (daily logs are historical record)

[HH:MM] [superseded] "Prefers dark mode" — marked as no longer current via /recall-forget

5. Update Metadata

If any superseded entry has an inline ^tr ID:

  1. Load memory/.recall/metadata.json (if it exists)
  2. For each entry with an ID, set status: "superseded" and update last_reviewed_at to now
  3. Write metadata.json with sorted keys and 2-space indentation

Entries without IDs are handled as before (no metadata update).

6. Confirm

Superseded [N] entries for "[query]".
Memory updated across [N] files.
Metadata updated: [N] entries marked superseded.

Source

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

Overview

Recall Forget marks matching memory entries as superseded rather than deleting them, preserving a traceable history. It searches across memory tiers (CLAUDE.local.md, registers, and daily logs), presents matches, and updates relevant sections to reflect current status while keeping past data accessible for context.

How This Skill Works

It scans multiple memory sources for a query, lists matches, and asks for confirmation. Upon approval, it annotates registers with a superseded entry, removes the old item from CLAUDE.local.md, and sketches a superseded note in daily logs; if any entries carry inline IDs, it updates memory/.recall/metadata.json to flag status and last_reviewed_at.

When to Use It

  • You need to forget an outdated user preference or claim while preserving an auditable trail.
  • A memory entry across multiple tiers must be marked no longer current without loss of history.
  • You want to correct a mistaken memory and ensure all sources reflect the change.
  • A query affects several files (registers, local memory, and daily logs) and you want consistent superseding across them.
  • You require metadata updates for superseded entries that contain inline IDs to support future reviews.

Quick Start

  1. Step 1: Search for Matching Entries across memory/CLAUDE.local.md, memory/registers/*.md, and memory/daily/*.md using your query.
  2. Step 2: Review and confirm which entries to supersede; choose [a]ll or [c]ancel, or select by number.
  3. Step 3: Execute: update registers with a superseded block, remove the CLAUDE.local.md entry, annotate daily logs, and update metadata if IDs exist.

Best Practices

  • Use precise, narrowly scoped queries to minimize unintended superseding.
  • Review all matched entries before confirmation to avoid overreach.
  • Follow the template when superseding in registers to capture original_date and superseded_by.
  • Do not delete from daily logs; instead, add a superseded note to preserve history.
  • If IDs exist, run the metadata update step to reflect status and last_reviewed_at.

Example Use Cases

  • Query: 'prefers dark mode' superseded across CLAUDE.local.md, registers, and daily logs with a superseded block in registers.
  • Obsolete notification setting superseded; CLAUDE.local.md entry removed, daily logs annotated.
  • Incorrect feature-availability claim superseded; metadata updated for tracked entries.
  • Policy change applied: multiple related entries across tiers marked superseded with consistent notes.
  • Superseded entries consolidated into memory/.recall/metadata.json with status set to superseded and updated timestamp.

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers