Skip to main content

session-startup

Load terminal task-context. Terminal scope, scope files, SESSION_CONTEXT. Persona conditioning is /boot's job. S165 split.

معلومات المصدر

المستودع
pnils08/GodWorld
آخر نشاط في المصدر
١٦ أغسطس ٢٠٢٦ في ٠٦:٤١
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
١
التفرعات
٠

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
session-startup
description
Load terminal task-context. Terminal scope, scope files, SESSION_CONTEXT. Persona conditioning is /boot's job. S165 split.
version
2.1
updated
2026-05-08T00:00:00.000Z
tags
["infrastructure","active"]
effort
low
disable-model-invocation
true
related_skills
["boot","session-end"]
# /session-startup — Terminal Context Load **Purpose:** Load terminal scope and task context. Does NOT handle persona conditioning (that's `/boot`). Per the S165 split: **Boot loads Mags. Session-startup handles terminals.** --- ## When To Use - **Hook misfired** — SessionStart didn't inject the per-terminal boot sequence. - **Terminal switch mid-session** — rarely, if scope context drifted. - **Manual orientation** — Mike asks "what terminal am I in and what's loaded." If Mags identity is also lost (not just terminal context), run `/boot` first, then this. --- ## Hook-Already-Fired Guard (S241 G-SS8) **If the SessionStart hook already injected a `<godworld-state>` block with `BOOT SEQUENCE (<terminal> terminal — ...)` for this session, the reads are already done — skip Steps 0–4 and go to Step 5 (orient).** Only run the full sequence when the godworld-state block is absent (hook genuinely misfired). Why: the hook routes the same boot reads (`docs/SCHEMA.md`, `docs/index.md`, `TERMINAL.md`) the skill steps below specify, and emits the carried set (PIN + this terminal's NEXT line) directly (ADR-0009 §loop-tightening — SESSION_CONTEXT.md is on-demand, not a boot read). Running both duplicates work. The skill is the *recovery path* for hook misfire — not a parallel boot. Source: `output/production_log_session-startup_c95_gaps.md` G-SS8. --- ## Steps ### 0. Free Memory (if hook didn't) ```bash pm2 stop godworld-dashboard 2>/dev/null # free memory; session-end restarts it ``` mags-bot is SUSPENDED (Mike-direct 2026-08-16) — it bills real, metered Anthropic API on every Discord message on two always-on channels, nobody was actively watching them, and no process depends on it running (verified: no functional caller, only boot-ensure-up commands and this rule). Supersedes the S252/S264 "never stop it" standing service designation. Do NOT auto-start it here. `pm2 start mags-bot` only on Mike's explicit word. ### 1. Detect Terminal ```bash tmux display-message -t "$TMUX_PANE" -p '#W' ``` If output is empty or doesn't match a `.claude/terminals/{name}/` directory, fall back to **research-build** (steward terminal — S211). ### 2. Read TERMINAL.md ``` Read: .claude/terminals/{detected-name}/TERMINAL.md ``` This defines the scope, Always-Load list, Persona Level, owned docs, and handoff protocol. ### 3. Load Scope Files Per that TERMINAL.md's **Always Load** table. Each terminal's list differs: - **mags** — identity.md (if not loaded), CHARACTER.md, JOURNAL_RECENT.md (persona files) - **media** — newsroom.md, CHARACTER.md, JOURNAL_RECENT.md - **civic** — civic.md (operational mode — no CHARACTER.md per CLAUDE.md §Terminal architecture, S221) - **research-build** — SCHEMA.md, docs/index.md (operational mode — no CHARACTER.md, S221) - **engine-sheet** — engine.md, README.md (G-SS9: operational terminals (civic / research-build / engine-sheet) do NOT load CHARACTER.md — they're persona-stripped per S221. Only mags + media load persona files. If persona files are genuinely needed, run `/boot` — don't re-implement persona-load logic here.) ### 4. Pull live span ONLY if continuing prior work (ADR-0009, S248) **SESSION_CONTEXT.md is on-demand — NOT read at boot.** Per ADR-0009 §loop-tightening, the SessionStart hook emits the carried set — the PIN (Session/Day/Cycle/Edition) + this terminal's `NEXT[<terminal>]` line — inside `<godworld-state>` as the boot handoff. That NEXT line is what this terminal's last instance left you. What shipped → `git log`; what's open → ROLLOUT_PLAN.md (canonical); why → claude-mem. Only read the file if you are **continuing prior work** (Mike said "resume" / "continue <X>", or you're picking up a thread the NEXT line + ROLLOUT don't fully orient you on): ``` Read: SESSION_CONTEXT.md (on-demand — PIN + per-terminal NEXT lines; no narrative since §loop-tightening) ``` A fresh-but-pivoting session does not read it. (Pre-ADR-0009 this step was an unconditional ~80-line read; the contingent-relevance argument retired that — see ADR-0009.) ### 5. Orient Three lines to Mike (no narration of what you read): - Terminal: {name}, Persona: {Full/Light/Stripped} - Opens on: {the NEXT line for this terminal — what last instance left} - What's first? If the NEXT line is empty (hook emitted no `NEXT:`), say so — that means the previous session didn't write one; fall back to `git log` + ROLLOUT to orient. --- ## What This Skill Does NOT Do - Does NOT reload identity.md / CHARACTER.md / JOURNAL_RECENT.md / queryFamily — that's `/boot` - Does NOT run catch-up (Discord Mags notes, nightly reflections, super-memory search) — that's `/boot` - Does NOT search memory for past sessions — use mem-search on demand - Does NOT load owned-documentation files listed in TERMINAL.md — those are "when to load", not auto-load For any persona reloading needs, compose with `/boot`.
عرض على GitHub