Awesome-omni-skill memory-capture

Capture and organize memories, decisions, and learnings to a memories.md file. Use when you want to save context for future sessions.

install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/development/memory-capture" ~/.claude/skills/diegosouzapw-awesome-omni-skill-memory-capture && rm -rf "$T"
manifest: skills/development/memory-capture/SKILL.md
source content

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

ApproachTriggerBest For
SkillDroid decidesInteractive categorization
HookAutomatic on keywordsZero-friction capture
Slash CommandYou type
/remember
Quick manual capture