| name | project-memory |
| description | Persist context across sessions using external memory files |
Project Memory Skill
Maintain persistent context across Claude Code sessions using external files as memory.
Memory System Overview
Since Claude's context resets between sessions, we use files to persist important information:
| File | Purpose | Update Frequency |
|---|
docs/status.md | Current work status | Every session |
docs/tech-debt.md | Known technical debt | When identified |
docs/decisions/*.md | Architecture decisions | When made |
Session Start Protocol
When starting a new session:
-
Read status file
cat docs/status.md
-
Check git state
git log --oneline -10
git status
-
Review recent decisions
ls -la docs/decisions/ | tail -5
-
Summarize context before proceeding with new work
Session End Protocol
Before ending a session:
- Summarize work done
- Update status.md with:
- What was accomplished
- What's in progress
- Any blockers
- Context for next session
- Document any decisions in
docs/decisions/
- Commit changes with descriptive message
Status File Format
# Project Status
## Last Updated
[Timestamp]
## Current Focus
[Main area of work]
## In Progress
- [ ] [Task 1] - [status notes]
- [ ] [Task 2] - [status notes]
## Completed Recently
- [x] [Completed task]
## Blockers
- [Blocker description] - [what's needed]
## Decisions Made
- [Decision]: [rationale]
## Context for Next Session
- [Important point 1]
- [Important point 2]
- [Where to pick up]
Decision Record Format
Create docs/decisions/YYYY-MM-DD-topic.md:
# [Number]. [Title]
## Status
[Proposed | Accepted | Deprecated]
## Context
[Why this decision is needed]
## Decision
[What we decided]
## Consequences
[What this means going forward]
Technical Debt Tracking
Add to docs/tech-debt.md when noticing debt:
## [Priority Level]
| Item | Location | Description | Added |
|------|----------|-------------|-------|
| [Name] | [file:line] | [Description] | [Date] |
Git as Memory
Git history serves as additional memory:
- Commit messages should explain why, not just what
- Branch names should describe the work
- PR descriptions capture context
Useful Git Commands for Context
git log --oneline -20
git log -p --follow -- path/to/file
git log --grep="keyword"
git log main..HEAD --oneline
Context Handoff Checklist
Before handing off to another session or team member:
Best Practices
- Update frequently - Don't wait until the end
- Be specific - "Fixed auth" < "Fixed JWT expiry handling in refresh flow"
- Include blockers - They're easy to forget
- Link to files - "See src/auth/jwt.ts:45" for context
- Keep it scannable - Use lists and headers