mcpField
P
palace-diagram

palace-diagram

github.com/atholaAgent workflows34383 installsUpdated 1d ago
Repository

About palace-diagram

palace-diagram is a skill for visualizing a memory palace knowledge graph as Mermaid diagrams or ASCII layouts. It helps users inspect palace structure, entity relationships, connection strength, and tier assignments.

Key features

  1. 01Palace maps as Mermaid flowcharts
  2. 02Entity relationship graphs
  3. 03Synapse strength heatmaps
  4. 04ASCII palace overviews
  5. 05Tier-informed node sizing

Use cases

  1. 01Inspect a palace after creation or migration
  2. 02Explore knowledge graph connections
  3. 03Identify strong and weak synapses
  4. 04Review entity relationships and triples

MCP support

For Mermaid output, it sends generated diagrams to Mermaid Chart MCP for rendering; ASCII overviews are displayed inline.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/athola/claude-night-market --skill palace-diagram

After installing, type/palace-diagramin Claude Code to confirm it loaded.

Details

From the project README

Palace Diagram

Generate Mermaid and ASCII diagrams from the knowledge graph, showing palace structure, entity relationships, synapse connectivity, and tier assignments.

Status: wired. Invoke via /palace diagram <palace-id> [--type map|ascii|entity|heatmap], which calls Skill(memory-palace:palace-diagram). The renderer lives in memory_palace.palace_renderer.PalaceRenderer; see the Usage section below for direct programmatic access.

When To Use

  • Inspecting palace structure after creation or migration
  • Understanding knowledge topology and connections
  • Identifying strong and weak synapses (heatmap)
  • Reviewing entity relationships and triples
  • Getting an ASCII overview for inline display

When NOT To Use

  • Creating palaces: use memory-palace-architect
  • Searching knowledge: use knowledge-locator
  • Code architecture diagrams: use cartograph

Diagram Types

TypeFormatDescription
Palace mapMermaid flowchartRooms as subgraphs, entities as nodes, synapses as edges
Entity graphMermaid flowchartSingle entity's connections and triples
Synapse heatmapMermaid flowchartEdge styling by strength (thick=strong, dotted=weak)
ASCII overviewTextBox-drawing palace layout with entity counts

Workflow

  1. Identify palace by ID or name
  2. Choose diagram type based on what you want to see
  3. Generate diagram using PalaceRenderer
  4. Render via Mermaid Chart MCP (for Mermaid) or display inline (for ASCII)

Usage

Palace Map
from memory_palace.knowledge_graph import KnowledgeGraph
from memory_palace.palace_renderer import PalaceRenderer

graph = KnowledgeGraph("path/to/knowledge_graph.db")
renderer = PalaceRenderer(graph)
mermaid = renderer.palace_map("palace_id")

Then call mcp__claude_ai_Mermaid_Chart__validate_and_render_mermaid_diagram with the generated Mermaid string.

ASCII Overview
ascii_art = renderer.ascii_overview("palace_id")
print(ascii_art)
Entity Graph
mermaid = renderer.entity_graph("entity_id")
Synapse Heatmap
mermaid = renderer.synapse_heatmap("palace_id")

Edge Styling

StrengthStyleMeaning
>= 0.7==> (thick)Strong connection
>= 0.4--> (normal)Medium connection
< 0.4-.-> (dotted)Weak connection

Integration

Works with:

  • memory-palace-architect: visualize after palace creation
  • knowledge-locator: display search results as graph
  • graph-analyzer: tier-informed node sizing

Exit Criteria

  • At least one of the four diagram types (palace map, entity graph, synapse heatmap, ASCII overview) is generated without a Python exception from PalaceRenderer
  • Mermaid diagrams are passed to mcp__claude_ai_Mermaid_Chart__validate_and_render_mermaid_diagram and render successfully
  • ASCII overview displays rooms with box-drawing characters and entity counts per room
  • Synapse edge styling matches strength thresholds: ==> for strength ≥ 0.7, --> for ≥ 0.4, -.-> for < 0.4
  • If the requested palace ID does not exist in the knowledge graph, an error is reported with the palace ID that was searched

Comments

Markdown supported