--- name: msd:discuss-phase description: Gather phase context through adaptive questioning before planning. argument-hint: " [--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] --- 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 Workflow files are loaded on-demand in the section below — not upfront. Do not pre-load any workflow files before reading the mode routing instructions. Phase number: $ARGUMENTS (required) Context files are resolved in-workflow using `init phase-op` and roadmap/state tool calls. **Mode routing:** ```bash _MSD_SHIM_NAME="msd-tools.cjs"; _MSD_RUNTIME_ROOT="${RUNTIME_DIR:-$(git rev-parse --show-toplevel 2>/dev/null || pwd)}"; MSD_TOOLS="${_MSD_RUNTIME_ROOT}/msd-core/bin/${_MSD_SHIM_NAME}"; if [ -f "$MSD_TOOLS" ]; then msd_run() { node "$MSD_TOOLS" "$@"; }; elif [ -f "${_MSD_RUNTIME_ROOT}/.claude/msd-core/bin/${_MSD_SHIM_NAME}" ]; then MSD_TOOLS="${_MSD_RUNTIME_ROOT}/.claude/msd-core/bin/${_MSD_SHIM_NAME}"; msd_run() { node "$MSD_TOOLS" "$@"; }; elif command -v msd-tools >/dev/null 2>&1; then MSD_TOOLS="$(command -v msd-tools)"; msd_run() { "$MSD_TOOLS" "$@"; }; elif [ -f "$HOME/.claude/msd-core/bin/${_MSD_SHIM_NAME}" ]; then MSD_TOOLS="$HOME/.claude/msd-core/bin/${_MSD_SHIM_NAME}"; msd_run() { node "$MSD_TOOLS" "$@"; }; else echo "ERROR: msd-tools.cjs not found at $MSD_TOOLS and msd-tools is not on PATH. Run: npx -y @golem15/msd-core@latest --claude --local" >&2; exit 1; fi DISCUSS_MODE=$(msd_run query config-get workflow.discuss_mode --raw 2>/dev/null || echo "discuss") ``` If `--assumptions` is in $ARGUMENTS: Read and execute `~/.claude/msd-core/workflows/list-phase-assumptions.md` end-to-end. Stop here. Otherwise, if `DISCUSS_MODE` is `"assumptions"`: Read and execute `~/.claude/msd-core/workflows/discuss-phase-assumptions.md` end-to-end. Otherwise (`"discuss"` / unset / any other value): Read and execute `~/.claude/msd-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. - 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