Transform large, noisy, or short-term memory into compact, durable, high-signal summaries. Activate when session memory grows large, decisions accumulate, or memory retrieval starts returning too many files.
Activate when:
This skill is both preventive and corrective.
Step 0: Enumerate categories. Read contexts/memory/index.md. List all registered categories. For each category, assess whether summarization is warranted: trigger if >5 files in the category OR estimated token count >5000 tokens OR memory-retrieve is returning too many results for this category. Skip categories that do not meet any threshold.
For each category that meets the threshold:
Identify durable information — extract confirmed decisions, stable constraints, validated assumptions, current priorities, key outcomes, known risks. Ignore brainstorming noise, intermediate reasoning, abandoned ideas.
Compress into structured summary — use the template below. Prefer bullets over prose.
Archive raw memory — move original files to contexts/memory/archive/{category}-{YYYY-MM-DD}.archive.md. Concatenate multiple files from the same category into a single archive file. Only summaries remain active.
Update memory index — record new summary files, archived sources, affected categories.
# {Category} — Summary
> Summarized from {N} files on {YYYY-MM-DD}
> Compression: ~{original_tokens} → ~{summary_tokens} ({percentage}%)
## Decisions
- {bullet per confirmed decision}
## Constraints
- {bullet per active constraint}
## Priorities
- {bullet per current priority}
## Open Questions
- {bullet per unresolved question, if still relevant}
contexts/memory/summaries/{category}.summary.md — compressed, structured summary for each processed categorycontexts/memory/archive/{category}-{YYYY-MM-DD}.archive.md — concatenated originals, retained for auditcontexts/memory/index.md — updated to reflect new summaries and archived sourcesA good summary:
This skill must NOT:
Distill knowledge. Delete noise. Small, sharp context always beats full history.