/my-context-graph
Render an interactive map of your world. Generates the world index from all walnut and bundle frontmatter, then produces a force-directed graph showing connections between walnuts, people, bundles, and tags. Opens in the browser.
$ npx -y skills add alivecontext/alive --skill my-context-graph --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/my-context-graph
Context preview
The summary Claude sees to decide when to auto-load this skill.
Render an interactive map of your world. Generates the world index from all walnut and bundle frontmatter, then produces a force-directed graph showing connections between walnuts, people, bundles, and tags. Opens in the browser.
SKILL.md
my-context-graph.SKILL.mdname: alive:my-context-graph
description: "Render an interactive map of your world. Generates the world index from all walnut and bundle frontmatter, then produces a force-directed graph showing connections between walnuts, people, bundles, and tags. Opens in the browser."
user-invocable: true
Map
Visual overview of the entire ALIVE world — connections, clusters, health.
Not a list (that's the tree in alive:world). Not a search (that's alive:search-world). Map is spatial — it shows how everything connects and where the energy is.
---
What It Does
1. Generate the World Index
Run `generate-index.py` from the plugin to walk all walnuts and collect frontmatter. Always use the plugin cache copy — never copy scripts to the world (world-local copies drift from the plugin and produce stale data).
python3 "$ALIVE_PLUGIN_ROOT/scripts/generate-index.py" "$WORLD_ROOT"
The script walks all directories for `key.md` files, handling both `_kernel/key.md` (current structure) and root-level `key.md` (flat/legacy structure). It deduplicates entries and skips template walnuts.
**Collected data per walnut:**
- Name, type, goal, phase, rhythm, tags
- People (from `key.md` `people:` field — multi-line list)
- Links (from `key.md` `links:` field — wikilink extraction)
- Parent (from `key.md` `parent:` field)
- Bundles (detected by `*/context.manifest.yaml` in walnut root — name, status, goal)
- Task counts (from `_kernel/now.json` if present)
- Last updated (from `_kernel/now.json` `updated` field)
**Projection tiers:** The graph supports three projection levels for controlling visual density:
- **Tier 1 — Walnuts only** — just the walnut nodes and their connections. Fast, clean overview.
- **Tier 2 — Walnuts + People** — adds people nodes that bridge multiple walnuts. Shows relationship topology.
- **Tier 3 — Full graph** — walnuts, people, bundles, tags. Maximum detail. Can get dense in large worlds.
Default to Tier 2. Offer toggle controls for Tier 1 (simplified) and Tier 3 (full detail).
**Outputs:**
- `.alive/_index.yaml` — human-readable world index
- `.alive/_index.json` — machine-readable for graph consumption
2. Render the Graph
Run `generate-graph.py` from the plugin to read the JSON index and generate an interactive D3.js graph.
python3 "$ALIVE_PLUGIN_ROOT/scripts/generate-graph.py" "$WORLD_ROOT"
The graph is written to `.alive/context-graph.html` — an HTML file with embedded data. Requires internet connection (D3.js loads from CDN, fonts from Fontshare/Google Fonts).
**Open in browser:**
# macOS
open "$WORLD_ROOT/.alive/context-graph.html"
# Linux
xdg-open "$WORLD_ROOT/.alive/context-graph.html"
# Windows
start "" "$WORLD_ROOT/.alive/context-graph.html"
**Theme:** Alive branded. Light mode default (cream #FAF8F5, orange primary #F97316). Dark mode toggle (forest green #0A1F0D, copper #B87333 accents). Custom fonts: Array (display), Khand (headings), Inter (body).
**Nodes:**
- Walnuts (primary nodes — sized by bundle count and recency)
- People (toggle — shown for people who connect 2+ walnuts)
- Bundles (expandable — click a walnut to show its bundles as orbiting nodes)
- Central node connecting top-level walnuts
- Inputs buffer node showing unrouted count
**Edges:**
- `links:` field connections between walnuts
- `parent:` -> child relationships (dashed)
- Person -> walnut connections (dotted, when people shown)
- Bundle -> parent walnut (when expanded)
**Color by ALIVE domain:**
- Life = blue
- Ventures = orange
- Experiments = green
- Archive = warm gray
- People = purple
- Inputs = red
Colors adapt per theme (lighter in dark mode for visibility).
**Size by activity:**
- 15+ bundles = largest (20px)
- 5+ bundles = large (15px)
- Updated in last 2 days = medium-large (12px)
- Updated in last week = medium (9px)
- Stale = small (5px)
**Health signals visible:**
- Active (recent) = full opacity, glow on today's updates
- Quiet (1-2 weeks) = reduced opacity
- Waiting (2+ weeks) = dim, small
- Bundle-heavy walnuts get outer glow rings
3. Open in Browser
╭─ squirrel map generated
│
│ 58 walnuts, 78 people, 41 bundles
│ 60 nodes, 36 links, 11 people connectors
│
│ > Opening in browser...
╰─
---
Graph Features
Interactive Controls
- **Hover node** -> tooltip with goal, phase, bundle count, urgent task count
- **Hover node** -> highlight all connected nodes and edges, dim everything else
- **Click walnut** -> expand bundles as orbiting nodes + open details panel
- **Click node** -> pin details panel (right sidebar) with full context
- **Drag** -> reposition nodes (physics simulation)
- **Zoom + pan** -> navigate large worlds
- **Hover edge** -> show connection type label (linked / parent -> child / person name)
- **Esc** -> close details panel
Details Panel
Click any node to open a pinned side panel showing:
- Name, domain badge, phase badge
- Goal description
- Metadata (rhythm, last updated, days since, session count)
- Urgent + active task count badges (from the index's `task_counts` payload)
- Bundle list with status badges (draft/prototype/published/done)
- Active bundle highlighted in primary color
- People list
- Tags
Search
- **`/` hotkey** -> focus search box
- Searches walnut names, goals, tags, and people
- Matching nodes highlighted, everything else dims
- **Esc** -> clear search
Theme Toggle
- Light mode default (Alive cream branding)
- Dark mode toggle (forest green + copper)
- Theme persists via localStorage
- Sun/moon toggle in header
Controls
- **reset view** -> zoom to fit
- **show people** -> toggle people connector nodes
- **labels on/off** -> toggle node labels
- **show archive** -> toggle archived walnuts
- **cluster** -> group nodes by ALIVE domain with background labels
- **projection tier** -> switch between Tier 1/2/3
Bundle Expansion
Click any walnut with bundles to expand them as orbiting nodes:
- Bundle nodes sized by active status (active
Read more
name: alive:my-context-graph description: "Render an interactive map of your world. Generates the world index from all walnut and bundle frontmatter, then produces a force-directed graph showing connections between walnuts, people, bundles, and tags. Opens in the browser." user-invocable: true
Map
Visual overview of the entire ALIVE world — connections, clusters, health.
Not a list (that's the tree in alive:world). Not a search (that's alive:search-world). Map is spatial — it shows how everything connects and where the energy is.
---
What It Does
1. Generate the World Index
Run `generate-index.py` from the plugin to walk all walnuts and collect frontmatter. Always use the plugin cache copy — never copy scripts to the world (world-local copies drift from the plugin and produce stale data).
python3 "$ALIVE_PLUGIN_ROOT/scripts/generate-index.py" "$WORLD_ROOT"
The script walks all directories for `key.md` files, handling both `_kernel/key.md` (current structure) and root-level `key.md` (flat/legacy structure). It deduplicates entries and skips template walnuts.
**Collected data per walnut:**
- Name, type, goal, phase, rhythm, tags
- People (from `key.md` `people:` field — multi-line list)
- Links (from `key.md` `links:` field — wikilink extraction)
- Parent (from `key.md` `parent:` field)
- Bundles (detected by `*/context.manifest.yaml` in walnut root — name, status, goal)
- Task counts (from `_kernel/now.json` if present)
- Last updated (from `_kernel/now.json` `updated` field)
**Projection tiers:** The graph supports three projection levels for controlling visual density:
- **Tier 1 — Walnuts only** — just the walnut nodes and their connections. Fast, clean overview.
- **Tier 2 — Walnuts + People** — adds people nodes that bridge multiple walnuts. Shows relationship topology.
- **Tier 3 — Full graph** — walnuts, people, bundles, tags. Maximum detail. Can get dense in large worlds.
Default to Tier 2. Offer toggle controls for Tier 1 (simplified) and Tier 3 (full detail).
**Outputs:**
- `.alive/_index.yaml` — human-readable world index
- `.alive/_index.json` — machine-readable for graph consumption
2. Render the Graph
Run `generate-graph.py` from the plugin to read the JSON index and generate an interactive D3.js graph.
python3 "$ALIVE_PLUGIN_ROOT/scripts/generate-graph.py" "$WORLD_ROOT"
The graph is written to `.alive/context-graph.html` — an HTML file with embedded data. Requires internet connection (D3.js loads from CDN, fonts from Fontshare/Google Fonts).
**Open in browser:**
# macOS open "$WORLD_ROOT/.alive/context-graph.html" # Linux xdg-open "$WORLD_ROOT/.alive/context-graph.html" # Windows start "" "$WORLD_ROOT/.alive/context-graph.html"
**Theme:** Alive branded. Light mode default (cream #FAF8F5, orange primary #F97316). Dark mode toggle (forest green #0A1F0D, copper #B87333 accents). Custom fonts: Array (display), Khand (headings), Inter (body).
**Nodes:**
- Walnuts (primary nodes — sized by bundle count and recency)
- People (toggle — shown for people who connect 2+ walnuts)
- Bundles (expandable — click a walnut to show its bundles as orbiting nodes)
- Central node connecting top-level walnuts
- Inputs buffer node showing unrouted count
**Edges:**
- `links:` field connections between walnuts
- `parent:` -> child relationships (dashed)
- Person -> walnut connections (dotted, when people shown)
- Bundle -> parent walnut (when expanded)
**Color by ALIVE domain:**
- Life = blue
- Ventures = orange
- Experiments = green
- Archive = warm gray
- People = purple
- Inputs = red
Colors adapt per theme (lighter in dark mode for visibility).
**Size by activity:**
- 15+ bundles = largest (20px)
- 5+ bundles = large (15px)
- Updated in last 2 days = medium-large (12px)
- Updated in last week = medium (9px)
- Stale = small (5px)
**Health signals visible:**
- Active (recent) = full opacity, glow on today's updates
- Quiet (1-2 weeks) = reduced opacity
- Waiting (2+ weeks) = dim, small
- Bundle-heavy walnuts get outer glow rings
3. Open in Browser
╭─ squirrel map generated │ │ 58 walnuts, 78 people, 41 bundles │ 60 nodes, 36 links, 11 people connectors │ │ > Opening in browser... ╰─
---
Graph Features
Interactive Controls
- **Hover node** -> tooltip with goal, phase, bundle count, urgent task count
- **Hover node** -> highlight all connected nodes and edges, dim everything else
- **Click walnut** -> expand bundles as orbiting nodes + open details panel
- **Click node** -> pin details panel (right sidebar) with full context
- **Drag** -> reposition nodes (physics simulation)
- **Zoom + pan** -> navigate large worlds
- **Hover edge** -> show connection type label (linked / parent -> child / person name)
- **Esc** -> close details panel
Details Panel
Click any node to open a pinned side panel showing:
- Name, domain badge, phase badge
- Goal description
- Metadata (rhythm, last updated, days since, session count)
- Urgent + active task count badges (from the index's `task_counts` payload)
- Bundle list with status badges (draft/prototype/published/done)
- Active bundle highlighted in primary color
- People list
- Tags
Search
- **`/` hotkey** -> focus search box
- Searches walnut names, goals, tags, and people
- Matching nodes highlighted, everything else dims
- **Esc** -> clear search
Theme Toggle
- Light mode default (Alive cream branding)
- Dark mode toggle (forest green + copper)
- Theme persists via localStorage
- Sun/moon toggle in header
Controls
- **reset view** -> zoom to fit
- **show people** -> toggle people connector nodes
- **labels on/off** -> toggle node labels
- **show archive** -> toggle archived walnuts
- **cluster** -> group nodes by ALIVE domain with background labels
- **projection tier** -> switch between Tier 1/2/3
Bundle Expansion
Click any walnut with bundles to expand them as orbiting nodes:
- Bundle nodes sized by active status (active
Showing the first part of this file.
Personal Context Manager for Claude Code. Your life in walnuts.
Repo: alivecontext/alive
Other skills on alive.
- /build-extensions
Create new skills, rules, and hooks for your world. Checks plugin compatibility, writes to the human's space (not plugin cache), validates against the system, and suggests when repeated work should become a skill. For marketplace-ready plugins, hands off to the contributor
Open skill - /bundle
Create, share, and graduate bundles — the unit of focused work within a walnut. Manages the full bundle lifecycle from creation through sharing to graduation.
Open skill - /capture-context
Use when external content arrives in the session — emails, transcripts, screenshots, documents, files, or in-session research worth keeping. Also use when there's nothing obvious to capture — the skill checks 03_Inbox/ for unrouted files and enters inbox scan mode. Stores raw
Open skill - /create-walnut
Something new is emerging. A venture, an experiment, a person entering the orbit, a life area getting serious. It needs its own walnut — its own identity, history, and future. Scaffolds the full structure, maps existing context sources, and optionally migrates files across.
Open skill - /demo
Generate a believable, lived-in ALIVE world from a free-text persona description (custom path) or a deterministic sandbox preset. Routes the create/list/activate/deactivate/delete/status surface and orchestrates the 5-stage subagent generation pipeline.
Open skill - /feedback
Report a bug, request a feature, or send general feedback to the ALIVE team. Collects safe system metadata, shows a preview, and creates a GitHub Issue. Nothing personal leaves the machine, only what you type and anonymous system info.
Open skill

