Skip to main content
Glama
spec-design.md8.77 kB
--- description: Create comprehensive technical design for a specification allowed-tools: Bash, Glob, Grep, LS, Read, Write, Edit, MultiEdit, Update, WebSearch, WebFetch argument-hint: <feature-name> [-y] --- # Technical Design Generator <background_information> - **Mission**: Generate comprehensive technical design document that translates requirements (WHAT) into architectural design (HOW) - **Success Criteria**: - All requirements mapped to technical components with clear interfaces - Appropriate architecture discovery and research completed - Design aligns with steering context and existing patterns - Visual diagrams included for complex architectures </background_information> <instructions> ## Core Task Generate technical design document for feature **$1** based on approved requirements. ## Execution Steps ### Step 1: Load Context **Read all necessary context**: - `.kiro/specs/$1/spec.json`, `requirements.md`, `design.md` (if exists) - **Entire `.kiro/steering/` directory** for complete project memory - `.kiro/settings/templates/specs/design.md` for document structure - `.kiro/settings/rules/design-principles.md` for design principles - `.kiro/settings/templates/specs/research.md` for discovery log structure **Validate requirements approval**: - If `-y` flag provided ($2 == "-y"): Auto-approve requirements in spec.json - Otherwise: Verify approval status (stop if unapproved, see Safety & Fallback) ### Step 2: Discovery & Analysis **Critical: This phase ensures design is based on complete, accurate information.** 1. **Classify Feature Type**: - **New Feature** (greenfield) → Full discovery required - **Extension** (existing system) → Integration-focused discovery - **Simple Addition** (CRUD/UI) → Minimal or no discovery - **Complex Integration** → Comprehensive analysis required 2. **Execute Appropriate Discovery Process**: **For Complex/New Features**: - Read and execute `.kiro/settings/rules/design-discovery-full.md` - Conduct thorough research using WebSearch/WebFetch: - Latest architectural patterns and best practices - External dependency verification (APIs, libraries, versions, compatibility) - Official documentation, migration guides, known issues - Performance benchmarks and security considerations **For Extensions**: - Read and execute `.kiro/settings/rules/design-discovery-light.md` - Focus on integration points, existing patterns, compatibility - Use Grep to analyze existing codebase patterns **For Simple Additions**: - Skip formal discovery, quick pattern check only 3. **Retain Discovery Findings for Step 3**: - External API contracts and constraints - Technology decisions with rationale - Existing patterns to follow or extend - Integration points and dependencies - Identified risks and mitigation strategies - Potential architecture patterns and boundary options (note details in `research.md`) - Parallelization considerations for future tasks (capture dependencies in `research.md`) 4. **Persist Findings to Research Log**: - Create or update `.kiro/specs/$1/research.md` using the shared template - Summarize discovery scope and key findings (Summary section) - Record investigations in Research Log topics with sources and implications - Document architecture pattern evaluation, design decisions, and risks using the template sections - Use the language specified in spec.json when writing or updating `research.md` ### Step 3: Generate Design Document 1. **Load Design Template and Rules**: - Read `.kiro/settings/templates/specs/design.md` for structure - Read `.kiro/settings/rules/design-principles.md` for principles 2. **Generate Design Document**: - **Follow specs/design.md template structure and generation instructions strictly** - **Integrate all discovery findings**: Use researched information (APIs, patterns, technologies) throughout component definitions, architecture decisions, and integration points - If existing design.md found in Step 1, use it as reference context (merge mode) - Apply design rules: Type Safety, Visual Communication, Formal Tone - Use language specified in spec.json - Ensure sections reflect updated headings ("Architecture Pattern & Boundary Map", "Technology Stack & Alignment", "Components & Interface Contracts") and reference supporting details from `research.md` 3. **Update Metadata** in spec.json: - Set `phase: "design-generated"` - Set `approvals.design.generated: true, approved: false` - Set `approvals.requirements.approved: true` - Update `updated_at` timestamp ## Critical Constraints - **Type Safety**: - Enforce strong typing aligned with the project's technology stack. - For statically typed languages, define explicit types/interfaces and avoid unsafe casts. - For TypeScript, never use `any`; prefer precise types and generics. - For dynamically typed languages, provide type hints/annotations where available (e.g., Python type hints) and validate inputs at boundaries. - Document public interfaces and contracts clearly to ensure cross-component type safety. - **Latest Information**: Use WebSearch/WebFetch for external dependencies and best practices - **Steering Alignment**: Respect existing architecture patterns from steering context - **Template Adherence**: Follow specs/design.md template structure and generation instructions strictly - **Design Focus**: Architecture and interfaces ONLY, no implementation code - **Requirements Traceability IDs**: Use numeric requirement IDs only (e.g. "1.1", "1.2", "3.1", "3.3") exactly as defined in requirements.md. Do not invent new IDs or use alphabetic labels. </instructions> ## Tool Guidance - **Read first**: Load all context before taking action (specs, steering, templates, rules) - **Research when uncertain**: Use WebSearch/WebFetch for external dependencies, APIs, and latest best practices - **Analyze existing code**: Use Grep to find patterns and integration points in codebase - **Write last**: Generate design.md only after all research and analysis complete ## Output Description **Command execution output** (separate from design.md content): Provide brief summary in the language specified in spec.json: 1. **Status**: Confirm design document generated at `.kiro/specs/$1/design.md` 2. **Discovery Type**: Which discovery process was executed (full/light/minimal) 3. **Key Findings**: 2-3 critical insights from `research.md` that shaped the design 4. **Next Action**: Approval workflow guidance (see Safety & Fallback) 5. **Research Log**: Confirm `research.md` updated with latest decisions **Format**: Concise Markdown (under 200 words) - this is the command output, NOT the design document itself **Note**: The actual design document follows `.kiro/settings/templates/specs/design.md` structure. ## Safety & Fallback ### Error Scenarios **Requirements Not Approved**: - **Stop Execution**: Cannot proceed without approved requirements - **User Message**: "Requirements not yet approved. Approval required before design generation." - **Suggested Action**: "Run `/kiro:spec-design $1 -y` to auto-approve requirements and proceed" **Missing Requirements**: - **Stop Execution**: Requirements document must exist - **User Message**: "No requirements.md found at `.kiro/specs/$1/requirements.md`" - **Suggested Action**: "Run `/kiro:spec-requirements $1` to generate requirements first" **Template Missing**: - **User Message**: "Template file missing at `.kiro/settings/templates/specs/design.md`" - **Suggested Action**: "Check repository setup or restore template file" - **Fallback**: Use inline basic structure with warning **Steering Context Missing**: - **Warning**: "Steering directory empty or missing - design may not align with project standards" - **Proceed**: Continue with generation but note limitation in output **Discovery Complexity Unclear**: - **Default**: Use full discovery process (`.kiro/settings/rules/design-discovery-full.md`) - **Rationale**: Better to over-research than miss critical context - **Invalid Requirement IDs**: - **Stop Execution**: If requirements.md is missing numeric IDs or uses non-numeric headings (for example, "Requirement A"), stop and instruct the user to fix requirements.md before continuing. ### Next Phase: Task Generation **If Design Approved**: - Review generated design at `.kiro/specs/$1/design.md` - **Optional**: Run `/kiro:validate-design $1` for interactive quality review - Then `/kiro:spec-tasks $1 -y` to generate implementation tasks **If Modifications Needed**: - Provide feedback and re-run `/kiro:spec-design $1` - Existing design used as reference (merge mode) **Note**: Design approval is mandatory before proceeding to task generation. think hard

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ssoma-dev/mcp-server-lychee-redmine'

If you have feedback or need assistance with the MCP directory API, please join our Discord server