memory-palace
Skill1 starsChanged 4 months agoMITView on GitHub
Carte en relief oblique (style Google Maps 3D) — cliquer bâtiments et zones pour ancrer concepts (method of loci). Drill-down site → intérieur, panneau latéral. Pas de déplacement FPS. Reads brief.md, notes.md, research.md, report.md. Outputs memory-palace.json + HTML (Three.js vendored). Triggers: "memory palace", "palais de mémoire", "relief map", "carte oblique", /memory-palace. No new research.
4 other projects use a version of this.
Adopted by
Most recently taken up by
- luabagg/agent-skillstheir own version, first seen Aug 29, 2026
- Tino-Tian/-Memory-Palace-AI-their own version, first seen Jun 20, 2026
- drewOrc/Mem-Palace-skilltheir own version, first seen Apr 9, 2026
- JinchengGao-Infty/agent-loadouttheir own version, first seen Mar 25, 2026
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 4
- drewOrc/Mem-Palace-skill★ 4same name
- JinchengGao-Infty/agent-loadout★ 3same name
- luabagg/agent-skills★ 3same name
- Tino-Tian/-Memory-Palace-AI-★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository12 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- bear-hoursSkill
- councilSkill
- deep-researchSkill
- dense-readSkill
- dialogueSkill
- infographicSkill
- layout-htmlSkill
- mind-mapSkill
- source-scoutSkill
- study-statusSkill
The file
We split this skill into the rules it gives an agent
10 rules. 0 are common, 2 are distinctive, and 8 are very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 53
Use AskUserQuestion — one call, wait for answer before continuing.
- Distinctive: line 59
STOP: after the call; wait for answer
- Very specific: line 74
If
customselected: wait for user's next message. - Very specific: line 76
Default when skipped: corridor.
- Very specific: line 95
Guard: if no resolvable text and no pasted concepts → ask for slug, path, or concept list.
- Very specific: line 103
Pre-flight: if only brief.md with no notes → warn palace will be thin.
- Distinctive: line 111
Keep all (warn larger file)
- Very specific: line 127
Follow references/palace-schema.json (view_mode: relief).
- Very specific: line 145
If fetch fails (no network), fall back to iso-SVG HTML (--2d-only) and tell user to run fetch later for relief 3D.
- Very specific: line 159
Add room objects from loci[].objects (simple BoxGeometry props)
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Memory Palace
Transform study concepts into an oblique relief map (method of loci) — click buildings, drill into interiors, read concepts in a side panel. No FPS movement. No research.
When to use (vs other skills)
| Skill | Responsibility | Does NOT |
/mind-map | 2D tree, editable JSON | Spatial relief map |
/layout-html | Linear article + SVG | Spatial map |
/memory-palace | This skill — relief map + drill-down loci | New sources, WASD navigation |
Optional pipeline (manual only — never auto-chain):
/bear-hours → [dense read] → /memory-palace
/deep-research → /memory-palaceHard rules
- No research — never
WebSearch/WebFetch. Concepts must trace to input files. - Wedge lock — if
brief.mdexists, excludeout-of-wedgeconcepts from defaultpath[]. - Provenance — every concept:
source.file,source.section, optionalanchor. - Cap — default 8–16 loci;
AskUserQuestionbefore exceeding 20. - Two artifacts —
memory-palace.json(manifest) +memory-palace.html(experience). - Self-contained HTML — Three.js from
references/vendor/three.min.js, inlined; no CDN. - Iso-SVG fallback — isometric click map (same drill-down) when no WebGL, mobile, or
prefers-reduced-motion. - Relief UX — oblique map by default; optional guided ground tour on rails (
Visite guidée); pan/zoom on site level only; click building → interior; no WASD / pointer-lock / free movement. - Language — match source (
langon<html>). - Open browser —
open <path>on macOS after write. - Theme first —
AskUserQuestionbefore reading content (unless smart-skip).
Step 0: Theme — AskUserQuestion (always first)
Use AskUserQuestion — one call, wait for answer before continuing.
Title: Memory Palace — Theme
Hard rules:
- Never list theme options as plain chat bullets — always
AskUserQuestion - STOP after the call; wait for answer
- Smart-skip — if user already named a theme (
museum,chantier,corridor,library, or ≥5 words describing a place), skip this step
Question: "Quel décor pour ancrer tes concepts ? (method of loci — un parcours fixe aide la mémoire)"
Options (exactly 5):
| id | label |
corridor | Corridor classique — pièces en ligne, portes numérotées (défaut) |
museum | Musée — salles thématiques, vitrines = sous-concepts |
construction | Chantier / atelier — zones, équipements (robotique, BTP) |
library | Bibliothèque — rayons = thèmes, livres = citations |
custom | Custom — je décris le lieu dans le prochain message |
If custom selected: wait for user's next message. Map to nearest archetype topology; store description in manifest theme_notes.
Default when skipped: corridor.
Load references/palace-archetypes.md for topology before Step 3.
Step 1: Intake — detect input mode
Resolve input in this priority order:
| Mode | Trigger | Source | Default output |
| A — Study slug | slug or studies/<slug>/ | brief.md → notes.md → research.md | studies/<slug>/memory-palace.{json,html} |
| B — Research slug | research/<slug>/ | report.md (+ brief.md via Study link) | research/<slug>/memory-palace.{json,html} |
| C — File path | path to .md | that file | <dir>/memory-palace.{json,html} |
| D — Pasted concepts | user lists concepts in chat | message body | output/layout/<slug>/memory-palace.{json,html} |
Slug derivation (mode D): lowercase-hyphen from title or first heading; ask once if ambiguous.
Custom output: user may specify → out.html — write HTML there; JSON alongside with same basename unless user says otherwise.
Guard: if no resolvable text and no pasted concepts → ask for slug, path, or concept list. Do not suggest /deep-research unless user wanted more content first.
Step 2: Extract concepts
Load references/concept-extraction.md. Read source files. Extract only what exists.
Minimum: ≥5 concepts or abort with guidance ("add notes.md or paste concepts").
Pre-flight: if only brief.md with no notes → warn palace will be thin; proceed only if ≥5 extractable concepts.
If >16 concepts extracted — AskUserQuestion:
Title: Memory Palace — Density
Options:
- Trim to top 12 by importance
- Keep all (warn larger file)
- I'll pick concepts in chat
Step 3: Map loci (relief site)
Load references/loci-mapping.md + references/palace-archetypes.md.
path[]= ordered building ids on the site map (5–12)- Each locus:
kind: building,footprint: [x, z, w, d],height,interior.zones,interior.hotspots - Each locus: optional
scene— vivid mental image (scene.image, 1–2 sentences) + 2–3 sensory hooks (scene.senses: « Son — … », « Odeur — … », « Texture — … ») encoding the concept for method-of-loci recall - Entrée = wedge + why now; zones terrain/mécanismes/robots = findings; bureau = beliefs
blocked: truebuildings = open questions (click → panel only, no interior)- Zone footprints relative to building interior (0…building size)
Step 4: Write memory-palace.json
Follow references/palace-schema.json (view_mode: relief). Write to resolved output dir.
Overwrite without asking unless file modified <1h ago and user didn't say overwrite.
Show user a compact summary: concept count, loci count, path order (one line).
Step 5: Compose memory-palace.html
Load references/navigation-ux.md. Compose via script (preferred).
Before composing:
bash memory-palace/scripts/fetch-three.shPinned version: Three.js 0.160.0 (last npm release with build/three.min.js IIFE). Override: THREE_VERSION=0.160.0 bash …/fetch-three.sh.
If fetch fails (no network), fall back to iso-SVG HTML (--2d-only) and tell user to run fetch later for relief 3D.
Compose (agent-authored or helper script):
python3 memory-palace/scripts/compose-html.py studies/<slug>/memory-palace.json
# 2D only: python3 memory-palace/scripts/compose-html.py … --2d-onlyManual path:
Readmemory-palace/references/vendor/three.min.js→ inline in first<script>block- Embed full JSON as
const PALACE_DATA = … - Inline scene bootstrap from
html-template.md§ Scene JS - Add room objects from
loci[].objects(simpleBoxGeometryprops) - Theme colors from archetype table
- HUD, overlays, 2D plan, footer with source files + study path
If user said 2d only: --2d-only or window.FORCE_2D = true; skip Three.js inline (smaller file).
Step 6: Deliver
open "<absolute-path>/memory-palace.html"Tell the user:
- Output paths (
.json+.html) - Theme used
- Locus count + concept count
- Memory walk script — 30-second verbal path through buildings in
path[]order - Source files used
- Reminder: recall the path, not just the visuals
- Optional:
/layout-htmlfor 2D report; re-run withoverwriteafter new notes
Escape hatches
| User says | Action |
2d only | Iso-SVG map only (no Three.js) |
overwrite | Replace JSON/HTML without confirmation |
| slug only | Try studies/<slug>/ then research/<slug>/ |
| file path | Mode C |
| pasted concepts | Mode D — output/layout/<slug>/ |
| theme in message | Smart-skip Step 0 |
museum / construction / etc. | Smart-skip theme question |
Self-check before delivery
- No WebSearch / WebFetch
- Every concept label grep-able in source files
path[]length ≥ 5 and ≤ 20out-of-wedgeexcluded from path (if brief exists)- JSON validates against
palace-schema.jsonstructure - HTML offline-ready (no CDN links)
view_mode: reliefin JSON; buildings havefootprint+interior- Iso-SVG fallback OR Three.js relief inlined
- No WASD / pointer-lock in composed HTML
langmatches source- Files written + browser opened
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

