Files
msd-core/commands/gsd/set-profile.md
Lex Christopherson 4218f8666a feat(profiles): add model profiles for GSD agents
Adds switchable model profiles (quality/balanced/budget) to control
which Claude model each agent uses, balancing quality vs token spend.

New files:
- get-shit-done/references/model-profiles.md - profile lookup table
- commands/gsd/set-profile.md - runtime profile switching

Updated orchestrators to resolve model before spawning agents:
- new-project, new-milestone (7 calls each)
- plan-phase (4 calls)
- execute-phase (3 calls)
- audit-milestone, debug, research-phase, quick (1-2 calls each)
- workflows: execute-phase, execute-plan, verify-work, map-codebase

Profile stored in .planning/config.json as model_profile.
Default: "balanced" (Opus for planning, Sonnet for execution).

Closes #160

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 01:29:04 -06:00

2.0 KiB

name, description, arguments
name description arguments
set-profile Switch model profile for GSD agents (quality/balanced/budget)
name description required
profile Profile name: quality, balanced, or budget true
Switch the model profile used by GSD agents. This controls which Claude model each agent uses, balancing quality vs token spend. | Profile | Description | |---------|-------------| | **quality** | Opus everywhere except read-only verification | | **balanced** | Opus for planning, Sonnet for execution/verification (default) | | **budget** | Sonnet for writing, Haiku for research/verification |

1. Validate argument

if $ARGUMENTS.profile not in ["quality", "balanced", "budget"]:
  Error: Invalid profile "$ARGUMENTS.profile"
  Valid profiles: quality, balanced, budget
  STOP

2. Check for project

ls .planning/config.json 2>/dev/null

If no .planning/ directory:

Error: No GSD project found.
Run /gsd:new-project first to initialize a project.

3. Update config.json

Read current config:

cat .planning/config.json

Update model_profile field (or add if missing):

{
  "model_profile": "$ARGUMENTS.profile"
}

Write updated config back to .planning/config.json.

4. Confirm

✓ Model profile set to: $ARGUMENTS.profile

Agents will now use:
[Show table from model-profiles.md for selected profile]

Next spawned agents will use the new profile.

Switch to budget mode:

/gsd:set-profile budget

✓ Model profile set to: budget

Agents will now use:
| Agent | Model |
|-------|-------|
| gsd-planner | sonnet |
| gsd-executor | sonnet |
| gsd-verifier | haiku |
| ... | ... |

Switch to quality mode:

/gsd:set-profile quality

✓ Model profile set to: quality

Agents will now use:
| Agent | Model |
|-------|-------|
| gsd-planner | opus |
| gsd-executor | opus |
| gsd-verifier | sonnet |
| ... | ... |