/discuss-phase
Gather phase context through adaptive questioning before planning.
> /plugin marketplace add open-gsd/gsd-core > /plugin install gsd-core@gsd-core
How it fires
How this command gets triggered: by you, by Claude, or both.
- Fires itselfClaude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/discuss-phase
Context preview
What this command does when you run it.
Gather phase context through adaptive questioning before planning.
Command definition
discuss-phase.mdname: gsd:discuss-phase
description: Gather phase context through adaptive questioning before planning.
argument-hint: "<phase> [--all] [--auto] [--chain] [--batch] [--analyze] [--text] [--power] [--assumptions]"
allowed-tools:
- Read
- Write
- Bash
- Glob
- Grep
- AskUserQuestion
- Agent
- mcp__context7__resolve-library-id
- mcp__context7__query-docs
requires: [config, phase]
<objective> Extract implementation decisions that downstream agents need — researcher and planner will use CONTEXT.md to know what to investigate and what choices are locked.
**How it works:** 1. Load prior context (PROJECT.md, REQUIREMENTS.md, STATE.md, prior CONTEXT.md files) 2. Scout codebase for reusable assets and patterns 3. Analyze phase — skip gray areas already decided in prior phases 4. Present remaining gray areas — user selects which to discuss 5. Deep-dive each selected area until satisfied 6. Create CONTEXT.md with decisions that guide research and planning
**Output:** `{phase_num}-CONTEXT.md` — decisions clear enough that downstream agents can act without asking the user again </objective>
<execution_context> Workflow files are loaded on-demand in the <process> section below — not upfront. Do not pre-load any workflow files before reading the mode routing instructions. </execution_context>
<runtime_note> **Copilot (VS Code):** Use `vscode_askquestions` wherever this workflow calls `AskUserQuestion`. They are equivalent — `vscode_askquestions` is the VS Code Copilot implementation of the same interactive question API. </runtime_note>
<context> Phase number: $ARGUMENTS (required)
Context files are resolved in-workflow using `init phase-op` and roadmap/state tool calls. </context>
<process> **Mode routing:**
_GSD_SHIM_NAME="gsd-tools.cjs"; _GSD_RUNTIME_ROOT="${RUNTIME_DIR:-$(git rev-parse --show-toplevel 2>/dev/null || pwd)}"; GSD_TOOLS="${_GSD_RUNTIME_ROOT}/gsd-core/bin/${_GSD_SHIM_NAME}"; if [ -f "$GSD_TOOLS" ]; then gsd_run() { node "$GSD_TOOLS" "$@"; }; elif [ -f "${_GSD_RUNTIME_ROOT}/.claude/gsd-core/bin/${_GSD_SHIM_NAME}" ]; then GSD_TOOLS="${_GSD_RUNTIME_ROOT}/.claude/gsd-core/bin/${_GSD_SHIM_NAME}"; gsd_run() { node "$GSD_TOOLS" "$@"; }; elif command -v gsd-tools >/dev/null 2>&1; then GSD_TOOLS="$(command -v gsd-tools)"; gsd_run() { "$GSD_TOOLS" "$@"; }; elif [ -f "$HOME/.claude/gsd-core/bin/${_GSD_SHIM_NAME}" ]; then GSD_TOOLS="$HOME/.claude/gsd-core/bin/${_GSD_SHIM_NAME}"; gsd_run() { node "$GSD_TOOLS" "$@"; }; else echo "ERROR: gsd-tools.cjs not found at $GSD_TOOLS and gsd-tools is not on PATH. Run: npx -y @opengsd/gsd-core@latest --claude --local" >&2; exit 1; fi
DISCUSS_MODE=$(gsd_run query config-get workflow.discuss_mode 2>/dev/null || echo "discuss")If `--assumptions` is in $ARGUMENTS: Read and execute `~/.claude/gsd-core/workflows/list-phase-assumptions.md` end-to-end. Stop here.
Otherwise, if `DISCUSS_MODE` is `"assumptions"`: Read and execute `~/.claude/gsd-core/workflows/discuss-phase-assumptions.md` end-to-end.
Otherwise (`"discuss"` / unset / any other value): Read and execute `~/.claude/gsd-core/workflows/discuss-phase.md` end-to-end.
**MANDATORY:** Read the appropriate workflow file BEFORE taking any action. The objective and success_criteria sections in this command file are summaries — the workflow file contains the complete step-by-step process with all required behaviors, config checks, and interaction patterns. Do not improvise from the summary.
**Lazy loading:** `templates/context.md` is loaded inside the `write_context` step of the active workflow. `discuss-phase-power.md` is loaded inside `discuss-phase.md` when `--power` is detected. Do not load either here. </process>
<success_criteria>
- Prior context loaded and applied (no re-asking decided questions)
- Gray areas identified through intelligent analysis
- User chose which areas to discuss
- Each selected area explored until satisfied
- Scope creep redirected to deferred ideas
- CONTEXT.md captures decisions, not vague vision
- User knows next steps
</success_criteria>
Read more
name: gsd:discuss-phase description: Gather phase context through adaptive questioning before planning. argument-hint: "<phase> [--all] [--auto] [--chain] [--batch] [--analyze] [--text] [--power] [--assumptions]" allowed-tools: - Read - Write - Bash - Glob - Grep - AskUserQuestion - Agent - mcp__context7__resolve-library-id - mcp__context7__query-docs requires: [config, phase]
<objective> Extract implementation decisions that downstream agents need — researcher and planner will use CONTEXT.md to know what to investigate and what choices are locked.
**How it works:** 1. Load prior context (PROJECT.md, REQUIREMENTS.md, STATE.md, prior CONTEXT.md files) 2. Scout codebase for reusable assets and patterns 3. Analyze phase — skip gray areas already decided in prior phases 4. Present remaining gray areas — user selects which to discuss 5. Deep-dive each selected area until satisfied 6. Create CONTEXT.md with decisions that guide research and planning
**Output:** `{phase_num}-CONTEXT.md` — decisions clear enough that downstream agents can act without asking the user again </objective>
<execution_context> Workflow files are loaded on-demand in the <process> section below — not upfront. Do not pre-load any workflow files before reading the mode routing instructions. </execution_context>
<runtime_note> **Copilot (VS Code):** Use `vscode_askquestions` wherever this workflow calls `AskUserQuestion`. They are equivalent — `vscode_askquestions` is the VS Code Copilot implementation of the same interactive question API. </runtime_note>
<context> Phase number: $ARGUMENTS (required)
Context files are resolved in-workflow using `init phase-op` and roadmap/state tool calls. </context>
<process> **Mode routing:**
_GSD_SHIM_NAME="gsd-tools.cjs"; _GSD_RUNTIME_ROOT="${RUNTIME_DIR:-$(git rev-parse --show-toplevel 2>/dev/null || pwd)}"; GSD_TOOLS="${_GSD_RUNTIME_ROOT}/gsd-core/bin/${_GSD_SHIM_NAME}"; if [ -f "$GSD_TOOLS" ]; then gsd_run() { node "$GSD_TOOLS" "$@"; }; elif [ -f "${_GSD_RUNTIME_ROOT}/.claude/gsd-core/bin/${_GSD_SHIM_NAME}" ]; then GSD_TOOLS="${_GSD_RUNTIME_ROOT}/.claude/gsd-core/bin/${_GSD_SHIM_NAME}"; gsd_run() { node "$GSD_TOOLS" "$@"; }; elif command -v gsd-tools >/dev/null 2>&1; then GSD_TOOLS="$(command -v gsd-tools)"; gsd_run() { "$GSD_TOOLS" "$@"; }; elif [ -f "$HOME/.claude/gsd-core/bin/${_GSD_SHIM_NAME}" ]; then GSD_TOOLS="$HOME/.claude/gsd-core/bin/${_GSD_SHIM_NAME}"; gsd_run() { node "$GSD_TOOLS" "$@"; }; else echo "ERROR: gsd-tools.cjs not found at $GSD_TOOLS and gsd-tools is not on PATH. Run: npx -y @opengsd/gsd-core@latest --claude --local" >&2; exit 1; fi
DISCUSS_MODE=$(gsd_run query config-get workflow.discuss_mode 2>/dev/null || echo "discuss")If `--assumptions` is in $ARGUMENTS: Read and execute `~/.claude/gsd-core/workflows/list-phase-assumptions.md` end-to-end. Stop here.
Otherwise, if `DISCUSS_MODE` is `"assumptions"`: Read and execute `~/.claude/gsd-core/workflows/discuss-phase-assumptions.md` end-to-end.
Otherwise (`"discuss"` / unset / any other value): Read and execute `~/.claude/gsd-core/workflows/discuss-phase.md` end-to-end.
**MANDATORY:** Read the appropriate workflow file BEFORE taking any action. The objective and success_criteria sections in this command file are summaries — the workflow file contains the complete step-by-step process with all required behaviors, config checks, and interaction patterns. Do not improvise from the summary.
**Lazy loading:** `templates/context.md` is loaded inside the `write_context` step of the active workflow. `discuss-phase-power.md` is loaded inside `discuss-phase.md` when `--power` is detected. Do not load either here. </process>
<success_criteria>
- Prior context loaded and applied (no re-asking decided questions)
- Gray areas identified through intelligent analysis
- User chose which areas to discuss
- Each selected area explored until satisfied
- Scope creep redirected to deferred ideas
- CONTEXT.md captures decisions, not vague vision
- User knows next steps
</success_criteria>
Git. Ship. Done. A light-weight meta-prompting, context engineering, and spec-driven development system for Claude Code, OpenCode, Antigravity CLI, Kimi CLI, Kilo, Codex, Copilot, Cursor, Windsurf, and more.
Repo: open-gsd/gsd-core
Other commands on gsd-core.
- /add-tests
Generate tests for a completed phase based on UAT criteria and implementation
Open command - /ai-integration-phase
Generate an AI-SPEC.md design contract for phases that involve building AI systems.
Open command - /audit-fix
Autonomous audit-to-fix pipeline — find issues, classify, fix, test, commit
Open command - /audit-milestone
Audit milestone completion against original intent before archiving
Open command - /audit-uat
Cross-phase audit of all outstanding UAT and verification items
Open command - /autonomous
Run all remaining phases autonomously — discuss→plan→execute per phase
Open command

