Every skill invocation just got half the prompt bill
- bin/gstack-retro-metrics provides deterministic git metrics for /retro
- Shared preamble's bash moved into two runtime scripts bin/gstack-skill-start and bin/gstack-skill-end that echo STATUS lines
- One-time onboarding text now appears only when its gate actually fires, emitted as session-bound instruction blocks
- Eleven more skills got the section carve and office-hours' existing carve went deeper
- /review eager per invocation reduced from 109.5KB to 53.7KB (-51%)
- /land-and-deploy eager reduced from 109.8KB to 54.4KB (-50%)
- /codex eager reduced from 100.0KB to 53.9KB (-46%)
- Corpus on disk reduced from 6.4MB to 5.4MB (-15%)
- Repo CLAUDE.md reduced from 66.4KB to 44.9KB (-32%)
- Context-budget ratchet grades the always-on catalog and each skill's per-invocation cost against committed ceilings
- Six reference docs extracted from repo CLAUDE.md and replaced inline by short rules and pointers
- The AskUserQuestion tool-resolution renders as a compact branch table
- ios-fix, ios-clean, ios-sync, and ios-design-review dropped to preamble tier 2
- The preamble degrades safely on stale installs
- The privacy consent gate and telemetry prompt fire only in interactive sessions
- Hermetic E2E children get seeded onboarding state in their own GSTACK_HOME
- The once-daily artifacts pull is now non-interactive and slow-network bounded
- Branch names and artifacts-repo state files are sanitized before entering STATUS output
- Skill-start no longer parses a multi-megabyte ~/.claude.json on every invocation when no gbrain server is registered
From gstack
Shared preamble's bash moved into two runtime scripts bin/gstack-skill-start and bin/gstack-skill-end that echo STATUS lines. One-time onboarding text now appears only when its gate actually fires, emitted as session-bound instruction blocks. Eleven more skills got the section carve and office-hours' existing carve went deeper. /review eager per invocation reduced from 109.5KB to 53.7KB (-51%). /land-and-deploy eager reduced from 109.8KB to 54.4KB (-50%). /codex eager reduced from 100.0KB to 53.9KB (-46%). Corpus on disk reduced from 6.4MB to 5.4MB (-15%). Repo CLAUDE.md reduced from 66.4KB to 44.9KB (-32%). bin/gstack-skill-start / bin/gstack-skill-end emit SKILL_START_PROTO: 1 handshake, STATUS lines, and gated one-time onboarding as GSTACK_INSTRUCTION blocks. bin/gstack-retro-metrics provides deterministic git metrics for /retro. Section carves for 11 new skills: review, codex, land-and-deploy, autoplan, spec, setup-gbrain, qa, browse, retro, design-html, design-shotgun. Context-budget ratchet grades the always-on catalog and each skill's per-invocation cost against committed ceilings. Six reference docs extracted from repo CLAUDE.md and replaced inline by short rules and pointers. The AskUserQuestion tool-resolution renders as a compact branch table. ios-fix, ios-clean, ios-sync, and ios-design-review dropped to preamble tier 2. The preamble degrades safely on stale installs. The privacy consent gate and telemetry prompt fire only in interactive sessions. Hermetic E2E children get seeded onboarding state in their own GSTACK_HOME. The once-daily artifacts pull is now non-interactive and slow-network bounded. Branch names and artifacts-repo state files are sanitized before entering STATUS output. Skill-start no longer parses a multi-megabyte ~/.claude.json on every invocation when no gbrain server is registered. Preamble A/B eval pins script-render behavior. New free tests for skill-start/skill-end contract and behavior, retro-metrics, onboarding moved-literals tombstone, and context-budget ratchet. test/helpers/touchfiles-data.ts runtime scripts joined every dep list.