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>
This commit is contained in:
Paul O'Reilly
2026-04-12 00:40:17 +12:00
parent 143b32597e
commit 340c40392a
5 changed files with 62 additions and 93 deletions

View File

@@ -18,20 +18,6 @@
The initial engagement mode picker (chat / quick / deep / hybrid / orch) ships with `claude-profile` and writes `active-mode.env` into the active profile directory. Several integration pieces are deferred to future work — none block v1 but each unlocks the design fully:
### CLAUDE.md project picker integration
- **Problem:** `claude-profile --project <name>` writes `CLAUDE_PROJECT` into `active-mode.env`, but the existing CLAUDE.md session-start project picker still runs and ignores it. The user has to pick the same project twice when launching with a preset.
- **Idea:** Update `~/dev/claude/CLAUDE.md` (the top-level session-start instructions) to read `$CLAUDE_CONFIG_DIR/active-mode.env` first; if `CLAUDE_PROJECT` is set, skip the interactive project menu and `cd` straight into that project. Same hook can announce the active mode to satisfy the "first message after `/clear`" templates in each mode file.
- **Open questions:** Does the CLAUDE.md flow have a clean place to read shell env files, or does `claude-profile` need to inject the project name into the appended system prompt directly? The latter is simpler but couples the picker to claude-profile.
- **Depends on:** Nothing blocking — can be done any time.
### Status-line script: render the mode tag
- **Problem:** The mode tag (`chat / quick / deep / hybrid / orch`) is recorded in `active-mode.env` but the status line at `~/.claude/status/statusline.sh` does not currently read it. Humans cannot see the active mode at a glance, which is the whole point of the persistent indicator.
- **Idea:** Update the status-line script to read `$CLAUDE_CONFIG_DIR/active-mode.env`, extract `CLAUDE_MODE_TAG` and `CLAUDE_DRIVER`, and prepend them to the existing topic in the format `[Driver] mode-tag · topic | N% ctx`. Modes with named subagent escalation (`deep`, `hybrid`) should render an arrow: `[Sonnet→Opus] deep · topic`. Orchestrator should append a queue-depth segment: `[Sonnet] orch · project · queue:N`.
- **Open questions:** Where does the status-line script live in the repo (it's outside small-scripts)? Should the queue-depth read be cached to avoid hammering `.agent-tasks.json` on every status-line render?
- **Depends on:** The status-line script is in claude-foundations, not small-scripts — this work happens in that repo.
### `bg-model-call` wrapper
- **Problem:** The `deep` and `hybrid` modes both reference `bg-model-call` as the standardised way to fire a third-party model (MiniMax, etc.) in the background and have the result land in a sentinel file. The wrapper does not exist yet — modes currently just describe the pattern.