Skip to main content
AI/MLalivecontext

alive:load-context

The human mentions a walnut to work on, asks about a specific venture/experiment/project, or wants to check status — not just explicit 'load X'. Load the brief pack (3 files), resolve the people involved, check the active bundle — then surface one observation and ask what to work on. Context loads in tiers: walnut and people are automatic, bundle depth is offered.

Stars
101
Source
alivecontext/alive
Updated
2026-05-11
Slug
alivecontext--alive--load-context
View on GitHubRaw SKILL.md

// install — copy + paste into any project

mkdir -p .claude/skills && curl -fsSL https://raw.githubusercontent.com/alivecontext/alive/HEAD/plugins/alive/skills/load-context/SKILL.md -o .claude/skills/load-context.md

Drops the SKILL.md into .claude/skills/load-context.md. Works with Claude Code, Cursor, and any agent that loads SKILL.md files from .claude/skills/.

Load

Load a walnut. See where things are. Work.

Default: single-walnut focus. But people involved are loaded automatically (frontmatter only) — you can't work on a venture without knowing who's in it.


If No Walnut Named

Show available walnuts as a numbered list grouped by domain:

╭─ 🐿️ pick a walnut
│
│  Life
│   1. identity         active    Mars visa application
│   2. health           quiet     Sleep study results
│
│  Ventures
│   3. nova-station      active   Orbital test window
│   4. paper-lantern     quiet    Menu redesign
│
│  Experiments
│   5. midnight-frequency active  Episode 12 edit
│   6. glass-cathedral   waiting  Decide: gallery or festival
│
│  ▸ Number to load, or name one.
╰─

Tier 1 — Brief Pack (3 files) + claim the session

