From ctx
Consolidates redundant entries in LEARNINGS.md or DECISIONS.md by grouping overlapping topics via keywords and merging into denser versions with user approval, archiving originals. Use on high ctx drift counts.
npx claudepluginhub activememory/ctx --plugin ctxThis skill is limited to using the following tools:
Analyze entries in LEARNINGS.md and/or DECISIONS.md, group overlapping
Normalizes long filenames and consolidates semantic duplicate notes in Obsidian _claude-mem projects using AI. For verbose names, topic duplicates, post-migration, or maintenance.
Merges REPORT.md and ANALYSIS.md artifacts into permanent docs following markdown conventions, then deletes sources. Use to clean git status before PRs.
Manages project learnings in markdown files: view index, add patterns/pitfalls/operational notes/decisions, search, prune, export for CLAUDE.md persistence across sessions.
Share bugs, ideas, or general feedback.
Analyze entries in LEARNINGS.md and/or DECISIONS.md, group overlapping entries by topic, and (with user approval) merge groups into denser consolidated entries. Originals are archived, not deleted.
Consolidation != archival. Archival moves old entries to the archive directory. Consolidation replaces verbose entries with tighter ones: the file stays useful, just denser. The originals move to archive as a paper trail.
ctx drift reports entry counts above threshold
(default: 30 learnings, 20 decisions)Read the target file(s):
# Check entry counts first
ctx drift --json
Then read the files directly:
Parse entries by their ## [YYYY-MM-DD-HHMMSS] Title headers. Each
entry extends from its header to the line before the next header or
end of file.
For each entry, extract keywords from its title and body:
Build a keyword-to-entries map. Entries sharing 2 or more non-trivial keywords are candidates for the same group.
Grouping rules:
Show the user what you found. Format:
Consolidation candidates for LEARNINGS.md:
Group 1: "Hook behavior" (5 entries)
- [2026-01-15] Hook scripts can lose execute permission
- [2026-01-20] Two-tier hook output is sufficient
- [2026-02-03] Claude Code Hook Key Names
- [2026-02-09] Agent ignores repeated hook output
- [2026-02-16] Security docs vulnerable after migrations
-> Proposed: merge into 1 consolidated entry
Group 2: "Path handling" (3 entries)
- [2026-01-10] Path construction uses stdlib
- [2026-02-05] G304 gosec false positives
- [2026-02-16] gosec G301/G306 permissions
-> Proposed: merge into 1 consolidated entry
Ungrouped: 12 entries (no consolidation needed)
Wait for the user to approve, modify, or reject each group. Do NOT proceed without explicit confirmation.
For each approved group, write a consolidated entry that:
YYYY-MM-DD-HHMMSS format**Consolidated from** lineFormat:
## [YYYY-MM-DD-HHMMSS] Hook behavior (consolidated)
**Consolidated from**: 5 entries (2026-01-15 to 2026-02-16)
- Hook scripts can lose execute permission without warning; always
restore +x after sync operations
- Two-tier output (stdout for AI context, stderr+exit for blocks)
is sufficient; don't over-engineer severity levels
- Claude Code hook key names are case-sensitive: PreToolUse, not
pre_tool_use
- Agents develop repetition fatigue: vary hook output phrasing
across invocations
- After infrastructure migrations, audit security docs first:
stale paths in security guidance give false confidence
For each approved group:
# Learnings or # Decisions header)archive/learnings-consolidated-YYYY-MM-DD.md in the context
directory (or decisions-consolidated-YYYY-MM-DD.md)ctx learning reindex
# or
ctx decision reindex
Consolidated LEARNINGS.md:
- Group "Hook behavior": 5 entries -> 1 (originals archived)
- Group "Path handling": 3 entries -> 1 (originals archived)
Total: 8 entries consolidated into 2. File reduced from 47 to 41 entries.
Archive: archive/learnings-consolidated-2026-02-19.md (in context dir)
The archive file uses the same Markdown format as the source file. Each archived entry keeps its original timestamp and content, preceded by a header noting which consolidated entry replaced it:
# Archived Learnings (consolidated 2026-02-19)
Originals replaced by consolidated entries in LEARNINGS.md.
## Group: Hook behavior
## [2026-01-15-120000] Hook scripts can lose execute permission
(original content preserved verbatim)
## [2026-01-20-093000] Two-tier hook output is sufficient
(original content preserved verbatim)
ctx task archive
for tasks; conventions rarely need consolidationBefore reporting results:
ctx reindex after modifications