interaction-design

Define interactive component state machines and transitions meeting WCAG 2.1 accessibility.

Updated Jun 1, 2026
One-click install
npx skills add https://github.com/j-cogburn/d3 --skill interaction-design-j-cogburn
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: interaction-design
Source: https://github.com/j-cogburn/d3/tree/main/tests/project-t01/.d3/skills/interaction-design
Command: npx skills add https://github.com/j-cogburn/d3 --skill interaction-design-j-cogburn

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill eliminates the risk of inconsistent, clunky, or inaccessible interactive UI elements that create poor user experiences and fail to meet accessibility standards, ensuring all user interactions feel intentional and polished.

Core Features & Use Cases

  • Micro-interaction framework: Applies Dan Saffer's trigger-rules-feedback-loops model to structure all interactive element behavior.
  • Component state machine template: Provides a standardized 8-state template (idle, hover, focus, active, loading, success, error, disabled) with defined transition rules for every interactive component.
  • Timing and easing guidelines: Includes purpose-built duration ranges and easing recommendations for different interaction types to avoid sluggish or glitchy feel.
  • Loading and transition pattern library: Offers pre-vetted patterns for skeleton screens, spinners, progress bars, page transitions, modals, toasts, and drawers.
  • Use Case: When building a user login form, this Skill ensures you define all 8 button states, use appropriate 100-200ms timing for press feedback, implement focus management for keyboard users, and add accessible loading indicators for async submission.

Quick Start

Use the interaction-design skill to define the complete state machine and transition rules for the new user profile edit form component.

Frequently Asked Questions about interaction-design

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I design accessible interactive UI components that meet WCAG 2.1 standards?

To design accessible interactive UI components meeting WCAG 2.1, implement proper focus management, define an 8-state component template including idle and focus states, and apply consistent micro-interaction standards to ensure all user interactions are keyboard navigable and polished.

What is the best way to structure micro-interactions for interactive UI elements?

The best way to structure micro-interactions is using Dan Saffer's trigger-rules-feedback-loops model, which defines the trigger, the rules governing the interaction, the feedback provided, and the loops that repeat the interaction.

How do I specify animation timing and easing for interactive web and mobile applications?

Specify animation timing and easing by applying purpose-built duration ranges for different interaction types, such as 100-200ms for press feedback, avoiding sluggish or glitchy feels, and ensuring appropriate easing curves for all user-facing interactive elements.

What UI component states do I need to define for a comprehensive state machine?

A comprehensive UI component state machine requires an 8-state template: idle, hover, focus, active, loading, success, error, and disabled, with defined transition rules for each interactive component to ensure consistent behavior across all user interactions.

Which loading patterns should I use for interactive UI transitions?

Use pre-vetted loading and transition patterns like skeleton screens, spinners, progress bars, page transitions, modals, toasts, and drawers to provide accessible loading indicators for async submissions and seamless interactive UI transitions.

Can I use this interaction-design framework for frontend development workflows on mobile applications?

Yes, you can use this interaction-design framework for frontend development workflows on mobile applications, as it applies to implementing interactive components, designing state machines, and building feedback systems for both web and mobile applications.