| name | memory-capture |
| description | Capture and organize memories, decisions, and learnings to a memories.md file. Use when you want to save context for future sessions. |
Memory Capture
Help users capture important decisions, preferences, and learnings to their memories file for future reference.
When to Use
Invoke this skill when the user wants to:
- Record a decision they made
- Save a preference for future sessions
- Document something they learned
- Create a note about the project or codebase
Memory Locations
- Personal memories:
~/.factory/memories.md- preferences that apply across all projects - Project memories:
.factory/memories.md- decisions specific to the current project
Capture Process
Step 1: Understand What to Remember
Ask the user to clarify:
- What specifically should be remembered?
- Is this a personal preference or project-specific?
- What's the context (why is this worth remembering)?
Step 2: Categorize the Memory
Common categories:
For Personal Memories:
- Code style preferences
- Tool preferences
- Communication style
- Workflow patterns
For Project Memories:
- Architecture decisions
- Design choices
- Domain knowledge
- Known issues
- Team conventions
Step 3: Format the Entry
Use this format:
### [Date]: [Short Title]
**Category**: [Decision/Preference/Learning/Context]
**Summary**: [One sentence description]
**Details**: [Full explanation if needed]
**Reasoning**: [Why this matters - optional]
For simpler entries:
- [Date] [Category]: [Description]
Step 4: Append to Memories File
Add the formatted entry to the appropriate memories file.
If the file doesn't exist, create it with proper structure:
For Personal (~/.factory/memories.md):
# My Development Memory
## Preferences
[preferences entries]
## Learnings
[learning entries]
For Project (.factory/memories.md):
# Project Memory
## Decisions
[decision entries]
## Context
[context entries]
## Known Issues
[issue entries]
Example Captures
Architecture Decision
User says: "Remember that we chose PostgreSQL over MongoDB for this project"
Capture as:
### 2024-02-15: Database Selection
**Category**: Architecture Decision
**Summary**: Chose PostgreSQL over MongoDB for the primary database
**Reasoning**:
- Strong relational data model fits our domain
- ACID compliance needed for financial transactions
- Team has more PostgreSQL experience
- Better tooling for complex queries and reporting
Personal Preference
User says: "I prefer early returns over nested conditionals"
Capture as:
## Code Style Preferences
- [2024-02-15] I prefer early returns over nested conditionals for better readability
Domain Knowledge
User says: "Note that free tier users are limited to 3 team members"
Capture as:
### Business Rules
- Free tier: Limited to 3 team members
- Pro tier: Up to 20 team members
- Enterprise: Unlimited team members
Technical Context
User says: "The auth service has a known issue with refresh tokens (#234)"
Capture as:
## Known Issues
- [ ] Auth refresh token race condition (#234) - Can cause session loss during concurrent requests
Tips
- Keep entries scannable - Use headers and bullet points
- Include dates - Context matters, decisions may change
- Note the "why" - Future you will want to know
- Link to issues/PRs - For traceability
- Review periodically - Archive outdated memories
Alternative Implementations
This skill is one of three ways to capture memories. Choose based on your workflow:
Option 1: This Skill (Interactive)
Droid invokes this skill when you ask to remember something. Best when you want help categorizing and formatting memories.
Usage: "Remember that we chose PostgreSQL for ACID compliance"
Option 2: Hook (Automatic)
A UserPromptSubmit hook that triggers on phrases like "remember this:". Best for zero-friction capture.
See the Memory Management guide for the hook implementation.
Usage: "Remember this: we use the repository pattern for data access"
Option 3: Custom Slash Command (Manual)
A custom slash command for quick, consistent capture.
Create ~/.factory/commands/remember.md:
---
description: Save a memory to your memories file
argument-hint: <what to remember>
---
Add this to my memories file (~/.factory/memories.md):
$ARGUMENTS
Format it appropriately based on whether it's a preference, decision, or learning. Include today's date.
Usage: /remember we chose PostgreSQL for ACID compliance
Comparison
| Approach | Trigger | Best For |
|---|---|---|
| Skill | Droid decides | Interactive categorization |
| Hook | Automatic on keywords | Zero-friction capture |
| Slash Command | You type /remember |
Quick manual capture |