スキル一覧に戻る
vasilyu1983

software-ui-ux-design

by vasilyu1983

25🍴 6📅 2026年1月23日
GitHubで見るManusで実行

SKILL.md


name: software-ui-ux-design description: Use when designing UI interfaces, conducting accessibility audits (WCAG 2.2), building design systems, or improving user flows. Covers platform guidelines (iOS/Android/Web/Desktop), state patterns, CRO, demographic-inclusive design, and AI design tools.

Software UI/UX Design Skill — Quick Reference

Use this skill when the primary focus is designing intuitive, accessible, and user-centered interfaces. For research planning/synthesis, use software-ux-research.


Jan 2026 Baselines (Core)

When to Use This Skill

Invoke when users ask for:

  • UI/UX design patterns and best practices
  • Usability evaluation and improvement recommendations
  • Accessibility compliance (WCAG, ARIA)
  • Design system setup and component patterns
  • Information architecture and navigation design
  • Mobile-first and responsive design patterns
  • Form design and input validation UX
  • Pattern selection based on user pain points (from software-ux-research analysis)
  • UI fixes for feedback-identified issues (navigation, onboarding, performance, forms)
  • Demographic-specific design (seniors, children, cultural, neurodiversity)
  • UI generation from scratch (wireframes to handoff)
  • Conversion rate optimization (CRO audits, A/B testing)
  • AI-assisted design workflows (Figma AI, v0, Midjourney)

When NOT to Use This Skill


Operating Mode (Core)

If inputs are missing, ask for: users + top tasks, platforms (web/iOS/Android/desktop), IA depth, accessibility target, performance constraints, and any evidence (screenshots, URLs, analytics, tickets, prior research).

Default outputs (pick what the user asked for):

  • UX review checklist → prioritized issues → recommendations + acceptance criteria
  • Flow + state spec (happy path + edge/error/empty/loading/offline/degraded) with acceptance criteria
  • Design system delta spec (tokens + components + states) with governance-ready contribution plan

UX Impact Metrics

ActivityProxy MetricValue Calculation
Usability findingPrevented dev reworkHours saved × $150/hr
Heuristic evaluationEarly defect detectionDefects × Cost-to-fix-later
A/B test resultImproved conversionΔConversion × Traffic × LTV
Accessibility fixCompliance + reachAvoided lawsuit + 15% audience

Quick ROI benchmarks:

  • 1 usability fix preventing 40hr rework = $6,000
  • 0.5% conversion lift on 100k visitors × $50 LTV = $25,000/mo
  • Task success rate = (Completed / Attempted) × 100

Core Interaction Design

Interaction Checklist (Do / Avoid / Acceptance Criteria)

GoalDoAvoidAcceptance Criteria
ClarityOne primary action per view; front-load labelsCompeting CTAs; ambiguous verbsUser can state next step in 5 seconds [Inference]
AffordancesUse native controls; strong signifiersClickable <div>; hover-only cuesAll actions are discoverable without hover
FeedbackImmediate visual response on inputSilent taps/clicksEvery action has an observable state change
Error preventionConstrain inputs; show examples“Submit then fail” patternsInvalid states are hard to create
Error recoverySpecific message + next step“Something went wrong” onlyEvery error offers retry/undo/support path
Safe defaultsPreselect safest option; make destructive explicitRisky defaults; hidden consequencesDestructive actions are confirmed or reversible
ConsistencyReuse patterns and termsSame term used for different conceptsPattern library covers common flows

Decision Tree: UI/UX Design Approach

Design challenge: [Feature Type]
    ├─ Need to decide what to build? → Use software-ux-research first
    ├─ Improving an existing UI?
    │   ├─ Usability issues? → Heuristic review (references/nielsen-heuristics.md)
    │   ├─ Accessibility gaps? → WCAG 2.2 audit (references/wcag-accessibility.md)
    │   ├─ Inconsistency? → Design system alignment (references/design-systems.md)
    │   └─ Conversion issues? → CRO audit (references/cro-framework.md)
    ├─ Building a new UI from scratch?
    │   ├─ Full workflow → references/ui-generation-workflows.md
    │   ├─ Use AI tools? → references/ai-design-tools-2025.md
    │   └─ Spec template → assets/ui-generation/full-ui-spec.md
    ├─ Building a new flow?
    │   ├─ Define states → loading/empty/error/offline/degraded
    │   ├─ Define recovery → retry/cancel/undo/support
    │   └─ Define telemetry → success, error, time, abandonment
    ├─ Designing for specific demographics?
    │   ├─ Age groups (seniors, children, teens) → references/demographic-inclusive-design.md
    │   ├─ Cultural/regional (RTL, Asia, MENA) → references/cultural-design-patterns.md
    │   └─ Neurodiversity (ADHD, autism, dyslexia) → references/neurodiversity-design.md
    └─ Platform constraints?
        ├─ Web → semantics + focus + reflow
        ├─ iOS → system navigation + Dynamic Type
        ├─ Android → Material patterns + back/edge-to-edge
        └─ Desktop → shortcuts + selection models

