Get the FREE Ultimate OpenClaw Setup Guide →

Recall Status

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

Show the health and status of the memory system.

What To Do

1. Check Memory System Exists

If CLAUDE.local.md and memory/ directory don't exist:

Memory system not initialized. Run /recall-init to set up.

2. Gather Metrics

CLAUDE.local.md (Working Memory):

  • Word count (target: under 1500)
  • Last updated date
  • Number of open loops listed

Daily Logs (memory/daily/):

  • Total number of files
  • Date range (oldest to newest)
  • Total size
  • Entries in last 7 days

Registers (memory/registers/):

  • Number of register files
  • Total size
  • Count entries with last_verified dates older than 30 days (stale)
  • Count entries marked [superseded]

Archive (memory/archive/):

  • Number of files
  • Total size

Entry IDs (memory/.recall/metadata.json):

  • Count entries with ^tr IDs (tagged) vs without (untagged) across managed files (CLAUDE.local.md, registers, archive)
  • Count metadata.json entries total
  • Count pinned entries
  • Count snoozed entries (with active snooze)
  • Count superseded entries

Hooks:

  • Check .claude/settings.json or .claude/settings.local.json for SessionStart and PreCompact hook config

3. Display Status

Memory System Status
────────────────────

Working Memory:  [N] words ([N]% of 1500 limit)
  (CLAUDE.local.md)  Last updated: [date]
                     Open loops: [N]

Protocol:        .claude/rules/total-recall.md ✓
Schema:          memory/SCHEMA.md ✓

Daily logs:      [N] files, [size] total
                 Range: [oldest] → [newest]
                 Last 7 days: [N] entries

Registers:       [N] files, [size] total
                 Stale entries (>30 days): [N]
                 Superseded entries: [N]

Archive:         [N] files, [size] total

Entry IDs:       [N] tagged / [M] untagged
                 metadata.json: [N] entries
                 Pinned: [N], Snoozed: [N], Superseded: [N]

Hooks:
  SessionStart   [✓ configured / ✗ not configured]
  PreCompact     [✓ configured / ✗ not configured]

4. Recommendations

Based on metrics, suggest actions:

  • If working memory > 1200 words: "Working memory approaching limit — consider archiving stale items"
  • If stale entries > 0: "Run /recall-maintain to verify [N] stale entries"
  • If no daily log in 3+ days: "No recent daily logs — memory capture may have gaps"
  • If open loops > 5: "Consider reviewing open loops — some may be resolved"
  • If registers are empty: "Registers are empty — use /recall-promote to populate from daily logs"
  • If working memory stale (7+ days): "Working memory may be stale — review for accuracy"
  • If hooks not configured: "Consider configuring SessionStart/PreCompact hooks for automated memory loading and flush"
  • If untagged entries > 0: "Run /recall-init-ids to tag [N] untagged entries (required for /recall-maintain)"
  • If superseded entries in metadata > 0: "Run /recall-maintain to clean up [N] superseded entries"

Source

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

Overview

Recall Status surfaces the health and status of the memory system by aggregating metrics from CLAUDE.local.md, memory/daily, memory/registers, memory/archive, and metadata. It highlights word counts, stale entries, hook configuration, and tagged vs untagged IDs, and then offers concrete recommendations to maintain accuracy and performance.

How This Skill Works

It first checks that the memory system exists (CLAUDE.local.md and the memory directory). If missing, it prompts to run /recall-init. It then gathers metrics across components: Working Memory word count and last updated date; daily logs (file count, date range, total size, and 7-day entries); registers (file count, total size, stale entries, and superseded); archive file count and size; and metadata.json counts for tagged vs untagged IDs. It also checks hook configuration in .claude/settings.json or settings.local.json and finally renders a status block with actionable recommendations.

When to Use It

  • Before auditing memory health after a long-running session or updates
  • When CLAUDE.local.md or memory directory is missing to determine initialization needs
  • To verify daily capture continuity and detect gaps in memory logs
  • To assess consistency of IDs and metadata for recall maintenance
  • To decide whether hooks (SessionStart/PreCompact) are configured and functioning

Quick Start

  1. Step 1: Ensure memory system exists; if not, run /recall-init.
  2. Step 2: Run Recall Status to display health metrics and the status panel.
  3. Step 3: Implement recommended actions (e.g., /recall-maintain, /recall-init-ids, /recall-promote) based on the report.

Best Practices

  • Schedule regular Recall Status checks after major memory operations
  • Keep CLAUDE.local.md under 1500 words; archive or promote as needed
  • Monitor daily logs for gaps (no activity for 3+ days)
  • Track open loops and aim to keep them manageable (≤5)
  • Tag entries consistently and run /recall-maintain or /recall-init-ids as needed

Example Use Cases

  • New deployment shows CLAUDE.local.md present but memory gaps exist; Recall Status highlights 2 stale entries and no daily logs in 2 days
  • Status reports 1200 words in Working Memory, with 6 open loops and 1 superseded entry; action: run /recall-maintain and review loops
  • No hooks configured (SessionStart/PreCompact); configure to automate memory loading and flushing
  • Many untagged entries detected in metadata.json; run /recall-init-ids to tag the entries
  • Archive shows 8 files and 3 MB; decide whether to prune or archive older items

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers