| name | gsd-do |
| description | Route freeform text to the right GSD command automatically |
| metadata | {"short-description":"Route freeform text to the right GSD command automatically"} |
<codex_skill_adapter>
A. Skill Invocation
- This skill is invoked by mentioning
$gsd-do.
- Treat all user text after
$gsd-do as {{GSD_ARGS}}.
- If no arguments are present, treat
{{GSD_ARGS}} as empty.
B. AskUserQuestion → request_user_input Mapping
GSD workflows use AskUserQuestion (Claude Code syntax). Translate to Codex request_user_input:
Parameter mapping:
header → header
question → question
- Options formatted as
"Label" — description → {label: "Label", description: "description"}
- Generate
id from header: lowercase, replace spaces with underscores
Batched calls:
AskUserQuestion([q1, q2]) → single request_user_input with multiple entries in questions[]
Multi-select workaround:
- Codex has no
multiSelect. Use sequential single-selects, or present a numbered freeform list asking the user to enter comma-separated numbers.
Execute mode fallback:
- When
request_user_input is rejected (Execute mode), present a plain-text numbered list and pick a reasonable default.
C. Task() → spawn_agent Mapping
GSD workflows use Task(...) (Claude Code syntax). Translate to Codex collaboration tools:
Direct mapping:
Task(subagent_type="X", prompt="Y") → spawn_agent(agent_type="X", message="Y")
Task(model="...") → omit. spawn_agent has no inline model parameter;
GSD embeds the resolved per-agent model directly into each agent's .toml
at install time so model_overrides from .planning/config.json and
~/.gsd/defaults.json are honored automatically by Codex's agent router.
fork_context: false by default — GSD agents load their own context via <files_to_read> blocks
Spawn restriction:
- Codex restricts
spawn_agent to cases where the user has explicitly
requested sub-agents. When automatic spawning is not permitted, do the
work inline in the current agent rather than attempting to force a spawn.
Parallel fan-out:
- Spawn multiple agents → collect agent IDs →
wait(ids) for all to complete
Result parsing:
- Look for structured markers in agent output:
CHECKPOINT, PLAN COMPLETE, SUMMARY, etc.
close_agent(id) after collecting results from each agent
</codex_skill_adapter>
Analyze freeform natural language input and dispatch to the most appropriate GSD command.
Acts as a smart dispatcher — never does the work itself. Matches intent to the best GSD command using routing rules, confirms the match, then hands off.
Use when you know what you want but don't know which /gsd-* command to run.
<execution_context>
@/Users/andreas/Library/Mobile Documents/comappleCloudDocs/Code/gsd-test/.codex/get-shit-done/workflows/do.md
@/Users/andreas/Library/Mobile Documents/comappleCloudDocs/Code/gsd-test/.codex/get-shit-done/references/ui-brand.md
</execution_context>
{{GSD_ARGS}}
Execute the do workflow from @/Users/andreas/Library/Mobile Documents/com~apple~CloudDocs/Code/gsd-test/.codex/get-shit-done/workflows/do.md end-to-end.
Route user intent to the best GSD command and invoke it.