# Task: {title} ## Goal What success looks like. One clear paragraph. ## Non-Goals What is explicitly out of scope for this task. - {non-goal 1} - {non-goal 2} ## Constraints Technical, time, or resource limitations. - {constraint 1} - {constraint 2} ## Preferences Preferred patterns, frameworks, libraries, or approaches. - {preference 1} - {preference 2} ## Non-Functional Requirements Performance, security, accessibility, scalability, or other quality attributes. - {NFR 1} - {NFR 2} ## Success Criteria Falsifiable conditions that define "done". Each must be checkable by running a command or observing a specific system behavior. - {criterion — e.g., "All existing tests pass: `npm test` exits 0"} - {criterion — e.g., "New endpoint returns 200: `curl -s localhost:3000/api/health | jq .status` → "ok""} - {criterion — e.g., "No TypeScript errors: `npx tsc --noEmit` exits 0"} Do NOT write vague criteria: - "It should work" (not testable) - "The feature is implemented" (not falsifiable) - "Performance is acceptable" (no baseline given) ## Prior Attempts What has been tried before and what happened. Leave blank if this is a fresh task. ## Open Questions Unresolved items that may affect the plan. Flag these as assumptions if proceeding without answers. - {question 1} ## Metadata - **Created:** {YYYY-MM-DD} - **Mode:** {interview | manual} - **Source:** {ultraplan interview | user-provided}