/model-config
View or change the **primary model** that handles your coding work across srooter (the gateway), the route-task hooks, and Maggy. One setting, read everywhere. Stored in `~/.claude/model-config.json`.
$ npx -y skills add alinaqi/claude-bootstrap --agent claude-codeHow it fires
How this command gets triggered: by you, by Claude, or both.
- Fires itselfClaude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/model-config
Context preview
What this command does when you run it.
View or change the **primary model** that handles your coding work across srooter (the gateway), the route-task hooks, and Maggy. One setting, read everywhere. Stored in `~/.claude/model-config.json`.
Command definition
model-config.md/model-config — Choose the model you follow
View or change the **primary model** that handles your coding work across srooter (the gateway), the route-task hooks, and Maggy. One setting, read everywhere. Stored in `~/.claude/model-config.json`.
---
Usage
`/model-config` — show current primary + what's available `/model-config <model>` — set the primary (e.g. `minimax`, `claude`, `deepseek`)
---
Steps
The brain is `scripts/model_routing.py` in claude-bootstrap. Resolve it via `~/.claude/.bootstrap-dir`:
MR="$(cat ~/.claude/.bootstrap-dir)/scripts/model_routing.py"
1. Show current state (no argument)
echo "Available on this machine:"
python3 "$MR" detect | python3 -c "import sys,json;print(', '.join(k for k,v in json.load(sys.stdin).items() if v))"
echo "Current config:"
python3 "$MR" showReport: which model is `primary`, the `classifier`, the `mode` (smart/hard), and the available models. If `auto_detected` is true, mention it was inferred from the machine and can be overridden.
2. Set a new primary (argument given)
python3 "$MR" set-primary "<model>" # validates against the detected set
python3 "$MR" apply # sync into srooter.yaml long_context
Then tell the user it takes effect for new sessions. If srooter is running, it must be restarted to pick up the routing change:
cd "$(cat ~/.claude/.bootstrap-dir)/../srooter" 2>/dev/null && \
echo "Restart srooter to apply: kill \$(cat .srooter.pid); and relaunch"
---
Notes
- **Smart mode** (default): the primary handles real coding; trivial/cheap
asks still route to the local classifier (qwen) and explicit per-prompt overrides ("use claude") always win.
- No hardcoding — if the config is missing it is auto-created from what's
installed/keyed on the machine.
Pre-analysis (MiniMax on every prompt)
When `"analyze": true` (default), the route-task hook sends each prompt to MiniMax first for a terse INTENT / SCOPE / RISKS / APPROACH brief and injects it into context, so Claude executes with that read of the task. Adds ~3-5s per prompt. Toggle:
python3 "$MR" set-analyze false # turn off (prompts go straight through)
python3 "$MR" set-analyze true # turn back on
The hook fails open — if MiniMax is slow/unreachable, routing proceeds without the analysis (capped at MINIMAX_TIMEOUT=20s).
Related
- `scripts/onboard.sh` — sets this during onboarding
- `/maggy-init` — Maggy setup
Read more
/model-config — Choose the model you follow
View or change the **primary model** that handles your coding work across srooter (the gateway), the route-task hooks, and Maggy. One setting, read everywhere. Stored in `~/.claude/model-config.json`.
---
Usage
`/model-config` — show current primary + what's available `/model-config <model>` — set the primary (e.g. `minimax`, `claude`, `deepseek`)
---
Steps
The brain is `scripts/model_routing.py` in claude-bootstrap. Resolve it via `~/.claude/.bootstrap-dir`:
MR="$(cat ~/.claude/.bootstrap-dir)/scripts/model_routing.py"
1. Show current state (no argument)
echo "Available on this machine:"
python3 "$MR" detect | python3 -c "import sys,json;print(', '.join(k for k,v in json.load(sys.stdin).items() if v))"
echo "Current config:"
python3 "$MR" showReport: which model is `primary`, the `classifier`, the `mode` (smart/hard), and the available models. If `auto_detected` is true, mention it was inferred from the machine and can be overridden.
2. Set a new primary (argument given)
python3 "$MR" set-primary "<model>" # validates against the detected set python3 "$MR" apply # sync into srooter.yaml long_context
Then tell the user it takes effect for new sessions. If srooter is running, it must be restarted to pick up the routing change:
cd "$(cat ~/.claude/.bootstrap-dir)/../srooter" 2>/dev/null && \ echo "Restart srooter to apply: kill \$(cat .srooter.pid); and relaunch"
---
Notes
- **Smart mode** (default): the primary handles real coding; trivial/cheap
asks still route to the local classifier (qwen) and explicit per-prompt overrides ("use claude") always win.
- No hardcoding — if the config is missing it is auto-created from what's
installed/keyed on the machine.
Pre-analysis (MiniMax on every prompt)
When `"analyze": true` (default), the route-task hook sends each prompt to MiniMax first for a terse INTENT / SCOPE / RISKS / APPROACH brief and injects it into context, so Claude executes with that read of the task. Adds ~3-5s per prompt. Toggle:
python3 "$MR" set-analyze false # turn off (prompts go straight through) python3 "$MR" set-analyze true # turn back on
The hook fails open — if MiniMax is slow/unreachable, routing proceeds without the analysis (capped at MINIMAX_TIMEOUT=20s).
Related
- `scripts/onboard.sh` — sets this during onboarding
- `/maggy-init` — Maggy setup
Turn Claude Code into a self-reviewing, test-enforced engineering system that remembers context across sessions — then route work across 13 models from a single dashboard.
Repo: alinaqi/claude-bootstrap
Other commands on maggy.
- /analyze-repo
Analyze an existing repository's structure, conventions, and guardrails.
Open command - /analyze-workspace
Full dynamic analysis of workspace topology, dependencies, and contracts.
Open command - /build-in-public
Build-in-Public — generate posts from your engineering work, anonymize, and schedule via Buffer
Open command - /check-contributors
Checks who's working on the project and optionally converts to a multi-person project with team state management.
Open command - /icpg-bootstrap
Infer ReasonNodes from existing git commit history. One-time setup for existing codebases.
Open command - /icpg-drift
Run a full drift scan and display all unresolved drift events, grouped by dimension and sorted by severity.
Open command

