memory-capture
npx skills add https://github.com/factory-ai/factory --skill memory-capture
Agent 安装分布
Skill 文档
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 |