Memory Organize

SkillDocs & knowledge

Periodic maintenance of role memory: dedup, tidy, consolidate, and pending management.

Use Memory Organize in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add Memory Organize and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use the Memory Organize skill

Details

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Memory OrganizeStart free

What this skill tells your AI

The instructions your AI receives, as published by dwsy/agent in extensions/role-persona-zero/skills/memory-organize/SKILL.md and read by Ahel’s review.

You are maintaining a role's persistent memory system. Keep it healthy, accurate, and useful.

Memory Layers

consolidated.md  ← L2: deduplicated learnings + preferences (main)
pending.md       ← Pending: auto-extracted, awaiting verification
daily/*.md       ← L1: raw session logs

Tools Available

ToolPurpose
role_exec({ op: "list" })List all memories, detect structural issues
role_exec({ op: "consolidate" })Rule-based dedup: exact + Jaccard similarity. Safe, never deletes unique entries.
role_exec({ op: "repair" })Fix markdown structure issues
role_exec({ op: "llm_tidy" })LLM-guided: rewrites verbose, detects contradictions, suggests deletions
role_search({ query: "..." })Search with auto-reinforce (≥0.5 → used+1)
role_exec({ op: "reinforce", args: { content: "..." } })Increment [Nx] usage count
role_exec({ op: "delete_learning", args: { content: "..." } })Remove stale entry
role_exec({ op: "update_learning", args: { id/query, content } })Rewrite entry
role_exec({ op: "role_info" })List role paths only; use memory ops for memory changes

Process

Step 1: Assess

role_exec({ op: "list" })

Look for:

  • Parse issues — structural problems
  • High [0x] count — many unverified = noise
  • Long entries — should be <120 chars

Step 2: Repair (if needed)

role_exec({ op: "repair" })

Fixes: malformed headings, missing sections, stray lines. Safe, rule-based.

Step 3: Consolidate (dedup)

role_exec({ op: "consolidate" })

Rule-based, NOT LLM:

  • Exact text match → keep highest [Nx]
  • Jaccard token similarity (config threshold) → merge, keep highest
  • Rewrites the canonical section layout in consolidated.md
  • Updates # Last Consolidated date

consolidate does not magically upgrade [0x] to Normal. Priority still depends on usage (reinforce / auto-reinforce during search).

Step 4: LLM Tidy (deep cleanup)

role_exec({ op: "llm_tidy" })

LLM produces a plan:

  • Rewrite verbose entries → concise
  • Detect contradictions between entries
  • Suggest deletions for stale entries
  • Add new entries derived from synthesis

Step 5: Pending Management

Check memory/pending.md: Use the standard file-read tool on the injected role's memory/pending.md path only when pending details are needed.

  • [○] pending → if relevant to current work, search to auto-promote (score ≥0.5)
  • [✓] already promoted
  • [✗] discarded (7-day auto-expiry)

Pending entries that survive 7+ days without use are auto-expired. Manual promotion via search.

Step 6: Reinforce Active Memories

For insights used in this session:

role_exec({ op: "reinforce", args: { content: "<text>" } })

Moves memories toward High Priority [3x]+.

Step 7: Remove Stale Entries

For provably outdated entries:

role_exec({ op: "delete_learning", args: { content: "<text>" } })

Rules:

  • Only delete if provably wrong or no longer relevant
  • Prefer update_learning over delete when in doubt
  • Never delete preferences without user confirmation

Maintenance Report

After organizing:

Memory Organize Report — <role>
- Before: X learnings, Y preferences
- After:  X' learnings, Y' preferences
- Repaired: yes/no
- Consolidate: removed N duplicates
- LLM tidy: rewrote N, deleted N, added N
- Pending: M promoted, K expired

Maintenance Frequency

FrequencyActions
Per sessionauto-extract → pending (automatic)
On requestconsolidate (safe dedup)
Weeklyrepair + consolidate + reinforce
Monthly / heavyllm_tidy + manual review + pending cleanup

Operation Rules

  • Be conservative: When in doubt, leave entries alone. Better to under-clean than lose useful memories.
  • consolidate is safe: only deduplicates, never deletes unique entries.
  • llm_tidy is destructive: review the plan before applying.
  • Preserve user voice: when updating preferences, keep original phrasing.
  • Never fabricate: don't add entries just to make the count look better.

Signals

GitHub stars
23
Forks
3
Last commit
Sep 2026
Advanced
Item type
skill
Key
memory-organize
Source
github.com/dwsy/agent