memory-capture

📁 factory-ai/factory 📅 5 days ago
1
总安装量
1
周安装量
#48083
全站排名
安装命令
npx skills add https://github.com/factory-ai/factory --skill memory-capture

Agent 安装分布

junie 1
amp 1
opencode 1
kimi-cli 1
codex 1

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

  1. Keep entries scannable – Use headers and bullet points
  2. Include dates – Context matters, decisions may change
  3. Note the “why” – Future you will want to know
  4. Link to issues/PRs – For traceability
  5. 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