# Spec Intake Wizard

> Interactive Spec Intake Wizard atomic skill. Prompts the user with structured fields, clarifies ambiguity, validates inputs, and outputs parsed JSON parameters.

- Skill: `knuckles-team/spec-intake-wizard` (Agent Skill)
- Install (CLI): `npx skillmds@latest add knuckles-team/spec-intake-wizard`
- Raw SKILL.md: https://api.skillmd.com/api/skills/knuckles-team/spec-intake-wizard/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: MIT
- Author: Knuckles-Team (https://skillmd.com/u/knuckles-team)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/knuckles-team/spec-intake-wizard

---


# 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.

