install
source · Clone the upstream repo
git clone https://github.com/codejunkie99/agentic-stack
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/codejunkie99/agentic-stack "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.agent/skills/memory-manager" ~/.claude/skills/codejunkie99-agentic-stack-memory-manager && rm -rf "$T"
manifest:
.agent/skills/memory-manager/SKILL.mdsource content
Memory Manager — the skill that reads the filing cabinet
After every major task or failure, call
tools/memory_reflect.py to log what
happened. Before important decisions, read the top entries from
memory/semantic/LESSONS.md and memory/semantic/DECISIONS.md.
When to trigger full consolidation
- On explicit
trigger from the user.reflect - When the context window is getting full.
- When episodic memory exceeds ~500 entries.
Consolidation steps
- Load top-5 episodic entries by salience score.
- Detect recurring patterns across the last 100 entries.
- For patterns appearing ≥3 times, promote to
.memory/semantic/LESSONS.md - Flag any skill with ≥3 failures in 14 days for rewrite (see
).on_failure.py - Archive resolved working context to
.memory/episodic/snapshots/ - Commit via git so history is preserved:
is the agent's autobiography.git log memory/
Searching memory by keyword
When you need to find a specific memory by topic or keyword (not just the top-salience entries), use the FTS5 search tool:
python3 .agent/memory/memory_search.py <query>
This indexes all
.md and .jsonl files under .agent/memory/ and returns
ranked results with context snippets. Falls back to grep if FTS5 is not
available. The index auto-rebuilds when files change.
Anti-patterns
- Do not auto-merge
intopersonal/
— user preferences are not general knowledge.semantic/ - Do not delete entries to "clean up" memory. Archive them.
- Do not promote lessons from a single incident. Require recurrence.
Self-rewrite hook
Every 10 reflections, or when the same type of mistake appears 3+ times recently, this skill's approach to salience or distillation needs adjustment. Propose conservative edits and log the diff in
memory/semantic/DECISIONS.md.