Session Prompt Toggles¶
URL: https://mkdocs.justinsforge.com/memory/general/reference_session_prompt_toggles/
LIVE in the chat.justinsforge session launcher (2026-07-04). The new-session sheet has a
collapsed "Coding session" expander; selections assemble a standard prompt from canonical
blocks so you don't retype setup. Default (collapsed) view is unchanged, plain questions /
thoughts / reports behave exactly as before. Backend-assembles design (single source of truth):
the block text lives in PROMPT_BLOCKS in scripts/forge_session_launcher_api.py; this doc is
the human-readable mirror. See [[reference_session_launcher]], [[reference_creatortrack_parallel_dev]].
How it works¶
- Widget (
sites/justinsforge.com/chat/launcher.js) sendsrepo/repo_other/scenario/modifiersin the spawn request. assemble_toggle_prompt()prepends the selected blocks (wrapped in<session_setup>) to your free text. Unknown keys are dropped (fail-safe); no selection = free text unchanged.- Launcher injects TEXT only; the spawned agent runs any scripts (
agent_bootstrap.sh,deploy.sh) itself and derives the branch slug from the task.
Tool map (the agent runs these; buttons don't)¶
| Intent | Tool |
|---|---|
| Worktree + branch + optional dev server + own DB clone | forge_creatortrack_agent_bootstrap.sh <branch> <port> [--no-server] |
| Build shared dev DB base (prereq) | forge_creatortrack_dev_base.sh |
| Deploy CreatorTrack to prod (build + restart :3070) | forge_creatortrack_deploy.sh |
| Fan out multiple workers | forge_creatortrack_tier1_fanout.sh, ..._component_batch.sh |
Target (radio, pick one)¶
- CreatorTrack —
/home/justinwieb/creatortrack; injects CT context (prod :3070/dev :3060, deploy + bootstrap scripts, DB viaforge_workspace_db.py, privateJustinWieb/creatortrackbackup). - Forge —
/home/justinwieb/forge; main is trunk, restart the service after editing a script it runs, register reusable tools. - Other / new — reveals a free-text field (repo path or short description); injects a generic block (state your path, secrets in
~/.forge-secrets, doctrine conventions). Covers greenfield builds.
Scenario (radio, pick one)¶
- Feature build — NEW worktree + branch off main (
feat/<slug>the agent derives). Commit often. No dev server unless the Dev-server modifier is ticked. Do not merge/deploy. - Bug fix — reproduce + state root cause first, fix at root, drive the flow to confirm.
- Integrator — integration branch off main, merge candidates, resolve conflicts, test combined, then merge to main + deploy + push (after approval).
- Deploy — confirm main clean, run deploy path, verify prod port, push main.
- Explore only — read-only; explain / propose, no edits.
Modifiers (checkboxes, stack)¶
devserver (start a dev server + give URL; CreatorTrack claims a pre-warmed slot via forge_creatortrack_slot_claim.sh first, else bootstraps fresh) · plan (feature-plan gate first) · push (push branch when done) · notify (Telegram on finish/blocker) · commit (commit each increment) · notouch (never touch main) · register (register reusable tool + smoke test) · typecheck (tsc --noEmit only, no server) · tests (run the suite) · handoff (write a handoff doc when done) · fanout (decompose into independent features, spawn one worktree-isolated background agent each, agents return summaries + commit on own branches, orchestrator integrates one at a time; added 2026-07-07).
One-shot (2026-07-06): Target/Scenario/Modifiers clear themselves on every Launch, so the next session always starts from a clean sheet.
Session weight (More Prompt Options, 2026-07-06)¶
Unlike the prompt toggles above, these change the AGENT ITSELF (system prompt, tools, model),
not the prompt text. Console-only; any pick forces a cold boot (30-60s, warm pool can't take
boot-time argv/env). Composed server-side into SPAWN_CWD / SPAWN_CLAUDE_FLAGS / EFFORT
env for forge_spawn_session.sh (trusted-caller contract; never client text).
| Option | API field | What it does |
|---|---|---|
| Vanilla Claude | vanilla |
Boots in empty ~/vanilla with --setting-sources project --strict-mcp-config: no forge CLAUDE.md, no memory, no user plugins/hooks, no MCP servers. ~/vanilla/.claude/settings.json seeds skipDangerousModePermissionPrompt (fixture; API re-creates if missing). Folder trust accepted once 2026-07-06 (~/.claude.json). Excludes Advanced Prompt (400). |
| No MCP tools | no_mcp |
Forge context kept, --strict-mcp-config strips every MCP server (Playwright, GitHub, context-mode, connectors). Implied by vanilla. |
| Read-only tools | readonly_tools |
--disallowedTools Write Edit NotebookEdit Bash: tool-layer deny, stronger than the Explore-only prompt block. |
| 1M context | context_1m |
Swaps to the [1m] model variant; Fable/Opus only (400 otherwise). |
| Thinking effort | effort |
low\|medium\|high\|xhigh\|max via claude --effort (spawn script EFFORT env). Unset = account default (medium). |
All 400 with target=vector (Console-only).
Common combinations¶
- CreatorTrack feature: CreatorTrack + Feature build + Dev server + Commit often + Don't touch main
- Greenfield: Other/new + Feature build + Plan first
- Quick bug fix: CreatorTrack + Bug fix + Notify
- Merge day: CreatorTrack + Integrator + Notify
- Ship it: CreatorTrack + Deploy + Push
Extending¶
Add a key to the relevant sub-dict in PROMPT_BLOCKS (backend) and, for a new modifier/scenario,
one entry to the mods/scns/repos array in launcher.js's coding section. Keep this doc in sync.