Skip to content

/si:remember — Save Knowledge Explicitly

Domain: Engineering - Core | Skill: remember | Source: engineering-team/self-improving-agent/skills/remember/SKILL.md


/si:remember — Save Knowledge Explicitly

Writes an explicit entry to auto-memory when something is important enough that you don't want to rely on Claude noticing it automatically.

Usage

/si:remember <what to remember>
/si:remember "This project's CI requires Node 20 LTS — v22 breaks the build"
/si:remember "The /api/auth endpoint uses a custom JWT library, not passport"
/si:remember "Reza prefers explicit error handling over try-catch-all patterns"

When to Use

Situation Example
Hard-won debugging insight "CORS errors on /api/upload are caused by the CDN, not the backend"
Project convention not in CLAUDE.md "We use barrel exports in src/components/"
Tool-specific gotcha "Jest needs --forceExit flag or it hangs on DB tests"
Architecture decision "We chose Drizzle over Prisma for type-safe SQL"
Preference you want Claude to learn "Don't add comments explaining obvious code"

Workflow

Step 1: Parse the knowledge

Extract from the user's input: - What: The concrete fact or pattern - Why it matters: Context (if provided) - Scope: Project-specific or global?

Step 2: Check for duplicates

MEMORY_DIR="$HOME/.claude/projects/$(pwd | sed 's|/|%2F|g; s|%2F|/|; s|^/||')/memory"
grep -ni "<keywords>" "$MEMORY_DIR/MEMORY.md" 2>/dev/null

If a similar entry exists: - Show it to the user - Ask: "Update the existing entry or add a new one?"

Step 3: Write to MEMORY.md

Append to the end of MEMORY.md:

- {{concise fact or pattern}}

Keep entries concise — one line when possible. Auto-memory entries don't need timestamps, IDs, or metadata. They're notes, not database records.

If MEMORY.md is over 180 lines, warn the user:

⚠️ MEMORY.md is at {{n}}/200 lines. Consider running /si:review to free space.

Step 4: Suggest promotion

If the knowledge sounds like a rule (imperative, always/never, convention):

💡 This sounds like it could be a CLAUDE.md rule rather than a memory entry.
   Rules are enforced with higher priority. Want to /si:promote it instead?

Step 5: Confirm

✅ Saved to auto-memory

  "{{entry}}"

  MEMORY.md: {{n}}/200 lines
  Claude will see this at the start of every session in this project.

What NOT to use /si:remember for

  • Temporary context: Use session memory or just tell Claude in conversation
  • Enforced rules: Use /si:promote to write directly to CLAUDE.md
  • Cross-project knowledge: Use ~/.claude/CLAUDE.md for global rules
  • Sensitive data: Never store credentials, tokens, or secrets in memory files

Tips

  • Be concise — one line beats a paragraph
  • Include the concrete command or value, not just the concept
  • ✅ "Build with pnpm build, tests with pnpm test:e2e"
  • ❌ "The project uses pnpm for building and testing"
  • If you're remembering the same thing twice, promote it to CLAUDE.md