mcpField
M
memory-palace

memory-palace

github.com/simhackerAgent workflows6038 installsUpdated 3d ago
Repository

About memory-palace

A spatial-memory skill for LLMs navigating filesystems, treating directories as rooms and files as objects. It organizes knowledge with maps, entry files, and links for navigation and recall.

Key features

  1. 01Build a palace from directories and files
  2. 02Navigate with ENTRY.md and MAP.yml
  3. 03Link related knowledge artifacts
  4. 04Expand, maintain, and archive rooms

Use cases

  1. 01Organizing research concepts into navigable directories
  2. 02Creating cross-references between related files
  3. 03Maintaining and archiving outdated knowledge spaces

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/simhacker/moollm --skill memory-palace

After installing, type/memory-palacein Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

CARD.yml
ENTRY.md.tmpl
GLANCE.yml
MAP.yml.tmpl
README.md
ROOM.md.tmpl
skill-snitch-report.md

Details

From the project README

🏛️ Memory Palace Skill

"The filesystem is the mind. Directories are rooms. Files are objects."

The ancient method of loci, adapted for LLMs navigating filesystems.

The Technique

Place knowledge in locations. Navigate to remember.

Each room contains:

  • Objects (files) — artifacts to examine
  • Exits (links) — doors to other rooms
  • Atmosphere — the room's essence

This IS the Room Skill

Memory Palace and Room are deeply connected:

Memory PalaceRoom Skill
LocationDirectory
ObjectFile
TraversalEnter/Exit
PlacementCreate file
RecallNavigate to

Memory Palace = Room + spatial mnemonic intent

Palace Structure

palace/
├── ENTRY.md          # Front door (README)
├── MAP.yml           # Navigation overview
│
├── concepts/         # Wing: Ideas
│   ├── ROOM.md
│   ├── yaml-jazz/
│   └── play-learn-lift/
│
├── characters/       # Wing: Personas
│   ├── ROOM.md
│   ├── gardener/
│   └── archivist/
│
└── skills/           # Wing: Capabilities
    ├── ROOM.md
    └── ...

Placing Knowledge

To remember something:

  1. Choose a room — where does this belong?
  2. Create a file — the object to place
  3. Link it — connect to related objects
  4. Walk there — navigate to reinforce
# palace/concepts/yaml-jazz/ROOM.yml
room:
  name: "YAML Jazz Chamber"
  contains:
    - "jazz-principles.md"    # Core ideas
    - "examples/"             # Sub-room of examples
  exits:
    parent: "../"
    related: "../play-learn-lift/"
  atmosphere: "improvisational, semantic"

Core Files

ENTRY.md

The front door to your palace:

# Palace Name

## Welcome
What this palace contains and why.

## Quick Navigation
- [Room A](room-a/ROOM.md) - Description
- [Room B](room-b/ROOM.md) - Description

## Recent Activity
- Added X to Room A
- Created new Room C
MAP.yml

Navigation structure:

palace:
  name: "Research Palace"
  created: "2025-12-30"
  
rooms:
  - name: "foundations"
    path: "foundations/"
    description: "Core concepts"
    connects_to: ["applications", "history"]
    
  - name: "applications"
    path: "applications/"
    description: "Practical uses"
    connects_to: ["foundations", "examples"]

landmarks:
  - name: "The Big Question"
    location: "foundations/core-question.md"
    importance: "Start here"
ROOM.md (in each room)
# Room Name

## What's Here
Description of this room's contents.

## Artifacts
- [artifact-1.md](artifact-1.md) - Description

## Doors
- ← Back to [Entry](../ENTRY.md)
- → Forward to [Next Room](../next-room/ROOM.md)

## Notes
Observations, questions, TODOs for this room.

Navigation Commands

IntentAction
"Enter the palace"Read ENTRY.md
"Look around"ls current directory
"Go to room X"cd to room, read ROOM.md
"Examine artifact"Read the file
"Leave a note"Create/update .meta.yml
"Create new room"mkdir + create ROOM.md
"Check the map"Read MAP.yml
"Where am I?"Note current path

Lifecycle

Create
  • mkdir palace root
  • create ENTRY.md
  • create MAP.yml
  • create initial rooms
Expand
  • create new room directory
  • add ROOM.md
  • update MAP.yml
  • link from related rooms
Maintain
  • update MAP.yml periodically
  • add cross-references
  • archive stale rooms
  • create summaries
Archive
  • move to attic/
  • note in MAP.yml
  • update links

Tips

  1. Start small — Begin with 3-5 rooms, expand as needed
  2. Name meaningfully — Directory names are addresses
  3. Link generously — Cross-references aid recall
  4. Leave breadcrumbs — Update .meta.yml as you explore
  5. Maintain the map — MAP.yml is your table of contents
  6. Archive, don't delete — Move stale rooms to attic/

Integration

SkillRelationship
roomMemory Palace IS Room + spatial mnemonic intent
adventureAdventure IS Room + narrative quest framing
cardObjects placed in rooms can be cards
soul-chatPalace rooms can speak, guide visitors
summarizeCompress palace knowledge for context

Comments

Markdown supported