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,…
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
$ npx -y skills add alivecontext/alive --skill load-context --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/load-contextContext preview
The summary Claude sees to decide when to auto-load this skill.
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
name: alive:load-context description: "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." user-invocable: true
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.
---
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. ╰─
---
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.
Extract and display from now.json's structure:
---
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.j
Repo: alivecontext/alive
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,…
Create, share, and graduate bundles — the unit of focused work within a walnut. Manages the full bundle lifecycle from creation through sharing to graduation.
Use when external content arrives in the session — emails, transcripts, screenshots, documents, files, or in-session research worth keeping. Also use when…
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,…
Generate a believable, lived-in ALIVE world from a free-text persona description (custom path) or a deterministic sandbox preset. Routes the…
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.…