Agent skill
temple-generator
Generate a 3D interactive knowledge map (Inner Temple) from any Obsidian vault or document set. Supports multi-scale abstraction layers and dual-graph common maps between two vaults.
Install this agent skill to your Project
npx add-skill https://github.com/glebis/claude-skills/tree/main/temple-generator
SKILL.md
Temple Generator
Generate a 3D interactive knowledge visualization from any Obsidian vault. The output is a single HTML file (Three.js) with concentric entity rings, audio, discovery mechanics, and multi-scale semantic zoom.
When to Use
- User wants to visualize any Obsidian vault as a 3D knowledge map
- User wants to compare two vaults/document sets visually
- User wants to regenerate the temple from scratch with fresh vault analysis
Architecture
Two-part system:
- Generation pipeline (this skill): discovers structure, names it, scores confidence, exports a scene package
- Runtime renderer (template): handles navigation, transitions, audio, discovery
Pre-generate meaning. Runtime-render experience.
Workflow
Step 1: Scan the Vault
Run python3 ~/.claude/skills/temple-generator/scripts/extract_entities.py <vault_path>.
This produces vault-scan.json with:
- Files: path, title, tags, outgoing links, backlink counts, word count, folder, frontmatter
- Graph: adjacency list with bidirectional link counts
- Centrality: degree centrality per node
- Clusters: detected groups of tightly linked notes
Step 2: Read the Scan + Sample Notes
- Read
vault-scan.json - Read the top ~20 nodes by centrality (first 100 lines each)
- Read
references/classification-guide.mdfor entity type heuristics - Read 3-5 representative notes to calibrate the vault's "voice" (formal/informal, domain jargon, language)
Step 3: Classify Entities
Using references/classification-guide.md, assign each significant node to an entity type. Maintain two vocabularies:
- canonical: neutral labels for portability (
anxiety-management,fermentation-process) - poetic: mythic/art labels for the installation (
The Ferment Gate,The Cortisol Throne)
Target counts per type (adjust for vault size):
| Type | Small vault (< 100) | Medium (100-500) | Large (500+) |
|---|---|---|---|
| Gods | 2-3 | 3-5 | 5-7 |
| Demigods | 3-7 | 5-12 | 8-15 |
| Tensions | 2-4 | 3-7 | 5-9 |
| Narratives | 2-5 | 5-10 | 8-12 |
| Blind spots | 1-3 | 3-5 | 4-7 |
| Spirits | 1-3 | 3-5 | 3-5 |
| Research | 5-15 | 10-25 | 15-30 |
| Values | 2-5 | 3-8 | 5-10 |
| Trails | 2-5 | 3-8 | 5-10 |
| Questions | 3-6 | 5-10 | 8-12 |
| Depths | 2-5 | 5-10 | 8-15 |
| Crystals | 1-3 | 2-5 | 3-6 |
Step 4: Build Abstraction Levels
Levels are confidence-gated — only include a level if the vault supports it.
Level 0 — Entities (always exists): individual nodes with positions, connections, descriptions.
Level 1 — Domains (requires >= 3 meaningful clusters): groups of related entities. Each domain has:
canonical+poeticname- member entity keys
- centroid position (weighted average of member positions)
- representative exemplar (most central member)
- description (1-2 sentences in vault voice)
- confidence score (0-1)
Level 2 — Axes (requires >= 2 interpretable opposing pairs): fundamental tensions. Each axis has:
- two poles with names and descriptions
- member domains per pole
- axis description
- confidence score
Level 3 — Comparison (requires two vaults + sufficient alignment): shared/unique analysis.
Read references/merge-algorithm.md for dual-graph logic.
Step 5: Generate Scene Package
Follow the schema in references/entity-schema.md to produce temple-data.json.
Include:
entities: all classified nodeslevels: abstraction layers with zoom thresholdsmappings: entity → domain → axis crosswalkscomparison: (if dual-graph) shared/unique/alignment dataaudio: motif hints per type and levelstyle: poetic vocabulary, intro text, color palette, layer definitionsconfidence: per-abstraction and per-alignment scores
Step 6: Generate HTML
- Copy
~/.claude/skills/temple-generator/assets/temple-template.htmlto the output location - If
--inlineflag: embed the JSON data asconst TEMPLE_DATA = {...};inside the HTML - Otherwise: place
temple-data.jsonalongside the HTML
Step 7: Report
Show the user:
- Entity counts by type
- Abstraction levels generated (with confidence scores)
- Top 5 gods/central entities
- Detected tensions
- If dual-graph: overlap percentage and shared domains
Dual-Graph Mode
When --compare vault_path_2 is provided:
- Scan both vaults independently (Step 1)
- Classify entities for each vault (Steps 2-3)
- Run merge algorithm from
references/merge-algorithm.md - Generate merged scene package with source attribution
- Template renders shared scaffold with divergence offsets
Quality Guidelines
- Skip trivial notes (daily todos, admin logs, empty stubs)
- Prefer nodes that reveal the vault's actual concerns, not its filing system
- Write in the vault's own voice, calibrated from sample notes
- If a level lacks confidence, omit it rather than fabricating structure
- Each abstraction level must be backed by membership weights, exemplars, and provenance
- "The abstraction hierarchy should be semantic, not just geometric"
Audio Guidance for Template
The template's audio system should respect hierarchical continuity across zoom levels:
- L0 (close): localized, identity-rich — entity whispers and textures
- L1 (medium): regional harmonic beds, cluster pulses
- L2 (far): sparse drones, tension-based tonal movement
- L3 (comparison): stereo/dialogic between two vault voices
Zoom should feel like changing resolution, not changing universes. Motifs relate across scales.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
tdd
This skill should be used when the user wants to implement features or fix bugs using test-driven development. Enforces the RED-GREEN-REFACTOR cycle with vertical slicing, context isolation between test writing and implementation, human checkpoints, and auto-test feedback loops. Uses multi-agent orchestration with the Task tool for architecturally enforced context isolation. Supports Jest, Vitest, pytest, Go test, cargo test, PHPUnit, and RSpec.
brand-agency
Applies Agency brand colors and typography to artifacts including presentations, SVG graphics, documents, and web interfaces. This skill should be used when brand colors, visual formatting, neobrutalism style, or Agency design standards apply. Keywords - branding, corporate identity, visual identity, styling, brand colors, typography, visual formatting, visual design, neobrutalism.
github-gist
Publish files or Obsidian notes as GitHub Gists. Use when user wants to share code/notes publicly, create quick shareable snippets, or publish markdown to GitHub. Triggers include "publish as gist", "create gist", "share on github", "make a gist from this".
chrome-history
Query Chrome browsing history with natural language. Filter by date range, article type, keywords, and specific sites.
wispr-analytics
This skill should be used when analyzing Wispr Flow voice dictation history for self-reflection, work patterns, mental health insights, or productivity analytics. Triggered by requests like "/wispr-analytics", "analyze my dictations", "what did I dictate today", "wispr reflection", or any request to review voice dictation patterns. Supports modes - technical (coding/work), soft (communication), trends (volume/frequency), mental (sentiment/energy/rumination).
granola
This skill should be used when importing, listing, or exporting Granola meeting recordings and transcripts. Queries Granola's local cache and API to list meetings, extract transcripts, and export to Obsidian notes in Fathom-compatible format.
Didn't find tool you were looking for?