- context: claude-profile-modes updated to reflect current state (statusline and session-start auto-select done; next step is real launch test) - FUTURE.md: remove two completed items (status-line, CLAUDE.md picker) - README: add missing scripts (check-skills, gen-secret, mp3-to-mp4, split-wezterm, sync-repos) to scripts table - session log 2026-04-12.003747.md Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2.6 KiB
2.6 KiB
claude-profile engagement modes
Status
Core features shipped and pushed (commit 143b325). NOT yet exercised in a real claude launch.
What's done
| Component | State |
|---|---|
| Profile + mode picker (phases 1-3) | Done, 37 dryrun assertions passing |
5 mode files with escalates_to frontmatter |
Done |
active-mode.env written on every launch |
Done (includes CLAUDE_ESCALATES_TO) |
statusline.sh — [Sonnet→Opus] deep · topic format |
Done (reads CLAUDE_CONFIG_DIR/active-mode.env) |
Root CLAUDE.md — auto-select project from cwd or CLAUDE_PROJECT |
Done |
Preset support (presets.yaml) |
Done (example at data/claude-profile/presets.yaml.example) |
Next session — recommended order
- Install the symlink (if not already done):
ln -sf "$HOME/dev/claude/small-scripts/scripts/claude-profile" "$HOME/sbin/claude-profile" - Real-launch test:
claude-profile oreillyit --mode chatfirst (lowest blast radius — Haiku driver, no project, no async). Verify:- Mode body appears in system prompt (CLAUDE.md announces the mode)
- Status bar shows
[Haiku] chatformat ~/.claude-oreillyit/active-mode.envis written with correct values
- Auto-select test: launch from inside a project dir (
cd ~/dev/claude/small-scripts && claude-profile oreillyit --mode quick) — should skip the project picker and announce "Auto-selected project small-scripts" - Then
--mode deepto verify plan-mode auto-engagement and the[Sonnet→Opus] deep · topicstatus bar format - If anything's off,
tests/test-claude-profile.shis the fast feedback loop
Remaining follow-ups (from FUTURE.md)
bg-model-callwrapper —deepandhybridmodes reference it but it doesn't exist yet. Own spec + script entry.switch modeskill — mid-session re-pick writes newactive-mode.envfor the next/clear. Lower priority.- MiniMax inverted architecture — long research project; requires token-budget sketch first.
Key gotchas
- statusline.sh is not in any git repo — lives at
~/.claude/status/statusline.sh. Changes are live immediately; no commit needed. - Root
~/dev/claude/CLAUDE.mdis also not git-tracked — changes there are also immediately live. CLAUDE_CONFIG_DIRmust be exported by claude-profile beforeexec claude. The statusline hook inherits it from the claude process environment.read -rpunderset -eexits silently if stdin is not a TTY. The picker guards all interactive reads with[[ -t 0 ]]. Seememory/gotchas-bash.md.