Information Architecture (Scalable Products)

IA Checklist

  • Identify primary user roles and their top tasks (by frequency and criticality).
  • Define content types (nouns) and actions (verbs); avoid mixing.
  • Choose navigation model: global (app-level) vs local (within a section).
  • Ensure findability at scale: search, filters, sort, saved views.
  • Label in user language; include short helper text where needed.
  • Plan permissions/visibility states: “no access”, “request access”, “limited view”.

Common IA Anti-Patterns

Anti-patternWhy it failsBetter
Deep nesting (“6 clicks deep”)Recall burden, lost contextFlatter IA + search + saved views
Hamburger-only desktop navHidden affordance for frequent tasksVisible primary nav + overflow
Filters without “clear/reset”Traps users in empty resultsClear-all + applied-filter chips

Platform Constraints & Anti-Patterns

Web (Browser-Based)

DoAvoidRationale
Semantic HTML first"div soup"A11y + reliability (WAI-ARIA APG)
ARIA only when neededARIA on native controls"No ARIA > bad ARIA"
Manage focus on SPA navFocus resets to bodyWCAG 2.4.3/2.4.7
Visible focus, non-obscuredFocus hidden by sticky UIWCAG 2.4.7 + 2.4.11
Reflow at 320 CSS pxFixed-width layoutsWCAG 1.4.10
Non-drag alternativesDrag-onlyWCAG 2.5.7
≥24px target sizeTiny hit targetsWCAG 2.5.8

Browser gotchas: Safari datetime-local limited; Firefox :focus-visible differs; Chrome autocomplete inconsistent.

iOS / iPadOS (Apple HIG)

DoAvoid
System nav (tab bar, nav bar)Custom nav paradigms
Dynamic Type supportFixed font sizes
Pull-to-refresh for listsCustom refresh gestures
SF Symbols for iconsCustom icons for standard actions
Dark mode + system materialsLight-only
Handle Safe AreasAssume full-screen
System controls for inputCustom re-implementations

Android (Material Design 3)

DoAvoid
Material 3 componentsiOS-style patterns
Dynamic Color (Material You)Hardcoded brand colors
Edge-to-edge contentSystem bar padding hacks
Navigation rail on tabletsPhone UI stretched
Handle predictive backBlock system back
Support split-screen/foldablesSingle-window only

Android notes: Test Samsung One UI, handle mdpi-xxxhdpi, support gesture + 3-button nav.

Desktop (Windows/macOS/Linux)

DoAvoid
Keyboard shortcuts + discoverabilityMouse-only
Proper window resizeFixed-size windows
Multi-window/monitor supportSingle viewport
Hover states for interactivesTouch-first without hover
Right-click context menusHamburger for all actions
High-DPI support (Retina, 4K)1x assets only
Selection models (click, shift, ctrl)Single-select only

State-Heavy UI Patterns

State Matrix: Required States for All Interactive Views

StateVisual TreatmentWhen to ShowDuration
LoadingPlaceholder matching layout; label if blockingData fetchingUntil data arrives or times out
EmptyMessage + next step + CTAZero items, no dataUntil content exists
Partial DataShow available content + placeholdersIncremental loadsUntil complete
ErrorAlert with specific message + retry actionRequest fails, validation failsUntil user dismisses or retries
SuccessInline confirmation or toastAction completesContext-dependent
OfflineBanner with status + cached data indicatorNetwork unavailableUntil reconnection
DegradedWarning badge + limited functionality noticePartial system failureUntil service restored
No AccessExplain + request pathMissing permissionsUntil access granted

Loading State Decision Tree

Data fetch initiated
    ├─ Fast → pressed/disabled state only
    ├─ Noticeable → inline placeholder
    └─ Long-running → progress + cancel + background option

Empty states: Context-relevant illustration + headline + next steps + CTA. Never "No data found" without guidance.

Error State Severity Levels

