feat: Programmatic implementation of /gsd:set-profile command (#1007)

* perf: make `/gsd:set-profile`'s implementation more programmatic

* perf: run the set-profile script without Claude needing to invoke it

- inject the script's output as dynamic context into the set-profile skill, so that Claude doesn't
  need to invoke it and can simply read + print the output to the user
  - reference: https://code.claude.com/docs/en/skills#inject-dynamic-context

* feat: improve output message for case where model profile wasn't changed

* feat: specify haiku model for set-profile command since it's so simple

* fix: remove ' (default)' from previousProfile to avoid false negative for didChange

* chore: add docstring to MODEL_PROFILES with note about the analogous markdown reference table

* chore: delete set-profile workflow file that's no longer needed
This commit is contained in:
Aly Thobani
2026-03-15 10:45:14 -07:00
committed by GitHub
parent 5d703954c9
commit 44de7c210c
8 changed files with 215 additions and 157 deletions

View File

@@ -1,34 +1,12 @@
---
name: gsd:set-profile
description: Switch model profile for GSD agents (quality/balanced/budget/inherit)
argument-hint: <profile>
argument-hint: <profile (quality|balanced|budget|inherit)>
model: haiku
allowed-tools:
- Read
- Write
- Bash
---
<objective>
Switch the model profile used by GSD agents. Controls which Claude model each agent uses, balancing quality vs token spend.
Show the following output to the user verbatim, with no extra commentary:
Routes to the set-profile workflow which handles:
- Argument validation (quality/balanced/budget/inherit)
- Config file creation if missing
- Profile update in config.json
- Confirmation with model table display
</objective>
<execution_context>
@~/.claude/get-shit-done/workflows/set-profile.md
</execution_context>
<process>
**Follow the set-profile workflow** from `@~/.claude/get-shit-done/workflows/set-profile.md`.
The workflow handles all logic including:
1. Profile argument validation
2. Config file ensuring
3. Config reading and updating
4. Model table generation from MODEL_PROFILES
5. Confirmation display
</process>
!`node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" config-set-model-profile $ARGUMENTS --raw`