nWave/skills/nw-ux-web-patterns/SKILL.md
Web UI design patterns for product owners. Load when designing web application interfaces, writing web-specific acceptance criteria, or evaluating responsive designs.
npx skillsauth add nwave-ai/nwave nw-ux-web-patternsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Actionable web interface patterns for requirements gathering and design review. Use when the target platform is web (browser-based applications).
| Pattern | When to Use | When to Avoid | |---------|-------------|---------------| | Top navigation bar | 5-7 primary sections, marketing/content sites | Deep hierarchies with 20+ sections | | Side navigation | Complex apps with many sections, admin dashboards | Simple sites with few pages | | Breadcrumbs | Deep hierarchies, e-commerce categories | Flat site structures | | Command palette (Cmd+K) | Power user tools, developer-facing apps | Consumer apps targeting non-technical users | | Tab bar (mobile) | 3-5 primary destinations | More than 5 destinations | | Hamburger menu | Secondary navigation, mobile space constraints | Primary navigation users need frequently | | Mega menu | Large sites with categorized content | Simple sites, mobile interfaces |
Navigation must answer three questions: Where am I? Where can I go? How do I get back?
Key principles: consistent placement across all pages | highlight current location | limit primary nav to 5-7 items (Hick's Law) | provide search as alternative for content-heavy apps
| Pattern | Best For | Key Considerations | |---------|----------|-------------------| | Tables | Structured data with multiple attributes, comparison | Sortable columns, fixed headers, responsive collapse | | Cards | Browsable collections with images/summaries | Consistent sizes, clear click targets, max 3-4 per row | | Lists | Sequential items, search results, feeds | Clear boundaries, scannable titles, secondary info on right | | Dashboards | KPI monitoring, status overviews | Important metrics top-left, max 7 widgets, allow customization |
Design mobile layout first, then enhance for larger screens. Ensures core content and functionality are prioritized.
360-480px: Mobile | 768px: Tablet | 1024-1280px: Small desktop | 1440px+: Large desktop
clamp() for smooth scaling; rem/em over px for accessible sizingsrcset and picture elements| Component | Use For | Anti-pattern | |-----------|---------|-------------| | Modal dialog | Decisions requiring immediate attention; blocks until resolved | Information not requiring action; stacking modals | | Toast/snackbar | Non-critical confirmation ("Item saved") | Critical errors or info users must not miss | | Drawer/sheet | Supplementary content or filters alongside main view | Primary content or complex multi-step forms | | Popover/tooltip | Contextual help or previews on hover/focus | Critical info or complex interactions | | Command palette | Quick action access via keyboard | Only navigation method (need visual alternatives) |
Showing cause and effect (button press ripple) | Guiding attention to changes (new item slides in) | Providing feedback (spinners, progress bars) | Explaining spatial relationships (drawer slides from side) | Maintaining context during transitions (shared element transitions)
Decorative animations with no function | Animations delaying task completion | Rapid/large-scale motion (respect prefers-reduced-motion) | Looping animations that cannot be paused
Duration guidelines: 100-200ms for simple state changes | 200-500ms for complex transitions | never exceed 500ms for functional animations
| Situation | Recommendation | |-----------|---------------| | Internal tools, admin dashboards | Use existing system (Material UI, Ant Design, Radix) | | Consumer product with strong brand | Custom system on headless library (Radix, Headless UI) | | MVP or prototype | Use existing system; customize later | | Platform with strict brand guidelines | Custom system, adopt token architecture from established systems |
Established systems to evaluate: Material Design (Google) | Fluent Design (Microsoft) | Carbon (IBM) | Polaris (Shopify) | Primer (GitHub) | Lightning (Salesforce)
Atomic values defining visual design: colors, spacing, typography, shadows.
| Level | Example | Purpose |
|-------|---------|---------|
| Global | color-blue-500: #3B82F6 | Raw palette values |
| Semantic | color-primary: {color-blue-500} | Meaningful names |
| Component | button-bg: {color-primary} | Component-specific references |
Use 8px spacing grid. Use modular typography scale (1.25 or 1.333 ratio).
| Anti-Pattern | Alternative | |-------------|-------------| | Autoplay video with sound | Mute by default, user-initiated play | | Full-page interstitials on mobile | Inline or bottom-sheet prompts | | Captchas for every action | Risk-based authentication, invisible captchas | | Horizontal scrolling for content | Responsive layout fitting viewport | | Form validation only on submit | Inline validation with reward-early-punish-late | | Mystery meat navigation (icons only) | Label all nav items; icons supplement, not replace | | Stacking modals | Inline expansion or navigate to new page |
Feature: [Feature Name]
# Platform: web
# Key heuristics: [applicable Nielsen heuristics]
# Accessibility: WCAG 2.2 AA
Scenario: Happy path
Given [context]
When [user action]
Then [expected visible result]
And system provides feedback within 100ms
And the action can be undone via [mechanism]
Scenario: Error state
Given [context leading to error]
When [user action that triggers error]
Then an error message explains what happened
And the error message suggests what to do next
And the error is shown inline next to the relevant field
Scenario: Empty state
Given no [resources] exist yet
When the user navigates to the [resource] view
Then a helpful message explains what [resources] are
And a clear call to action creates the first one
Scenario: Keyboard accessibility
Given the user navigates with keyboard only
When they tab through the interface
Then all interactive elements are reachable
And focus indicators are visible
testing
Runs feature-scoped mutation testing to validate test suite quality. Use after implementation to verify tests catch real bugs (kill rate >= 80%).
development
Canonical AT completeness gate — research-anchored 7-category taxonomy (C1-C7) + 15-item mechanical checklist. Paradigm-neutral. Drives acceptance-designer reviewer verdict deterministically.
development
Canonical AT completeness gate — research-anchored 7-category taxonomy (C1-C7) + 15-item mechanical checklist. Paradigm-neutral. Drives acceptance-designer reviewer verdict deterministically.
testing
Methodology for minimizing test count while maximizing behavioral coverage - behavior definition, anti-pattern catalog, consolidation patterns, stopping criterion, coverage-preserving validation