memory
Memory
Memory is not storage. Memory is the foundation for evolution.
Philosophy
Why Memory?
Without memory, every session starts from zero.
Session 1: Makes mistake A
Session 2: Makes mistake A again
Session 3: Makes mistake A again
...forever
With memory, patterns emerge:
Session 1: Makes mistake A, records it
Session 2: Reads record, avoids A, discovers B
Session 3: Reads both, avoids A and B, finds better path
...progress
Memory isn't for the current session—memory is a gift to future sessions.
The Deeper Purpose
Memory transforms isolated events into accumulated wisdom.
Individual record: "We tried X, it failed because Y"
Pattern after 5 records: "Approaches like X tend to fail when Y"
Wisdom after 20 records: "Before attempting X-like solutions, check for Y"
This is how learning works. Not through rules handed down, but through patterns that emerge from recorded experience.
What to Remember
Not everything deserves memory. Record what would hurt if forgotten:
| Remember | Don't Remember |
|---|---|
| Decisions and their rationale | Implementation details (use code) |
| Mistakes and lessons | Obvious facts (use docs) |
| Context that explains "why" | Temporary debugging notes |
| Patterns that emerged | Things Git already tracks |
The test: "Would a future agent benefit from knowing this?"
Structure
.memory/
├── context.md → Current state, active concerns (read first)
├── notes/ → Learnings, observations
├── decisions/ → ADRs: what was decided and why
├── todos/ → Tasks that span sessions
└── sessions/ → Session summaries (handoff to next)
context.md
The handoff document. When a new session starts, this tells them:
- What's currently in progress
- What concerns are active
- What needs attention
Keep it current. A stale context.md is worse than none.
Naming Convention
YYYY-MM-DD-kebab-slug.md
Natural sort order. Grep-friendly. Self-documenting.
Core Operations
| Intent | Action |
|---|---|
| "Remember this" | Create note in .memory/notes/ |
| "We decided X because Y" | Create ADR in .memory/decisions/ |
| "What did we learn about Z?" | Search .memory/, summarize with citations |
| "Session ending" | Create session summary, update context.md |
Record Format
---
type: note | decision | todo | session
status: active | completed | archived
tags: [relevant, keywords]
created: YYYY-MM-DD
---
# Title
Content that future agents will thank you for.
Integration
Memory provides context to other skills:
memory
│
├─► orientation reads context.md at session start
├─► dive uses past notes to inform investigation
├─► engineering reads decisions before proposing new ones
└─► refining includes relevant history in PR descriptions
Understanding, Not Rules
| Tension | Resolution |
|---|---|
| Completeness vs Noise | Record signal, not noise. Ask: "Would this help a future agent?" |
| Structure vs Flexibility | Use consistent format, but content matters more than form |
| Writing vs Doing | Recording takes seconds; re-learning takes hours |
The Anti-Pattern
The worst failure isn't forgetting to record—it's recording without understanding.
Bad: "Fixed bug in auth"
Good: "Auth was failing silently when token expired mid-request.
Root cause: async race condition.
Fix: Added token refresh before sensitive operations.
Lesson: Any auth code should handle mid-operation expiry."
The second takes 30 seconds longer. It saves the next agent hours.
Reference
See reference/ for:
- templates/ - Record templates
- remote-sync.md - GitHub/GitLab Issues sync
- setup.md - Initialization options
More from lidessen/skills
housekeeping
Manages project housekeeping including documentation organization, dependency management, directory structure, code cleanup, technical debt tracking, and infrastructure configuration. Use when organizing documentation, cleaning up dependencies, reorganizing folders, removing dead code, addressing tech debt, or maintaining project structure.
18validation
Unified validation orchestration for code quality, consistency, and project health. Auto-triggers on code changes, PR creation, or explicit validation requests. Coordinates refining, housekeeping, and custom validators into cohesive pipelines. Use for "validate", "check", "verify", "验证", "检查", or when quality assurance is needed.
17orientation
Orients agents in new projects by scanning entry documents and discovering capabilities. Use at session start, when entering unfamiliar territory, or when asking "what can you do" or "where do I start".
16agent-worker
Create and manage AI agent sessions with multiple backends (SDK, Claude CLI, Codex, Cursor). Also supports multi-agent workflows with shared context, @mention coordination, and collaborative voting. Use for "start agent session", "create worker", "run agent", "multi-agent workflow", "agent collaboration", "test with tools", or when orchestrating AI conversations programmatically.
16refining
Refines code changes for better reviewability. Validates change cohesion (no mixed concerns), generates clear commit messages, creates PR/MR with reviewer-focused descriptions. Use when committing, reviewing, creating PR/MR, or mentions "commit", "review", "PR", "MR", "pull request", "merge request", "refine", "提交", "审查".
15dive
Dives deep into project questions using layered investigation (docs → code → analysis) to provide evidence-based answers with file:line citations. Use when asking "how does X work", "what is Y", "where is Z", or investigating features, APIs, configuration, codebase structure, or technical decisions.
15