Skip to content

/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

shell
$ npx -y skills add alivecontext/alive --skill load-context --agent claude-code

How 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/load-context
How auto-invocation works

Context 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

SKILL.md

load-context.SKILL.md
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

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 tasks** — `unscoped_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.j
Read more
Read it on GitHub ↗

Showing the first part of this file.

Ships withalive

Personal Context Manager for Claude Code. Your life in walnuts.

Get the whole plugin, auto-invoked
Stats
121
Stars
0
Views
6
Forks
Active
Maintenance
Python
Language
MIT
License
8d ago
Last commit
5mo ago
Created

Repo: alivecontext/alive

Other skills on alive.