agentskills.codes
GS

gsd-spike

Spike an idea through experiential exploration, or propose what to spike next (frontier mode)

Install

mkdir -p .claude/skills/gsd-spike-nnexai && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/13622" && unzip -o skill.zip -d .claude/skills/gsd-spike-nnexai && rm skill.zip

Installs to .claude/skills/gsd-spike-nnexai

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Spike an idea through experiential exploration, or propose what to spike next (frontier mode)
93 charsno explicit “when” trigger

About this skill

<codex_skill_adapter>

A. Skill Invocation

  • This skill is invoked by mentioning $gsd-spike.
  • Treat all user text after $gsd-spike 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:

  • headerheader
  • questionquestion
  • 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 or unavailable, you MUST stop and present the questions as a plain-text numbered list, then wait for the user's reply. Do NOT pick a default and continue (#3018).
  • You may only proceed without a user answer when one of these is true: (a) the invocation included an explicit non-interactive flag (--auto or --all), (b) the user has explicitly approved a specific default for this question, or (c) the workflow's documented contract says defaults are safe (e.g. autonomous lifecycle paths).
  • Do NOT write workflow artifacts (CONTEXT.md, DISCUSSION-LOG.md, PLAN.md, checkpoint files) until the user has answered the plain-text questions or one of (a)-(c) above applies. Surfacing the questions and waiting is the correct response — silently defaulting and writing artifacts is the #3018 failure mode.

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.
  • Resolved reasoning_effort="low|medium|high|xhigh" (xhigh is a GSD/Codex tier, not a generic runtime enum) → pass reasoning_effort to spawn_agent when the runtime/tool supports it. Omit missing, empty, inherited, or unsupported values; do not invent one-off effort literals in workflow prose.
  • fork_context: false by default — GSD agents load their own context via <files_to_read> blocks
  • Task(isolation="worktree") / Agent(isolation="worktree") → no direct Codex mapping. Codex spawn_agent does not create or bind a git worktree automatically. Workflows that require this isolation must fail closed or use an explicit manual worktree protocol before spawning (#3360).

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>
<objective> Spike an idea through experiential exploration — build focused experiments to feel the pieces of a future app, validate feasibility, and produce verified knowledge for the real build. Spikes live in `.planning/spikes/` and integrate with GSD commit patterns, state tracking, and handoff workflows.

Two modes:

  • Idea mode (default) — describe an idea to spike
  • Frontier mode (no argument or "frontier") — analyzes existing spike landscape and proposes integration and frontier spikes

Does not require prior new-project setup — auto-creates .planning/spikes/ if needed. </objective>

<execution_context> @/home/nnex/dev/prj/git-stacks/.codex/get-shit-done/workflows/spike.md @/home/nnex/dev/prj/git-stacks/.codex/get-shit-done/workflows/spike-wrap-up.md @/home/nnex/dev/prj/git-stacks/.codex/get-shit-done/references/ui-brand.md </execution_context>

<runtime_note> Copilot (VS Code): Use vscode_askquestions wherever this workflow calls AskUserQuestion. </runtime_note>

<context> Idea: {{GSD_ARGS}}

Available flags:

  • --quick — Skip decomposition/alignment, jump straight to building. Use when you already know what to spike.
  • --text — Use plain-text numbered lists instead of AskUserQuestion (for non-the agent runtimes).
  • --wrap-up — Package spike findings into a persistent project skill for future build conversations. Runs the spike-wrap-up workflow. </context>
<process> Parse the first token of {{GSD_ARGS}}: - If it is `--wrap-up`: strip the flag, execute the spike-wrap-up workflow - Otherwise: pass all of {{GSD_ARGS}} as the idea to the spike workflow end-to-end.

Preserve all workflow gates (prior spike check, decomposition, research, risk ordering, observability assessment, verification, MANIFEST updates, commit patterns). </process>

Search skills

Search the agent skills registry