Our review
This skill guides writing the UI/UX Design section of a software design document, covering layout structure, responsive behavior, interaction patterns, and accessibility.
Strengths
- Clear division of responsibilities and cross-cutting concerns with other sections
- Step-by-step methodology that starts with user goals and requirements
- Comprehensive coverage of accessibility and loading states
Limitations
- Does not provide visual templates or frontend code
- Assumes requirements are already parsed from the spec
- May be overly prescriptive for highly creative or exploratory designs
Use this skill when you need to write the UI/UX Design section of a design document, especially after being assigned the UI/UX Design section by a higher-level design workflow.
Do not use this skill for implementing UI code directly or for writing backend architecture sections.
Security analysis
SafeThe skill contains only instructional content for writing a UI/UX design document; it does not involve any code execution, system access, or handling of sensitive data. There are no commands, network operations, or destructive actions.
No concerns found
Examples
Design the layout structure for the user profile page based on the requirements REQ-101 and REQ-102. Define regions, visual hierarchy, and responsive breakpoints.Define interaction patterns for the search feature: trigger, feedback, duration, and accessibility considerations.Create an accessibility plan for the login form, including keyboard navigation, ARIA labels, focus management, and contrast ratio requirements.name: sdd-design-uiux description: | Design layout, responsive behavior, interactions, and accessibility. Use when: sdd-design assigns UI/UX Design section. Triggers: "design layout", "responsive design", "accessibility", "interaction design"
SDD Design UI/UX
Write the UI/UX Design section of a design document.
Scope
| Responsible For | Not Responsible For | |-----------------|---------------------| | Layout structure | Component hierarchy (→ frontend) | | Responsive breakpoints | State management (→ frontend) | | Interaction patterns | Data flow (→ frontend) | | Accessibility (a11y) | Security validation (→ security) | | Visual hierarchy | Bundle size (→ perf) | | Loading states design | Loading implementation (→ frontend) |
Cross-Cutting Roles
Note: Cross-cutting concerns are an extension to sdd-guidelines for specialist coordination. See sdd-design for full mapping.
UI/UX is:
- Primary owner: Accessibility, Loading states
- Reviewer for: Error handling (owned by frontend)
Instructions
Step 1: Read Context
- Design skeleton (from sdd-design)
- All REQs in your section's
@derives - Foundation anchors (especially
SCOPE-*,CONSTRAINT-*, audience)
Step 2: Analyze Requirements
For each assigned REQ, extract UI/UX implications:
| REQ | User Goal | UX Elements Needed | |-----|-----------|-------------------| | | | |
Tip: Focus on user goals and experience, not implementation.
Step 3: Design Layout Structure
Define spatial organization:
┌─────────────────────────────────┐
│ {Region} │
├─────────────┬───────────────────┤
│ {Region} │ {Region} │
│ │ │
└─────────────┴───────────────────┘
Principles:
- Content hierarchy reflects user priorities
- Related elements grouped
- Primary actions prominent
Document layout decisions with @derives linking to REQ.
Step 4: Define Responsive Strategy
Based on REQ viewport requirements:
| Breakpoint | Width | Layout Changes | Rationale | |------------|-------|----------------|-----------| | Desktop | ≥{X}px | | REQ says "..." | | Tablet | {X}-{Y}px | | REQ says "..." | | Mobile | <{X}px | | REQ says "..." |
Decision points:
- Adaptive (different layouts) vs Responsive (fluid)?
- What collapses/hides at each breakpoint?
- Touch targets for mobile?
Step 5: Design Interaction Patterns
For each user action in REQs:
| Action | Trigger | Feedback | Duration | @derives | |--------|---------|----------|----------|----------| | | | | | REQ-XXX |
Feedback types:
- Immediate: button states, hover
- Progress: loading, spinners
- Completion: success/error states
Step 6: Design Accessibility
Map REQ features to a11y requirements:
| Feature | Keyboard | Screen Reader | Visual | |---------|----------|---------------|--------| | {from REQ} | Tab order, shortcuts | ARIA labels, announcements | Focus, contrast |
WCAG checklist:
- [ ] All interactive elements keyboard accessible
- [ ] Focus visible and logical
- [ ] Color not sole indicator
- [ ] Text contrast ≥4.5:1
Step 7: Define Visual Hierarchy
Prioritize content per REQs:
- Primary: {what REQ emphasizes most}
- Secondary: {supporting content}
- Tertiary: {optional/advanced}
If REQ doesn't specify priority:
- User's primary task → Primary
- Supporting info → Secondary
- Edge cases/advanced features → Tertiary
Document with @derives linking to REQ.
Step 8: Design Loading States
For async operations in REQs:
| Operation | Skeleton/Spinner | Placement | @derives | |-----------|------------------|-----------|----------| | | | | REQ-XXX |
Step 9: Write Section
## UI/UX Design
@derives: {REQ-IDs}
### Layout Structure
### Responsive Breakpoints
### Interaction Patterns
### Accessibility
### Visual Hierarchy
### Loading States
**Status:** draft
Step 10: Add Decisions
For non-obvious choices:
| ID | Decision | Rationale | Owner |
|----|----------|-----------|-------|
| DEC-00x | {what} | {why — connect to REQ} | uiux |
Step 11: Handoff
Per sdd-guidelines §4.3 and §10.6.
1. Update Section Status
**Status:** verified
2. Update State File
# .sdd/state.yaml
documents:
design:
sections:
uiux: verified
3. Create Handoff Record
# .sdd/handoffs/{timestamp}-uiux.yaml
from: sdd-design-uiux
to: sdd-design
timestamp: {ISO-8601}
completed:
- design.uiux: verified
in_progress: []
blocked: []
gaps: []
next_steps:
- sdd-design-frontend: Review accessibility — verify components support a11y props
- sdd-design-perf: Review loading states for performance impact
4. Cross-Cutting Status
| Concern | Primary | Reviewer | Status |
|---------|---------|----------|--------|
| Accessibility | uiux | frontend | ready-for-review |
| Loading states | uiux | perf | ready-for-review |
@derives Judgment
A layout/interaction @derives from a REQ when:
| Criterion | Example | |-----------|---------| | Directly addresses REQ's UX need | Responsive layout → REQ's "works on mobile" | | Enables REQ's user action | Interaction pattern → REQ's "user can toggle" | | Satisfies REQ's constraint | Breakpoints → REQ's viewport requirements |
NOT @derives:
- Generic UX best practices not tied to REQ
- Aesthetic choices without REQ basis
Verification
- [ ] All assigned REQs have @derives coverage
- [ ] Layout supports all REQ features
- [ ] Breakpoints match REQ viewport requirements
- [ ] Interactions defined for all user actions in REQs
- [ ] Accessibility covers all interactive elements
- [ ] Loading states for all async operations
- [ ] Decisions logged with rationale
- [ ] Cross-cutting items flagged for reviewers
References
| File | Content | |------|---------| | reference/responsive-strategy.md | REQ-based responsive decisions | | reference/a11y-checklist.md | Accessibility verification for SDD |
Examples
| File | Content | |------|---------| | examples/react-sample.md | Complete example for react-sample package |
Next.js App Router Expert
Development
A skill that turns Claude into a Next.js App Router expert.
README Generator
Development
Creates professional and comprehensive README.md files for your projects.
API Documentation Writer
Development
Generates comprehensive API documentation in OpenAPI/Swagger format.