1.9 KiB
1.9 KiB
Switch the model profile used by GSD agents. Controls which OpenCode model each agent uses, balancing quality vs token spend.
Ensure config exists and load current state:
<required_reading> read all files referenced by the invoking prompt's execution_context before starting. </required_reading>
Validate argument:if $ARGUMENTS.profile not in ["quality", "balanced", "budget"]:
Error: Invalid profile "$ARGUMENTS.profile"
Valid profiles: quality, balanced, budget
EXIT
node "./.opencode/get-shit-done/bin/gsd-tools.cjs" config-ensure-section
INIT=$(node "./.opencode/get-shit-done/bin/gsd-tools.cjs" state load)
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
This creates .planning/config.json with defaults if missing and loads current config.
Update model_profile field:
{
"model_profile": "$ARGUMENTS.profile"
}
write updated config back to .planning/config.json.
✓ Model profile set to: $ARGUMENTS.profile
Agents will now use:
[Show table from MODEL_PROFILES in gsd-tools.cjs for selected profile]
Example:
| Agent | Model |
|-------|-------|
| gsd-planner | opus |
| gsd-executor | sonnet |
| gsd-verifier | haiku |
| ... | ... |
Next spawned agents will use the new profile.
Map profile names:
- quality: use "quality" column from MODEL_PROFILES
- balanced: use "balanced" column from MODEL_PROFILES
- budget: use "budget" column from MODEL_PROFILES
<success_criteria>
- Argument validated
- Config file ensured
- Config updated with new model_profile
- Confirmation displayed with model table </success_criteria>