Recall Status
Scannednpx machina-cli add skill davegoldblatt/total-recall/recall-status --openclawShow 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_verifieddates 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
^trIDs (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
- Step 1: Ensure memory system exists; if not, run /recall-init.
- Step 2: Run Recall Status to display health metrics and the status panel.
- 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