LevelExampleTreatmentUser Action
RecoverableNetwork timeoutInline warning + retryRetry button
CorrectableInvalid email formatField-level errorFix input
Blocking500 server errorFull-page errorContact support / retry later
PartialSome items failed to loadInline notice per itemRetry individual items

Long-Running Operations

Pattern: Operations >10 Seconds

For uploads, exports, batch processing, and migrations:

ElementImplementationExample
ProgressDeterminate if known, indeterminate if unknown"Uploading 3 of 10 files (30%)"
CancelAlways provide cancel option"Cancel upload" button
BackgroundAllow user to navigate away"Processing in background—we'll notify you"
ResumabilitySupport pause/resume for large operations"Resume upload" after interruption
NotificationNotify on completionToast, badge, or push notification
HistoryShow operation history/status"Recent exports" list

Implementation Checklist

  • Show progress percentage or step count if determinable
  • Allow cancel at any point without data loss
  • Support backgrounding (user can navigate away)
  • Provide completion notification (in-app and/or push)
  • Handle interruptions gracefully (network drop, browser close)
  • Show operation history with status and retry option
  • For uploads: show per-file progress, allow skip/retry individual

Performance UX & Latency Budgets

Perceived Speed Thresholds

Use human response-time thresholds to decide when to show feedback and when to switch to progress indicators (NN/g) https://www.nngroup.com/articles/response-times-3-important-limits/

DurationUser PerceptionUI Response
~0.1sFeels instantNo extra UI beyond direct manipulation feedback
~1sFlow stays intactKeep context; show subtle “working” feedback
≥10sAttention breaksShow percent-done + cancel + resumability

Core Web Vitals (User-Centric Performance)

Core Web Vitals stable set and thresholds (including INP replacing FID as the interaction metric) https://web.dev/vitals/

MetricUX MeaningDesign/System Impact
LCP ≤ 2.5s“Content loads fast”Reduce hero weight; reserve layout; avoid late-loading fonts
INP ≤ 200ms“UI responds”Avoid main-thread long tasks; prioritize input responsiveness
CLS ≤ 0.1“UI doesn’t jump”Set media dimensions; avoid late injections; stable skeletons

Perceived Performance Techniques

TechniqueWhen to UseImplementation
Optimistic UIHigh-confidence operationsShow success immediately, rollback on failure
Skeleton ScreensContent loadingMatch layout shape of final content
Progressive LoadingLarge datasetsLoad critical content first, then enhance
Streaming/ChunkedIncremental content, long listsShow content as it arrives
PrefetchingPredictable navigationPreload likely next pages on hover/idle
Placeholder ContentImages, mediaLow-res blur-up, dominant color

Anti-Patterns

PatternProblemAlternative
Spinner for everythingNo layout context, feels slowerSkeleton matching content shape
Blocking UI during asyncUser can't interactBackground processing + toast
Full-page reload on actionLoses context, slowClient-side state update
No feedback <3 secondsUser thinks action failedImmediate button state change

Accessibility & Motion Safety (WCAG 2.2 AA)

WCAG 2.2 Changes That Impact Product UI

RequirementWhat to BuildLink
Focus not obscured (AA)Keep focus visible with sticky headers/footershttps://www.w3.org/TR/WCAG22/#focus-not-obscured-minimum
Focus appearance (AA)Provide a clearly visible focus indicatorhttps://www.w3.org/TR/WCAG22/#focus-appearance
Dragging movementsProvide non-drag alternativeshttps://www.w3.org/TR/WCAG22/#dragging-movements
Target size (minimum)Make targets at least 24×24 CSS px (exceptions apply)https://www.w3.org/TR/WCAG22/#target-size-minimum
Consistent helpKeep help mechanisms consistent across pageshttps://www.w3.org/TR/WCAG22/#consistent-help
Redundant entryDon’t require re-entering known informationhttps://www.w3.org/TR/WCAG22/#redundant-entry
Accessible authenticationAvoid cognitive-function tests without alternativeshttps://www.w3.org/TR/WCAG22/#accessible-authentication-minimum

Reduced Motion Support

prefers-reduced-motion is defined in Media Queries Level 5 https://www.w3.org/TR/mediaqueries-5/#prefers-reduced-motion

/* Always provide reduced motion path */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

Motion Safety Checklist

  • All animations respect prefers-reduced-motion
  • No content flashes >3 times per second (WCAG 2.3.1)
  • Parallax effects have static alternative
  • Auto-playing carousels can be paused
  • No pure-motion conveyed information (add text labels)
  • Avoid large-area color transitions (can trigger vestibular issues)

