Recall Promote
Scannednpx machina-cli add skill davegoldblatt/total-recall/recall-promote --openclawReview recent daily logs and surface candidates for promotion to registers or CLAUDE.local.md.
What To Do
1. Gather Recent Logs
Read all daily log files from the last 7 days (memory/daily/YYYY-MM-DD.md).
If no daily logs exist, tell the user:
No daily logs found. Use /recall-write or /recall-log to start capturing.
2. Identify Promotion Candidates
Scan each entry and evaluate:
Promote to CLAUDE.local.md if:
- Active commitment or deadline that affects every session
- Behavioral preference that changes default output
- Current project state that's essential context
Promote to a register if:
- Decision with rationale → decisions.md
- Person context → people.md
- Technical choice → tech-stack.md
- Preference with staying power → preferences.md
- Project milestone or state change → projects.md
Skip if:
- Already captured in a register or CLAUDE.local.md
- One-off observation with no future impact
- Debugging detail or transient state
3. Present Candidates
For each candidate, show:
Candidates for promotion:
1. [2026-02-03] "Project deadline moved to March 15"
→ Suggest: CLAUDE.local.md (active commitment)
2. [2026-02-02] "Prefers tabs over spaces, 2-space indent"
→ Suggest: registers/preferences.md
3. [2026-02-01] "Decided to use Postgres over SQLite for scale"
→ Suggest: registers/decisions.md
4. Ask User
For each candidate, ask the user what to do:
- Promote — write to the suggested destination
- Register — write to a different register (ask which one)
- Skip — don't promote, leave in daily log
- Promote all — accept all suggestions at once
5. Execute
For each promoted item:
- Write to the destination with proper metadata (claim, confidence, evidence, last_verified)
- Do NOT remove from daily log (daily logs are append-only history)
- Check for contradictions with existing entries before writing
- Assign a durable ID: For single-line list items promoted to CLAUDE.local.md or registers, append a
^trID (10 random lowercase hex chars). Create or updatememory/.recall/metadata.jsonwith an entry for the new ID (created_at,last_reviewed_at= now,pinned: false,snoozed_until: null,status: "active",tierfrom destination file). Creatememory/.recall/directory if needed. Write metadata.json with sorted keys.
6. Summary
Promotion complete:
→ 2 entries promoted to registers
→ 1 entry promoted to CLAUDE.local.md
→ 1 entry skipped
CLAUDE.local.md word count: [N]/1500
Warn if CLAUDE.local.md is approaching the 1500 word limit.
Source
git clone https://github.com/davegoldblatt/total-recall/blob/main/skills/recall-promote/SKILL.mdView on GitHub Overview
Recall Promote surfaces actionable items from the last 7 days of daily logs and moves them to durable memory destinations like CLAUDE.local.md or registers. This keeps context organized and ready across sessions, improving decision-making and traceability.
How This Skill Works
It scans memory/daily/YYYY-MM-DD.md files from the last 7 days, evaluating each entry against thresholds for promotion. It then presents candidates with suggested destinations (CLAUDE.local.md or registers) and requires user input to execute, while preserving the original daily logs and preparing metadata for promoted items.
When to Use It
- You need to surface active commitments or deadlines that affect every session and promote them to CLAUDE.local.md
- You want to capture decisions, person context, technical choices, or persistent preferences into dedicated registers
- You want to avoid promoting duplicates and skip one-off observations with no future impact
- You need to promote project milestones or state changes to the appropriate project register
- You are reviewing a week's worth of logs to surface actionable, durable context for future work
Quick Start
- Step 1: Gather recent logs from memory/daily/YYYY-MM-DD.md for the last 7 days
- Step 2: Evaluate each entry for promotion to CLAUDE.local.md or the appropriate register
- Step 3: Present candidates and decide per-item action (Promote, Register, Skip, or Promote all)
Best Practices
- Always check for existing entries before promoting to avoid duplicates
- Promote to CLAUDE.local.md for active commitments or essential context, and to the correct register (e.g., decisions.md, people.md, tech-stack.md, preferences.md, projects.md) for other items
- Promote only items with future impact or lasting relevance; skip transient details
- Keep daily logs append-only and never remove promoted items from the logs
- Assign a durable ID for promoted items and maintain up-to-date metadata in memory/.recall/metadata.json
Example Use Cases
- 1) [2026-02-03] 'Project deadline moved to March 15' → CLAUDE.local.md (active commitment)
- 2) [2026-02-02] 'Prefers tabs over spaces, 2-space indent' → registers/preferences.md
- 3) [2026-02-01] 'Decided to use Postgres over SQLite for scale' → registers/decisions.md
- 4) [2026-02-04] 'John Doe onboarding note' → registers/people.md
- 5) [2026-02-05] 'Milestone reached: v2 release' → registers/projects.md