palace-diagram について
palace-diagramは、memory palaceのナレッジグラフをMermaid図やASCIIレイアウトで可視化するスキルです。宮殿の構造、エンティティ間の関係、接続強度、階層を確認できます。
主な機能
- 01宮殿マップのMermaidフローチャート化
- 02エンティティ関係グラフ
- 03シナプス強度ヒートマップ
- 04ASCII宮殿概要
- 05階層に応じたノードサイズ
活用シーン
- 01作成・移行後の宮殿の確認
- 02ナレッジグラフ接続の把握
- 03強いシナプスと弱いシナプスの特定
- 04エンティティ関係とトリプルの確認
MCP 対応
Mermaid図はMermaid Chart MCPに渡してレンダリングし、ASCII概要はインライン表示します。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ athola/ claude-night-market --skill palace-diagramインストール後、Claude Code で/palace-diagramを入力して読み込まれたか確認します。
詳細
パレス図
ナレッジグラフから Mermaid 図と ASCII 図を生成し、パレスの構造、エンティティ間の関係、シナプスの接続、階層の割り当てを表示します。
ステータス:接続済み。
/palace diagram <palace-id> [--type map|ascii|entity|heatmap]を実行すると、Skill(memory-palace:palace-diagram)が呼び出されます。レンダラーはmemory_palace.palace_renderer.PalaceRendererにあります。プログラムから直接アクセスする方法については、以下の「使用方法」セクションを参照してください。
使用する場面
- 作成または移行後にパレスの構造を確認する
- ナレッジのトポロジーと接続を把握する
- 強いシナプスと弱いシナプスを特定する(ヒートマップ)
- エンティティ間の関係とトリプルを確認する
- インライン表示用に ASCII 概要を取得する
使用しない場面
- パレスを作成する場合:memory-palace-architect を使用してください
- ナレッジを検索する場合:knowledge-locator を使用してください
- コードのアーキテクチャ図を作成する場合:cartograph を使用してください
図の種類
| 種類 | 形式 | 説明 |
|---|---|---|
| パレスマップ | Mermaid フローチャート | 部屋はサブグラフ、エンティティはノード、シナプスはエッジとして表示します |
| エンティティグラフ | Mermaid フローチャート | 単一エンティティの接続とトリプルを表示します |
| シナプスヒートマップ | Mermaid フローチャート | 強度に応じてエッジのスタイルを変更します(太線=強い、点線=弱い) |
| ASCII 概要 | テキスト | 部屋ごとのエンティティ数を含む、罫線文字を使ったパレスのレイアウト |
ワークフロー
- パレスを特定します(ID または名前を使用)
- 表示したい内容に応じて図の種類を選択します
PalaceRendererを使用して図を生成します- Mermaid Chart MCP でレンダリングするか(Mermaid の場合)、インラインで表示します(ASCII の場合)
使用方法
パレスマップ
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")
次に、生成された Mermaid 文字列を指定して mcp__claude_ai_Mermaid_Chart__validate_and_render_mermaid_diagram
を呼び出します。
ASCII 概要
ascii_art = renderer.ascii_overview("palace_id")
print(ascii_art)
エンティティグラフ
mermaid = renderer.entity_graph("entity_id")
シナプスヒートマップ
mermaid = renderer.synapse_heatmap("palace_id")
エッジのスタイル
| 強度 | スタイル | 意味 |
|---|---|---|
| >= 0.7 | ==>(太線) | 強い接続 |
| >= 0.4 | -->(通常) | 中程度の接続 |
| < 0.4 | -.->(点線) | 弱い接続 |
統合
以下と連携します。
memory-palace-architect:パレスの作成後に可視化しますknowledge-locator:検索結果をグラフとして表示しますgraph-analyzer:階層情報に基づいてノードのサイズを調整します
終了条件
- 4 種類の図(パレスマップ、エンティティグラフ、シナプスヒートマップ、ASCII 概要)のうち少なくとも 1 つが、
PalaceRendererから Python 例外を発生させずに生成される - Mermaid 図が
mcp__claude_ai_Mermaid_Chart__validate_and_render_mermaid_diagramに渡され、正常にレンダリングされる - ASCII 概要に罫線文字を使って部屋が表示され、部屋ごとのエンティティ数が示される
- シナプスのエッジスタイルが強度のしきい値と一致する:強度 ≥ 0.7 は
==>、≥ 0.4 は-->、< 0.4 は-.-> - 要求されたパレス ID がナレッジグラフに存在しない場合、検索したパレス ID を含むエラーが報告される
コメント
Markdown 対応