feat: Add Sequential Thinking to Code Review + Frontend Validation
Enhanced code review and frontend validation with intelligent triggers: Code Review Agent Enhancement: - Added Sequential Thinking MCP integration for complex issues - Triggers on 2+ rejections or 3+ critical issues - New escalation format with root cause analysis - Comprehensive solution strategies with trade-off evaluation - Educational feedback to break rejection cycles - Files: .claude/agents/code-review.md (+308 lines) - Docs: CODE_REVIEW_ST_ENHANCEMENT.md, CODE_REVIEW_ST_TESTING.md Frontend Design Skill Enhancement: - Automatic invocation for ANY UI change - Comprehensive validation checklist (200+ checkpoints) - 8 validation categories (visual, interactive, responsive, a11y, etc.) - 3 validation levels (quick, standard, comprehensive) - Integration with code review workflow - Files: .claude/skills/frontend-design/SKILL.md (+120 lines) - Docs: UI_VALIDATION_CHECKLIST.md (462 lines), AUTOMATIC_VALIDATION_ENHANCEMENT.md (587 lines) Settings Optimization: - Repaired .claude/settings.local.json (fixed m365 pattern) - Reduced permissions from 49 to 33 (33% reduction) - Removed duplicates, sorted alphabetically - Created SETTINGS_PERMISSIONS.md documentation Checkpoint Command Enhancement: - Dual checkpoint system (git + database) - Saves session context to API for cross-machine recall - Includes git metadata in database context - Files: .claude/commands/checkpoint.md (+139 lines) Decision Rationale: - Sequential Thinking MCP breaks rejection cycles by identifying root causes - Automatic frontend validation catches UI issues before code review - Dual checkpoints enable complete project memory across machines - Settings optimization improves maintainability Total: 1,200+ lines of documentation and enhancements Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
462
.claude/skills/frontend-design/UI_VALIDATION_CHECKLIST.md
Normal file
462
.claude/skills/frontend-design/UI_VALIDATION_CHECKLIST.md
Normal file
@@ -0,0 +1,462 @@
|
||||
# Frontend UI Validation Checklist
|
||||
|
||||
**Purpose:** Use this checklist when frontend-design skill is invoked to validate UI changes.
|
||||
|
||||
**Last Updated:** 2026-01-17
|
||||
|
||||
---
|
||||
|
||||
## When to Use This Checklist
|
||||
|
||||
**MANDATORY:** After ANY code change that affects UI elements:
|
||||
- Creating new UI components
|
||||
- Modifying existing styles or markup
|
||||
- Adding features to frontend code
|
||||
- Refactoring frontend components
|
||||
- Fixing UI bugs
|
||||
|
||||
---
|
||||
|
||||
## Validation Categories
|
||||
|
||||
### 1. Visual Appearance
|
||||
|
||||
**Layout & Structure:**
|
||||
- [ ] Elements render in correct positions
|
||||
- [ ] Grid/flexbox layouts work as expected
|
||||
- [ ] Z-index stacking is correct
|
||||
- [ ] No unexpected overlaps or gaps
|
||||
- [ ] Aspect ratios are maintained
|
||||
- [ ] Images load and display correctly
|
||||
|
||||
**Typography:**
|
||||
- [ ] Fonts load and display correctly
|
||||
- [ ] Font sizes are appropriate (readability)
|
||||
- [ ] Line height provides good readability
|
||||
- [ ] Text alignment is intentional
|
||||
- [ ] No text overflow or truncation issues
|
||||
- [ ] Headings have proper hierarchy
|
||||
|
||||
**Colors & Contrast:**
|
||||
- [ ] Colors match design specifications
|
||||
- [ ] Sufficient contrast for readability (WCAG AA minimum)
|
||||
- [ ] Color themes (light/dark) work correctly
|
||||
- [ ] CSS variables applied consistently
|
||||
- [ ] Gradients render smoothly
|
||||
- [ ] Transparency/opacity levels correct
|
||||
|
||||
**Spacing & Rhythm:**
|
||||
- [ ] Padding is consistent and intentional
|
||||
- [ ] Margins create proper visual separation
|
||||
- [ ] Whitespace enhances readability
|
||||
- [ ] Vertical rhythm is maintained
|
||||
- [ ] No cramped or overly sparse areas
|
||||
- [ ] Spacing scales appropriately
|
||||
|
||||
**Visual Effects:**
|
||||
- [ ] Shadows render correctly (no performance issues)
|
||||
- [ ] Border-radius values are consistent
|
||||
- [ ] Background images/patterns display properly
|
||||
- [ ] Filters (blur, grayscale, etc.) work as expected
|
||||
- [ ] Decorative elements enhance, don't distract
|
||||
- [ ] No visual glitches or rendering artifacts
|
||||
|
||||
---
|
||||
|
||||
### 2. Interactive Behavior
|
||||
|
||||
**Click/Tap Interactions:**
|
||||
- [ ] Buttons respond to clicks
|
||||
- [ ] Links navigate correctly
|
||||
- [ ] Forms submit properly
|
||||
- [ ] Checkboxes/radios toggle
|
||||
- [ ] Dropdowns open/close
|
||||
- [ ] Click targets are appropriately sized (minimum 44x44px)
|
||||
|
||||
**Hover States:**
|
||||
- [ ] Hover effects trigger on desktop
|
||||
- [ ] Cursor changes appropriately (pointer, text, etc.)
|
||||
- [ ] Visual feedback is clear
|
||||
- [ ] Transitions are smooth
|
||||
- [ ] No flickering or jank
|
||||
- [ ] Tooltips appear when expected
|
||||
|
||||
**Focus States:**
|
||||
- [ ] Focus indicators visible (keyboard navigation)
|
||||
- [ ] Focus order is logical
|
||||
- [ ] Focus trap works in modals/dialogs
|
||||
- [ ] Skip links function correctly
|
||||
- [ ] Focus doesn't get lost
|
||||
- [ ] Custom focus styles meet contrast requirements
|
||||
|
||||
**Active States:**
|
||||
- [ ] Pressed/active states provide feedback
|
||||
- [ ] Buttons show active state during click
|
||||
- [ ] Form inputs show active state when selected
|
||||
- [ ] Loading states appear during async operations
|
||||
|
||||
**Disabled States:**
|
||||
- [ ] Disabled elements are visually distinct
|
||||
- [ ] Disabled elements don't respond to interaction
|
||||
- [ ] Cursor indicates disabled state
|
||||
- [ ] Tooltips explain why disabled (if applicable)
|
||||
|
||||
---
|
||||
|
||||
### 3. Responsive Behavior
|
||||
|
||||
**Breakpoints:**
|
||||
- [ ] Desktop (1920px+) layout works
|
||||
- [ ] Laptop (1366px-1919px) layout works
|
||||
- [ ] Tablet landscape (1024px-1365px) layout works
|
||||
- [ ] Tablet portrait (768px-1023px) layout works
|
||||
- [ ] Mobile landscape (568px-767px) layout works
|
||||
- [ ] Mobile portrait (320px-567px) layout works
|
||||
|
||||
**Adaptive Layout:**
|
||||
- [ ] Content reflows appropriately
|
||||
- [ ] No horizontal scrolling (unless intentional)
|
||||
- [ ] Touch targets are finger-sized on mobile (44x44px min)
|
||||
- [ ] Navigation adapts (hamburger menu, etc.)
|
||||
- [ ] Images scale/crop appropriately
|
||||
- [ ] Text remains readable at all sizes
|
||||
|
||||
**Responsive Typography:**
|
||||
- [ ] Font sizes scale appropriately
|
||||
- [ ] Line length stays readable (45-75 characters)
|
||||
- [ ] Headings scale proportionally
|
||||
- [ ] No text overflow at any breakpoint
|
||||
|
||||
**Mobile-Specific:**
|
||||
- [ ] Touch gestures work (swipe, pinch, etc.)
|
||||
- [ ] No hover-dependent interactions
|
||||
- [ ] Virtual keyboard doesn't obscure inputs
|
||||
- [ ] Mobile browser chrome accounted for
|
||||
- [ ] Fixed elements don't interfere with scrolling
|
||||
|
||||
---
|
||||
|
||||
### 4. Animations & Transitions
|
||||
|
||||
**Animation Quality:**
|
||||
- [ ] Animations run smoothly (60fps)
|
||||
- [ ] No janky or stuttering motion
|
||||
- [ ] Timing feels natural (not too slow/fast)
|
||||
- [ ] Easing curves are appropriate
|
||||
- [ ] Animation-delay creates stagger effect (if intended)
|
||||
|
||||
**Performance:**
|
||||
- [ ] Animations use transform/opacity (GPU-accelerated)
|
||||
- [ ] No layout thrashing
|
||||
- [ ] Will-change used appropriately (if needed)
|
||||
- [ ] Animations don't block interactions
|
||||
- [ ] Reduce motion preference respected
|
||||
|
||||
**Transition States:**
|
||||
- [ ] Enter animations work
|
||||
- [ ] Exit animations work
|
||||
- [ ] State transitions are smooth
|
||||
- [ ] Loading spinners/skeletons appear
|
||||
- [ ] No flash of unstyled content (FOUC)
|
||||
|
||||
**Scroll Animations:**
|
||||
- [ ] Scroll-triggered animations fire correctly
|
||||
- [ ] Parallax effects are subtle, not nauseating
|
||||
- [ ] Sticky elements stick at right position
|
||||
- [ ] Scroll progress indicators update
|
||||
- [ ] Smooth scroll behavior works
|
||||
|
||||
---
|
||||
|
||||
### 5. Accessibility
|
||||
|
||||
**Keyboard Navigation:**
|
||||
- [ ] All interactive elements are keyboard accessible
|
||||
- [ ] Tab order is logical
|
||||
- [ ] Enter/Space activate buttons/links
|
||||
- [ ] Escape closes modals/dropdowns
|
||||
- [ ] Arrow keys navigate menus/lists (if applicable)
|
||||
- [ ] No keyboard traps
|
||||
|
||||
**Screen Reader Support:**
|
||||
- [ ] Semantic HTML used (header, nav, main, article, etc.)
|
||||
- [ ] ARIA labels on icons/buttons without text
|
||||
- [ ] ARIA live regions for dynamic content
|
||||
- [ ] Form inputs have associated labels
|
||||
- [ ] Error messages are announced
|
||||
- [ ] Skip links present
|
||||
|
||||
**Visual Accessibility:**
|
||||
- [ ] Color contrast meets WCAG AA (4.5:1 text, 3:1 UI)
|
||||
- [ ] Color isn't the only indicator (use icons/text too)
|
||||
- [ ] Focus indicators are highly visible
|
||||
- [ ] Text can be resized to 200% without breaking layout
|
||||
- [ ] No content hidden by fixed elements
|
||||
|
||||
**Alternative Content:**
|
||||
- [ ] Images have descriptive alt text
|
||||
- [ ] Decorative images have empty alt=""
|
||||
- [ ] Icons have labels or tooltips
|
||||
- [ ] Videos have captions/transcripts
|
||||
- [ ] Complex graphics have text alternatives
|
||||
|
||||
---
|
||||
|
||||
### 6. Performance
|
||||
|
||||
**Load Performance:**
|
||||
- [ ] Critical CSS inlined (if applicable)
|
||||
- [ ] Fonts load efficiently (font-display: swap)
|
||||
- [ ] Images lazy-loaded (below fold)
|
||||
- [ ] No render-blocking resources
|
||||
- [ ] First contentful paint is fast (<2s)
|
||||
|
||||
**Runtime Performance:**
|
||||
- [ ] No layout shifts (CLS near 0)
|
||||
- [ ] Smooth scrolling (no jank)
|
||||
- [ ] Animations run at 60fps
|
||||
- [ ] No memory leaks
|
||||
- [ ] Event handlers don't block main thread
|
||||
|
||||
**Resource Optimization:**
|
||||
- [ ] Images optimized (WebP, compression)
|
||||
- [ ] CSS is minified (in production)
|
||||
- [ ] JavaScript is minified (in production)
|
||||
- [ ] Unused CSS removed
|
||||
- [ ] Critical resources preloaded
|
||||
|
||||
---
|
||||
|
||||
### 7. Cross-Browser Compatibility
|
||||
|
||||
**Modern Browsers:**
|
||||
- [ ] Chrome/Edge (latest)
|
||||
- [ ] Firefox (latest)
|
||||
- [ ] Safari (latest)
|
||||
- [ ] Mobile Safari (iOS)
|
||||
- [ ] Chrome Mobile (Android)
|
||||
|
||||
**Fallbacks:**
|
||||
- [ ] Graceful degradation for older browsers
|
||||
- [ ] Feature detection (not browser sniffing)
|
||||
- [ ] Polyfills loaded if needed
|
||||
- [ ] CSS fallbacks for modern features (grid, flexbox)
|
||||
- [ ] No JavaScript errors in console
|
||||
|
||||
---
|
||||
|
||||
### 8. Content & Copy
|
||||
|
||||
**Text Quality:**
|
||||
- [ ] No typos or grammatical errors
|
||||
- [ ] Placeholder text replaced with real content
|
||||
- [ ] Proper capitalization (title case, sentence case)
|
||||
- [ ] Consistent voice and tone
|
||||
- [ ] Microcopy is helpful and clear
|
||||
|
||||
**Internationalization:**
|
||||
- [ ] Text doesn't break layout in longer languages
|
||||
- [ ] RTL support if needed
|
||||
- [ ] Date/number formatting appropriate
|
||||
- [ ] No hardcoded strings (use i18n keys)
|
||||
|
||||
---
|
||||
|
||||
## Validation Workflow
|
||||
|
||||
### Quick Validation (Simple Changes)
|
||||
|
||||
For minor changes like color updates or spacing tweaks:
|
||||
|
||||
1. Visual check at 1-2 breakpoints
|
||||
2. Verify hover/focus states
|
||||
3. Quick accessibility scan
|
||||
4. Report: [OK] or [WARNING]
|
||||
|
||||
**Time:** 1-2 minutes
|
||||
|
||||
### Standard Validation (Component Changes)
|
||||
|
||||
For component modifications or feature additions:
|
||||
|
||||
1. Visual check at all breakpoints
|
||||
2. Test all interactive states
|
||||
3. Keyboard navigation test
|
||||
4. Basic performance check
|
||||
5. Report: [OK], [WARNING], or [ERROR]
|
||||
|
||||
**Time:** 3-5 minutes
|
||||
|
||||
### Comprehensive Validation (New Features)
|
||||
|
||||
For new components or major refactors:
|
||||
|
||||
1. Complete visual review (all categories above)
|
||||
2. Full interaction testing
|
||||
3. Cross-browser testing
|
||||
4. Accessibility audit
|
||||
5. Performance profiling
|
||||
6. Report: Detailed findings with fixes
|
||||
|
||||
**Time:** 10-15 minutes
|
||||
|
||||
---
|
||||
|
||||
## Validation Report Format
|
||||
|
||||
### Success Report
|
||||
|
||||
```markdown
|
||||
## UI Validation: PASSED
|
||||
|
||||
**Component:** [Component name]
|
||||
**Changes:** [Brief description]
|
||||
|
||||
**Validation Results:**
|
||||
- [OK] Visual appearance correct
|
||||
- [OK] Interactive behavior working
|
||||
- [OK] Responsive at all breakpoints
|
||||
- [OK] Accessibility requirements met
|
||||
|
||||
**Notes:** [Any observations or recommendations]
|
||||
```
|
||||
|
||||
### Warning Report
|
||||
|
||||
```markdown
|
||||
## UI Validation: WARNINGS
|
||||
|
||||
**Component:** [Component name]
|
||||
**Changes:** [Brief description]
|
||||
|
||||
**Validation Results:**
|
||||
- [OK] Visual appearance correct
|
||||
- [WARNING] Minor hover state issue detected
|
||||
- [OK] Responsive at all breakpoints
|
||||
- [OK] Accessibility requirements met
|
||||
|
||||
**Issues Found:**
|
||||
1. **Minor: Hover state transition**
|
||||
- **Problem:** Transition is too slow (500ms)
|
||||
- **Fix:** Reduce to 200ms for better UX
|
||||
- **Fixed:** Yes
|
||||
|
||||
**Status:** Issues resolved, ready to proceed
|
||||
```
|
||||
|
||||
### Error Report
|
||||
|
||||
```markdown
|
||||
## UI Validation: ERRORS
|
||||
|
||||
**Component:** [Component name]
|
||||
**Changes:** [Brief description]
|
||||
|
||||
**Validation Results:**
|
||||
- [OK] Visual appearance correct
|
||||
- [ERROR] Interactive behavior broken
|
||||
- [WARNING] Responsive issues on mobile
|
||||
- [ERROR] Accessibility violations
|
||||
|
||||
**Critical Issues:**
|
||||
1. **CRITICAL: Button click handler not working**
|
||||
- **Problem:** Event listener not attached
|
||||
- **Impact:** Form cannot be submitted
|
||||
- **Fix Required:** Add onClick handler
|
||||
|
||||
2. **CRITICAL: Missing keyboard accessibility**
|
||||
- **Problem:** Modal cannot be closed with Escape
|
||||
- **Impact:** Keyboard users trapped
|
||||
- **Fix Required:** Add keydown listener
|
||||
|
||||
**Status:** BLOCKED - fixes required before proceeding
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Common Issues to Watch For
|
||||
|
||||
### Layout Issues
|
||||
- Flexbox/grid container missing
|
||||
- Z-index conflicts
|
||||
- Overflow hidden cutting off content
|
||||
- Fixed positioning causing mobile issues
|
||||
|
||||
### Typography Issues
|
||||
- Font not loading (fallback showing)
|
||||
- Line-height too tight/loose
|
||||
- Text overflow not handled
|
||||
- Inconsistent font weights
|
||||
|
||||
### Color Issues
|
||||
- Insufficient contrast
|
||||
- Theme not applied consistently
|
||||
- CSS variable not defined
|
||||
- Color only indicator (accessibility)
|
||||
|
||||
### Interaction Issues
|
||||
- Event handler not attached
|
||||
- Hover state persisting on mobile
|
||||
- Focus outline removed without replacement
|
||||
- Click target too small
|
||||
|
||||
### Responsive Issues
|
||||
- Breakpoint gaps (768.5px edge cases)
|
||||
- Images not scaling
|
||||
- Text wrapping awkwardly
|
||||
- Mobile menu not working
|
||||
|
||||
### Animation Issues
|
||||
- Animating width/height (use transform)
|
||||
- No will-change on expensive animations
|
||||
- Animations running on page load (jarring)
|
||||
- Reduce motion not respected
|
||||
|
||||
### Accessibility Issues
|
||||
- Missing alt text
|
||||
- No keyboard focus indicators
|
||||
- Color contrast too low
|
||||
- ARIA labels missing
|
||||
|
||||
---
|
||||
|
||||
## Decision Matrix: Pass, Warn, or Block
|
||||
|
||||
### PASS - Approve Changes
|
||||
- All critical validations passed
|
||||
- No major issues detected
|
||||
- Minor observations noted but don't block
|
||||
- Ready for code review/testing
|
||||
|
||||
### WARN - Approve with Notes
|
||||
- Minor issues detected
|
||||
- Issues fixed during validation
|
||||
- Recommendations for improvement
|
||||
- Can proceed but note improvements
|
||||
|
||||
### BLOCK - Require Fixes
|
||||
- Critical functionality broken
|
||||
- Accessibility violations (WCAG A/AA)
|
||||
- Visual appearance significantly wrong
|
||||
- Responsive layout broken
|
||||
- Performance severely degraded
|
||||
|
||||
---
|
||||
|
||||
## Integration with Other Tools
|
||||
|
||||
**Works alongside:**
|
||||
- Code Review Agent (checks code quality)
|
||||
- Testing Agent (runs automated tests)
|
||||
- Browser DevTools (performance profiling)
|
||||
- Lighthouse (accessibility/performance audits)
|
||||
- Screen readers (NVDA, JAWS, VoiceOver)
|
||||
|
||||
**Reports to:**
|
||||
- Main Claude (coordination)
|
||||
- Code Review Agent (combined approval)
|
||||
- User (final validation)
|
||||
|
||||
---
|
||||
|
||||
**Remember:** This skill is invoked AUTOMATICALLY for ANY UI change. Quick validations keep velocity high while ensuring quality.
|
||||
Reference in New Issue
Block a user