SDD Spec Intake Wizard Skill
Stateless atomic operation to engage the user in a high-fidelity, interactive intake flow. It prompts the user for essential system parameters, recommends baseline defaults to expedite answers, validates constraints in real time, and outputs a normalized JSON metadata structure that feeds downstream specification generators (spec-generator) and planners (task-planner).
Role & Goal
- Role: Technical Product Manager / Interactive Intake Engine.
- Goal: Gather high-fidelity, unambiguous requirements from the user with zero friction.
Steps
Step 1: initialize_wizard_schema
Initialize the interactive session with a dynamic schema based on the targeted domain or feature category:
- Define the standard template of required fields:
feature_name: String (required, 2-100 characters)
target_domain: String (e.g. "infra", "finance", "dev-workflows", "ops", "research")
high_level_goal: String (required, summary of intent)
key_constraints: List of strings (e.g. "latency < 200ms", "no external databases")
expected_inputs: List of fields and types
expected_outputs: List of fields and types
- Populate a set of smart defaults and "recommended" answers to enable a single-click or empty-input acceptance.
- Output parameters:
session_schema: The formulated validation schema and prompt rules.
Step 2: run_clarification_loop [depends_on: initialize_wizard_schema]
Interact with the user to collect parameters and resolve the top ambiguity gaps:
- Present the structured questions sequentially or as a single clear interactive prompt.
- For each option, clearly present the recommended default (e.g., "[Default: YES]" or "[Default: patch]").
- Allow the user to input custom values, accept defaults by hitting Enter, or skip the remaining loop by typing "skip".
- Gracefully handle empty or invalid entries with supportive inline validation help messages.
- Output parameters:
raw_answers: Key-value map of collected user responses.
Step 3: compile_validated_intake [depends_on: run_clarification_loop]
Execute final validation, reconcile inputs against the target default schema, and produce a unified JSON configuration:
- Merge
raw_answers with session_schema defaults for any omitted or skipped fields.
- Assert strict structural validation constraints (e.g., ensure mandatory keys are present and data types match).
- Parse constraints and requirements into a normalized data model structure:
metadata: { created_at: String, user: String, skip_flag: Boolean }
spec_intake: { name: String, domain: String, goal: String, constraints: List, data_flow: Object }
- Output parameters:
status: "SUCCESS" or "FAILED"
payload: Standardized JSON representation of the user requirements.
summary_markdown: A clean, structured markdown table representing the chosen configuration parameters.
1---2name: spec-intake-wizard3description: Interactive Spec Intake Wizard atomic skill. Prompts the user with structured fields, clarifies ambiguity, validates inputs, and outputs parsed JSON parameters.4license: MIT5---67# SDD Spec Intake Wizard Skill89Stateless atomic operation to engage the user in a high-fidelity, interactive intake flow. It prompts the user for essential system parameters, recommends baseline defaults to expedite answers, validates constraints in real time, and outputs a normalized JSON metadata structure that feeds downstream specification generators (`spec-generator`) and planners (`task-planner`).1011## Role & Goal12- **Role**: Technical Product Manager / Interactive Intake Engine.13- **Goal**: Gather high-fidelity, unambiguous requirements from the user with zero friction.1415## Steps1617### Step 1: initialize_wizard_schema18Initialize the interactive session with a dynamic schema based on the targeted domain or feature category:19- Define the standard template of required fields:20 - `feature_name`: String (required, 2-100 characters)21 - `target_domain`: String (e.g. "infra", "finance", "dev-workflows", "ops", "research")22 - `high_level_goal`: String (required, summary of intent)23 - `key_constraints`: List of strings (e.g. "latency < 200ms", "no external databases")24 - `expected_inputs`: List of fields and types25 - `expected_outputs`: List of fields and types26- Populate a set of smart defaults and "recommended" answers to enable a single-click or empty-input acceptance.27- Output parameters:28 - `session_schema`: The formulated validation schema and prompt rules.2930### Step 2: run_clarification_loop [depends_on: initialize_wizard_schema]31Interact with the user to collect parameters and resolve the top ambiguity gaps:32- Present the structured questions sequentially or as a single clear interactive prompt.33- For each option, clearly present the recommended default (e.g., "[Default: YES]" or "[Default: patch]").34- Allow the user to input custom values, accept defaults by hitting Enter, or skip the remaining loop by typing "skip".35- Gracefully handle empty or invalid entries with supportive inline validation help messages.36- Output parameters:37 - `raw_answers`: Key-value map of collected user responses.3839### Step 3: compile_validated_intake [depends_on: run_clarification_loop]40Execute final validation, reconcile inputs against the target default schema, and produce a unified JSON configuration:41- Merge `raw_answers` with `session_schema` defaults for any omitted or skipped fields.42- Assert strict structural validation constraints (e.g., ensure mandatory keys are present and data types match).43- Parse constraints and requirements into a normalized data model structure:44 - `metadata`: `{ created_at: String, user: String, skip_flag: Boolean }`45 - `spec_intake`: `{ name: String, domain: String, goal: String, constraints: List, data_flow: Object }`46- Output parameters:47 - `status`: "SUCCESS" or "FAILED"48 - `payload`: Standardized JSON representation of the user requirements.49 - `summary_markdown`: A clean, structured markdown table representing the chosen configuration parameters.