Focus Management Requirements

ScenarioFocus BehaviorImplementation
Modal opensFocus moves to modaltrapFocus() + aria-modal="true"
Modal closesFocus returns to triggerStore and restore document.activeElement
Route change (SPA)Focus to main contentmain.focus() or skip link
Toast appearsAnnounce, don't steal focusaria-live="polite"
Error on submitFocus to first error fieldfirstError.focus()
Dynamic content loadsAnnounce updatearia-live region

Keyboard Navigation Patterns

PatternKeysImplementation
Roving tabindexArrow keys within compositeTab to enter widget, arrows to move, Tab to exit
Focus trapTab cycles within regionModal, dropdown (until dismissed)
Skip linksTab → Enter"Skip to main content" as first focusable
Escape to closeEscModals, dropdowns, tooltips
Enter/Space to activateEnter or SpaceButtons, links, toggles

Design Tokens (Dec 2025)

Design Tokens Community Group Format

Standardized token format for design system interoperability (Design Tokens Technical Reports 2025.10) https://tr.designtokens.org/

{
  "color": {
    "primary": {
      "$value": "#0066cc",
      "$type": "color",
      "$description": "Primary brand color"
    },
    "primary-hover": {
      "$value": "{color.primary}",
      "$type": "color",
      "$extensions": {
        "mode": {
          "dark": "#3399ff"
        }
      }
    }
  },
  "spacing": {
    "sm": {
      "$value": "8px",
      "$type": "dimension"
    }
  }
}

Token Architecture

LayerExamplesPurpose
Primitiveblue-500, 16pxRaw values
Semanticcolor-primary, spacing-smIntent-based
Componentbutton-bg, card-paddingComponent-specific

Governance & Contribution Model

TopicPolicy (Default)Notes
OwnershipDesign + Eng co-ownersShared accountability
VersioningSemVer + changelogBreaking changes require migration notes
Deprecation“Warn → ship both → remove”Provide codemods where possible [Inference]
ContributionsRFC → design review → implementation → releaseInclude a11y + QA gates
DocumentationToken tables, component API, examples, dos/don’ts“How to use” beats “what it is”

Hybrid Input Handling

Modern users switch between mouse, touch, keyboard, trackpad, and stylus—often within a single session.

Input Detection & Adaptation

Pointer and hover capabilities are defined in Media Queries Level 4 https://www.w3.org/TR/mediaqueries-4/#mf-interaction

// Detect primary input modality
const supportsHover = window.matchMedia('(hover: hover)').matches;
const supportsTouch = 'ontouchstart' in window;
const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;

// Respond to input changes
window.matchMedia('(pointer: coarse)').addEventListener('change', (e) => {
  // User switched to touch device or changed mode
  updateInteractionStyle(e.matches ? 'touch' : 'pointer');
});

Input-Aware Design Matrix

FeatureMouse/TrackpadTouchKeyboardStylus
Hover statesShow on hoverN/A (use long-press or tap)Show on focusShow on hover
Target size≥24px (WCAG minimum)≥44px (recommended)N/A≥44px
TooltipsOn hoverOn long-press or tap iconOn focusOn hover
Context menuRight-clickLong-pressShift+F10Right-click equivalent
Drag-and-dropNativeTouch-and-hold + dragProvide keyboard alternativeNative
SelectionClick + shift/ctrlTap + selection modeSpace to selectTap

Hybrid Input Checklist

  • All interactions work with keyboard alone
  • Touch targets meet WCAG 2.5.8 minimum and aim larger where feasible
  • Hover states have touch-accessible alternative
  • Drag-and-drop has non-drag alternative (WCAG 2.5.7) https://www.w3.org/TR/WCAG22/#dragging-movements
  • No hover-only information (provide tap/focus alternative)
  • Stylus/pen input treated as pointer (supports hover)
  • Test with actual touch devices, not just emulation

AI/Automation UX (Optional)

For products with AI/ML features (chatbots, recommendations, generative AI), see references/ai-automation-ux.md — covers transparency, user control patterns, trust calibration, and anti-patterns.


References

Templates

UI Pattern Inspiration


Trend Awareness Protocol

WebSearch required for: "best design system for...", "what component library...", "latest UI/UX trends", "current best practices for..."

Search: "UI UX design trends 2026", "design system best practices 2026", "WCAG updates 2026"

Report: Current landscape → Emerging trends → Deprecated patterns → Recommendation


Operational Playbooks

スコア

総合スコア

60/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です