Agent skill

memory-palace

Hierarchical memory organization for multi-session context retention. Wings (projects) > Rooms (domains) > Drawers (decisions). Semantic search across all memories with zero cloud dependency.

Stars 458
Forks 38

Install this agent skill to your Project

npx add-skill https://github.com/vibeeval/vibecosystem/tree/main/skills/memory-palace

SKILL.md

Memory Palace

Hierarchical, persistent memory system for Claude Code sessions. Organizes knowledge so agents never lose context across sessions.

Architecture

Palace (global)
  Wing: project-name
    Room: authentication
      Drawer: "chose JWT over sessions" (2026-04-07)
      Drawer: "rate limiting at 100 req/min" (2026-04-06)
    Room: database
      Drawer: "PostgreSQL with pgvector" (2026-04-05)
      Drawer: "migration strategy: blue-green" (2026-04-04)
    Room: deployment
      Drawer: "Vercel + GitHub Actions" (2026-04-03)
  Wing: another-project
    Room: ...

Storage Format

All memories stored in ~/.claude/palace/ as flat JSONL files per wing:

~/.claude/palace/
  index.json          # Wing registry
  my-project.jsonl    # All drawers for this wing
  other-project.jsonl # All drawers for this wing

Drawer Entry Format

json
{
  "id": "d-abc123",
  "wing": "my-project",
  "room": "authentication",
  "content": "Chose JWT with refresh tokens over session-based auth. Reason: stateless, mobile-friendly, scalable.",
  "tags": ["auth", "jwt", "architecture"],
  "timestamp": "2026-04-07T14:30:00Z",
  "session_id": "s-xyz789",
  "agent": "architect",
  "type": "decision"
}

Entry Types

  • decision - Architectural or design choice with reasoning
  • discovery - Something learned about the codebase
  • error - Error encountered and how it was resolved
  • constraint - External limitation or requirement
  • pattern - Recurring code or workflow pattern

Operations

Store a Memory

When an important decision, discovery, or constraint is identified:

Wing: detect from CLAUDE_PROJECT_DIR or package.json name
Room: infer from topic (auth, db, deploy, frontend, api, etc.)
Content: what was decided/discovered and WHY
Tags: relevant keywords for search

Recall Memories

Before starting work on a topic, query relevant rooms:

1. Get wing from current project
2. List rooms with recent activity
3. Load drawers matching current task keywords
4. Inject as context: "Previous decisions in this area: ..."

Search Across Wings

For cross-project pattern detection:

Search all wings for entries matching query
Return sorted by relevance (keyword match + recency)
Useful for: "Have I solved this before in another project?"

Integration Points

With Agents

  • architect: Store architectural decisions automatically
  • self-learner: Store error resolutions as discoveries
  • planner: Load relevant rooms before planning
  • compass: Use palace for session recovery context

With Hooks

  • palace-auto-save hook: Captures decisions from conversation
  • palace-recall hook: Injects relevant memories at session start
  • pre-compact-continuity: Saves WIP state to palace before compaction

With Existing Memory System

Palace complements (does not replace) the existing PostgreSQL memory:

  • PostgreSQL: raw embeddings, vector search, learning store
  • Palace: structured, human-readable, hierarchical organization
  • Both can be queried; palace is faster for targeted recall

Room Detection Heuristics

Keywords in Context Room
auth, login, session, JWT, OAuth authentication
database, SQL, migration, schema database
deploy, CI/CD, Docker, K8s deployment
React, CSS, component, UI frontend
API, endpoint, REST, GraphQL api
test, TDD, coverage, mock testing
security, XSS, injection, CORS security
performance, cache, optimize performance
config, env, settings configuration

When to Store

ALWAYS store:

  • Architectural decisions with reasoning
  • External constraints (client requirements, hosting limits)
  • Error resolutions that took > 5 minutes to solve
  • Chosen patterns and why alternatives were rejected

NEVER store:

  • Code snippets (they're in git)
  • Temporary debugging notes
  • Information already in CLAUDE.md
  • Ephemeral task progress (use tasks for that)

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results