Files
small-scripts/context/claude-profile-modes.md
Paul O'Reilly 340c40392a End-of-session: statusline + session-start integration, docs update
- 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>
2026-04-12 00:40:17 +12:00

44 lines
2.6 KiB
Markdown

# 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
1. **Install the symlink** (if not already done):
```bash
ln -sf "$HOME/dev/claude/small-scripts/scripts/claude-profile" "$HOME/sbin/claude-profile"
```
2. **Real-launch test:** `claude-profile oreillyit --mode chat` first (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] chat` format
- `~/.claude-oreillyit/active-mode.env` is written with correct values
3. **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"
4. **Then `--mode deep`** to verify plan-mode auto-engagement and the `[Sonnet→Opus] deep · topic` status bar format
5. **If anything's off**, `tests/test-claude-profile.sh` is the fast feedback loop
## Remaining follow-ups (from FUTURE.md)
1. **`bg-model-call` wrapper** — `deep` and `hybrid` modes reference it but it doesn't exist yet. Own spec + script entry.
2. **`switch mode` skill** — mid-session re-pick writes new `active-mode.env` for the next `/clear`. Lower priority.
3. **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.md` is also not git-tracked** — changes there are also immediately live.
- **`CLAUDE_CONFIG_DIR` must be exported** by claude-profile before `exec claude`. The statusline hook inherits it from the claude process environment.
- **`read -rp` under `set -e` exits silently if stdin is not a TTY.** The picker guards all interactive reads with `[[ -t 0 ]]`. See `memory/gotchas-bash.md`.