AgentSkillsCN

memory-palace

以可导航目录组织知识的空间布局

SKILL.md
--- frontmatter
name: memory-palace
description: Spatial organization of knowledge in navigable directories
license: MIT
tier: 1
allowed-tools:
  - read_file
  - write_file
  - list_dir
related: [room, character, adventure, research-notebook, summarize, plain-text, honest-forget]
tags: [moollm, spatial, knowledge, navigation, organization]
inputs:
  palace_name:
    type: string
    required: true
    description: Name for this memory palace
  palace_purpose:
    type: string
    required: true
    description: What this palace is for
  initial_rooms:
    type: list
    required: false
    description: Starting room names
outputs:
  - ENTRY.md
  - MAP.yml
  - room directories
templates:
  - ENTRY.md.tmpl
  - MAP.yml.tmpl
  - ROOM.md.tmpl
metaphor:
  palace: directory tree
  room: subdirectory
  artifact: file
  note: .meta.yml sidecar
  door: cross-reference
  map: MAP.yml
  entry: ENTRY.md
working_set:
  hot: [ENTRY.md, MAP.yml]
  warm: ["*/ROOM.md"]
  cold: ["attic/**"]

🏛️ 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

code
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
yaml
# 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:

markdown
# 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:

yaml
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)

markdown
# 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