Skip to content
Agent Memory
Skill

/macrodata-memory-maintenance

End of day memory maintenance. Runs distillation, updates state files, prunes stale info. Runs in background with no user interaction.

BOOST
From plugin
macrodata
1208 skills
Install
$ npx -y skills add ascorbic/macrodata --skill macrodata-memory-maintenance --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/macrodata-memory-maintenance

Context preview

The summary Claude sees to decide when to auto-load this skill.

End of day memory maintenance. Runs distillation, updates state files, prunes stale info. Runs in background with no user interaction.

SKILL.md

macrodata-memory-maintenance.SKILL.md
name: macrodata-memory-maintenance
description: End of day memory maintenance. Runs distillation, updates state files, prunes stale info. Runs in background with no user interaction.

Memory Maintenance

Scheduled maintenance to keep memory current and useful. Runs automatically at end of day.

**Important:** This runs in the background with no user interaction. Do not ask questions - make decisions and note uncertainties in the journal.

Process

1. Run Distillation

First, run the `macrodata-distill` skill to extract facts from today's conversations.

This processes all OpenCode sessions, spawns sub-agents for extraction, and writes distilled actions to the journal.

**Check if distill already ran today:** Use `get_recent_journal` and look for topic "distill-summary" from today.

If not found, load `macrodata-distill` skill. If already ran, skip to step 2.

2. Review Distilled Content

Use `get_recent_journal` filtered to topic "distilled" to see what was extracted.

Use these to inform state file updates.

3. State File Updates

Review each state file and update if needed:

**today.md**

  • Clear completed items
  • Note anything that carried over
  • Leave empty or minimal for morning prep to fill

**workspace.md**

  • Update active projects list based on distilled actions
  • Add/remove open threads
  • Note any blocked items or waiting-on dependencies

**human.md**

  • Any new preferences or patterns from distilled facts?
  • Communication style insights?
  • Only update if genuinely new information

4. Entity Updates

Review `entities/people/` and `entities/projects/`:

  • Integrate any facts extracted by distillation
  • Project status changes?
  • New projects to create files for?

5. Prune Stale Info

Look for outdated information:

  • Completed todos still listed as active
  • Old context that's no longer relevant
  • Temporary notes that should be removed
  • Duplicated information across files

Remove or archive as appropriate.

6. Index Maintenance

Check if indexes need rebuilding:

manage_index(target="memory", action="stats")
manage_index(target="conversations", action="stats")

If counts seem low or stale, trigger rebuild:

manage_index(target="memory", action="rebuild")
manage_index(target="conversations", action="update")

7. Journal Summary

Write a brief maintenance journal entry:

macrodata_log_journal(topic="maintenance", content="[what was updated, what was pruned, any observations]")

Note anything uncertain that should be confirmed with the user next session.

Read more
Ships withmacrodata

Give Claude Code and OpenCode persistent, self-maintaining memory and autonomous scheduling. This is experimental software. Use at your own risk.

Get the whole plugin

Other skills on macrodata.