Read these three files. That's it — everything you need to orient.

  1. _kernel/key.md — full file (identity, people, links, rhythm)
  2. _kernel/now.json — full file (phase, bundle statuses with task summaries, recent sessions, nested walnut state, blockers, context paragraph)
  3. _kernel/insights.md — frontmatter only (what domain knowledge sections exist)
  4. Claim this session for the walnut — Edit .alive/_squirrels/{your-session-id}.yaml and change the walnut: field from null to the walnut's directory basename (e.g. walnut: berties, walnut: alive-os). Your session ID is in the SessionStart injection at the top of context (Session ID: ...); the squirrel YAML lives under the world's .alive/_squirrels/ directory using the full UUID as the filename. This step is mandatory, not optional. Cross-session hooks (alive-context-watch.sh, the statusline, project.py's recent-sessions aggregator) all read walnut: from this YAML to know which walnut you're on. If you skip this, parallel-session change detection silently no-ops, the statusline shows the wrong context, and projections under-count your activity. Use a single Edit with old_string: "walnut: null" and new_string: "walnut: {name}". If the YAML already has a different walnut name (rare — cross-walnut session), leave it and surface the conflict to the human.

DO NOT read any other files at this stage. No log.md. No bundle manifests. No tasks files. No squirrel entries. All of that data is already in now.json — the projection script aggregated it. Reading source files at load wastes context window on data you already have.

Inbox triage (background): After reading the brief pack, check if 03_Inbox/ has items (ls 03_Inbox/ 2>/dev/null). If yes, dispatch a background triage agent (same spec as in the world skill — reads items, tags type/destination/priority, returns structured report). Don't wait for it — continue with people resolution and the Spark. Results arrive while you work.

Show > reads as you go, and surface the claim:

> _kernel/key.md           Lock-in Lab — launching, weekly rhythm, 3 people
> _kernel/now.json          Phase: launching. Bundle: official-launch.
                            Active bundles: 2 (official-launch: 1 urgent, 18 todo; research: 4 todo)
                            Blockers: none. Recent: 3 sessions.
> _kernel/insights.md       4 domain knowledge sections
✓ claimed session for lock-in-lab (squirrel YAML updated)

Backward compat fallback chain:

  1. _kernel/now.json (v3)
  2. _kernel/_generated/now.json (v2)
  3. now.md at walnut root or _core/now.md (v1)

If a legacy format is found, surface the upgrade warning before continuing:

╭─ 🐿️ this walnut is on an older version
│  Found v2 state at _kernel/_generated/now.json.
│  The system works but projections, tasks, and world speed are degraded.
│
│  ▸ Preview the upgrade first: /alive:system-upgrade --dry-run --plan-output /tmp/upgrade-plan.txt
│  Then run: /alive:system-upgrade
╰─

If NOTHING is found, the walnut has no state — read _kernel/log.md as last resort.

Displaying now.json

Extract and display from now.json's structure:

  • Phase — current phase string
  • Active bundles — each bundle entry has task counts and flags for urgent items
  • Urgent + active tasksunscoped_tasks.urgent and unscoped_tasks.active lists; the urgent list is the implicit next-action signal
  • Blockers — surface any, or say "none"
  • Recent sessions — count and brief summary
  • Nested walnuts — from the children field, show any child walnut state worth noting

Tier 2 — People Context (automatic)

After loading the brief pack, resolve key.md people: to person walnuts. For each person listed, read their person walnut's _kernel/key.md frontmatter only — name, role, tags, last updated, rhythm. This is lightweight (3-5 small reads) and always happens.

> people/ryn-okata/key.md       engineering lead, updated 2 days ago
> people/jax-stellara/key.md    vendor contact, updated 22 days ago !
> people/orion-vex/key.md     systems architect, updated 5 days ago

If any person has relevant recent activity — a dispatch routed from another session, a stash note tagged to this walnut, or staleness worth flagging — surface it:

╭─ 🐿️ people
│  Ryn Okata — engineering lead, updated 2 days ago
│    Dispatch from [[heavy-revive]]: "prefers async comms"
│  Jax Stellara — vendor contact, 22 days ago !
│    Last interaction was pre-testing phase — context may be stale
│  Orion Vex — systems architect, updated 5 days ago
│    3 stash items routed here from session c2f8e7f2
│
│  ▸ Deep load anyone?
│  1. Load Orion's routed stash
│  2. Load all people context (now.json + recent log)
│  3. Just the summary above
╰─

If no relevant activity: Show the summary inline with the brief pack reads. No separate prompt — keep it lightweight.

Resolving people to walnuts: Match people: names against 02_Life/people/ folder names (kebab-case). Legacy person walnuts at 02_Life/people/ are still recognized. If no walnut exists for a person, note it but don't flag — not everyone needs a person walnut.


Tier 3 — Bundle Deep-Load (on demand)

If now.json has a bundle: field pointing to an active bundle, offer to deep-load it. The brief pack already told you the bundle name, status, task counts, and urgency — this tier gives you the full working context.

╭─ 🐿️ active bundle: shielding-review
│  Status: draft (v0.3)
│  Goal: Evaluate radiation shielding vendors
│  2 active sessions: squirrel:a8c95e9 (working on v0.3)
│  3 tasks open, 1 in progress
│
│  ▸ Load bundle context?
│  1. Deep load (manifest + live tasks)
│  2. Just the summary above
│  3. Switch to a different bundle
╰─

Deep load reads:

  1. {walnut}/{name}/context.manifest.yaml — full file (context, changelog, work log, session history). In v3 bundles are flat at the walnut root; for legacy v2 worlds fall back to bundles/{name}/context.manifest.yaml.
  2. tasks.py list --walnut {path} --bundle {name} — call the script for the detailed task view. Do NOT read tasks.json directly; the script is the interface.
  3. Write active_sessions: entry to the bundle's context.manifest.yaml — claim this session so other agents know you're here.

If active_sessions: shows another agent is working on this bundle, warn:

╭─ 🐿️ heads up
│  squirrel:a8c95e9 is currently working on v0.3 of this bundle.
│  Coordinate or work on something else to avoid conflicts.
╰─

Spotted

One observation before asking what to work on. Fires after the load sequence, grounded in the context just loaded.

The brief pack gives you everything: phase, bundles, tasks, blockers, recent sessions, nested walnuts. Find something worth noticing — a blocker that's been sitting, a bundle with no recent sessions, an urgent task that's overdue, a pattern across task counts.

╭─ 🐿️ spotted
│  The official-launch bundle has 1 urgent task but no sessions
│  in 4 days. The PCM essay draft might be blocking everything else.
╰─

If there's not enough context for a genuine observation, skip it. An obvious one is worse than none.


Bundle Prompt

After the Spotted observation, prompt with bundle awareness:

╭─ 🐿️ nova-station
│  Goal:    Build the first civilian orbital tourism platform
│  Phase:   testing
│  Bundle:  shielding-review (draft, draft-02)
│
│  ▸ What are you working on?
│  1. Continue bundle (shielding-review)
│  2. Start new (creates bundle)
│  3. Go deeper (log history, linked walnuts, full insights)
│  4. Just chat

If the human picks "Start new" -> invoke alive:bundle (create operation).

If no active bundle exists, show only:

│  1. Start new
│  2. Go deeper
│  3. Just chat

Then Ask (legacy — replaced by Bundle Prompt above)

If the Bundle Prompt section is used, skip this. This section remains for backward compatibility with walnuts that don't use bundles.

╭─ 🐿️ nova-station
│  Goal:    Build the first civilian orbital tourism platform
│  Phase:   testing
│
│  ▸ What to work on?
│  1. Start new
│  2. Go deeper (log entries, linked walnuts)
│  3. Just chat
╰─

"Start new" — pick up an urgent task or create a new bundle. "Go deeper" — reads log frontmatter, recent entries, expands linked walnuts. "Just chat" — freestyle, the squirrel loads more later if needed.


During Work

  • Stash in conversation (see squirrels.md). No file writes except capture + bundle work.
  • Always watching: people updates, bundle progress, capturable content.
  • People frontmatter is already loaded — use it. If someone mentioned matches a loaded person, connect the dots.
  • When a bundle reaches prototype -> offer to promote to published.

Cross-Loading

If another walnut becomes relevant during work ("this references [[glass-cathedral]]"), ask before loading it. The primary walnut stays focused.

╭─ 🐿️ cross-reference
│  This mentions [[glass-cathedral]]. Load its context?
│
│  ▸ How much?
│  1. Frontmatter only (quick scan)
│  2. Full brief pack
│  3. Skip
╰─

Multi-Walnut Loading

The default is single-walnut focus. But alive:load-context walnut-a walnut-b is valid for cross-walnut sessions:

  • First walnut = primary. Full brief pack + people + bundle offer.
  • Additional walnuts = secondary. Read _kernel/key.md frontmatter + _kernel/now.json only. Enough to reference, not enough to distract.

This is rare. Most cross-walnut context comes naturally from the people tier (Tier 2) — loading a venture automatically gives you lightweight context on everyone involved.