Get the FREE Ultimate OpenClaw Setup Guide →

Recall Promote

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

Review 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:

  1. Write to the destination with proper metadata (claim, confidence, evidence, last_verified)
  2. Do NOT remove from daily log (daily logs are append-only history)
  3. Check for contradictions with existing entries before writing
  4. Assign a durable ID: For single-line list items promoted to CLAUDE.local.md or registers, append a ^tr ID (10 random lowercase hex chars). Create or update memory/.recall/metadata.json with an entry for the new ID (created_at, last_reviewed_at = now, pinned: false, snoozed_until: null, status: "active", tier from destination file). Create memory/.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

  1. Step 1: Gather recent logs from memory/daily/YYYY-MM-DD.md for the last 7 days
  2. Step 2: Evaluate each entry for promotion to CLAUDE.local.md or the appropriate register
  3. 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

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers