pluginagentmarketplace

interaction-design

Master interaction design - patterns, micro-interactions, user flows, affordances, feedback

pluginagentmarketplace 3 Updated 9mo ago

Resources

3
GitHub

Install

npx skillscat add pluginagentmarketplace/custom-plugin-ux-design/interaction-design

Install via the SkillsCat registry.

About this skill

Here's a thinking process: 1. **Analyze the Request:** - **Goal:** Write a 2-3 sentence plain-text summary in English - **Subject:** An AI agent skill for interaction design (based on the provided SKILL.md excerpt) - **Requirements:** - Objective, factual tone only - No marketing language, no superlatives, no calls to action - Natural prose, no bullet points, no headings, no markdown formatting - Do not wrap the answer in quotes - At most 60 words - **Output:** ONLY the summary text 2.

SKILL.md

Interaction Design Skill

Atomic Skill: Design intuitive interactions that guide users through seamless experiences

Purpose

This skill provides frameworks for designing responsive, accessible, and delightful user interactions.

Skill Invocation

Skill("custom-plugin-ux-design:interaction-design")

Parameter Schema

Input Parameters

interface InteractionDesignParams {
  // Required
  type: "pattern" | "microinteraction" | "flow" | "feedback" | "gesture";
  context: string;

  // Optional
  platform?: "web" | "mobile" | "desktop";
  interaction_model?: "touch" | "mouse" | "keyboard" | "voice" | "hybrid";
  accessibility?: {
    reduced_motion?: boolean;
    keyboard_only?: boolean;
  };
}

Validation Rules

type:
  type: enum
  required: true
  values: [pattern, microinteraction, flow, feedback, gesture]

context:
  type: string
  required: true
  min_length: 10

platform:
  type: enum
  default: "web"

Execution Flow

INTERACTION DESIGN EXECUTION
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€

Step 1: UNDERSTAND USER GOALS
โ”œโ”€โ”€ Identify user intent
โ”œโ”€โ”€ Map expected outcomes
โ””โ”€โ”€ Define success criteria

Step 2: DESIGN TRIGGERS
โ”œโ”€โ”€ Define interaction triggers
โ”œโ”€โ”€ Specify input methods
โ””โ”€โ”€ Consider accessibility

Step 3: CREATE RESPONSE
โ”œโ”€โ”€ Design visual feedback
โ”œโ”€โ”€ Specify timing/easing
โ””โ”€โ”€ Add audio/haptic (optional)

Step 4: HANDLE STATES
โ”œโ”€โ”€ Success state
โ”œโ”€โ”€ Error state
โ”œโ”€โ”€ Loading state
โ””โ”€โ”€ Empty state

Step 5: DOCUMENT & TEST
โ”œโ”€โ”€ Create specifications
โ”œโ”€โ”€ Prototype interactions
โ””โ”€โ”€ Validate with users

โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€

Retry Logic

retry_config:
  max_attempts: 3
  backoff_type: exponential
  initial_delay_ms: 500
  max_delay_ms: 5000
  retryable_errors:
    - ANIMATION_RENDER_FAILED
    - PROTOTYPE_SYNC_ERROR

Logging Hooks

interface InteractionLog {
  timestamp: string;
  event: "interaction_start" | "feedback_shown" | "complete" | "error";
  interaction_type: string;
  duration_ms: number;
  success: boolean;
}

Learning Modules

Module 1: Interaction Patterns

COMMON PATTERNS
โ”œโ”€โ”€ Navigation
โ”‚   โ”œโ”€โ”€ Tab navigation
โ”‚   โ”œโ”€โ”€ Sidebar toggle
โ”‚   โ””โ”€โ”€ Breadcrumbs
โ”œโ”€โ”€ Data Entry
โ”‚   โ”œโ”€โ”€ Form validation
โ”‚   โ”œโ”€โ”€ Autocomplete
โ”‚   โ””โ”€โ”€ Date pickers
โ”œโ”€โ”€ Content
โ”‚   โ”œโ”€โ”€ Infinite scroll
โ”‚   โ”œโ”€โ”€ Pull to refresh
โ”‚   โ””โ”€โ”€ Expand/collapse
โ””โ”€โ”€ Actions
    โ”œโ”€โ”€ Drag and drop
    โ”œโ”€โ”€ Swipe actions
    โ””โ”€โ”€ Long press

Module 2: Micro-interactions

MICRO-INTERACTION ANATOMY
โ”œโ”€โ”€ Trigger (user action)
โ”œโ”€โ”€ Rules (what happens)
โ”œโ”€โ”€ Feedback (visual response)
โ””โ”€โ”€ Loops/Modes (ongoing state)

TIMING GUIDELINES
โ”œโ”€โ”€ Instant: 0-100ms (feedback)
โ”œโ”€โ”€ Fast: 100-300ms (transitions)
โ”œโ”€โ”€ Normal: 300-500ms (animations)
โ””โ”€โ”€ Slow: 500ms+ (complex sequences)

EASING CURVES
โ”œโ”€โ”€ ease-out: Deceleration (entering)
โ”œโ”€โ”€ ease-in: Acceleration (exiting)
โ”œโ”€โ”€ ease-in-out: Smooth (moving)
โ””โ”€โ”€ spring: Natural (bouncy)

Module 3: User Flows

FLOW DESIGN PRINCIPLES
โ”œโ”€โ”€ Minimize steps to goal
โ”œโ”€โ”€ Provide clear progress
โ”œโ”€โ”€ Allow easy recovery
โ”œโ”€โ”€ Confirm destructive actions
โ””โ”€โ”€ Remember user state

FLOW COMPONENTS
โ”œโ”€โ”€ Entry points
โ”œโ”€โ”€ Decision points
โ”œโ”€โ”€ Action points
โ”œโ”€โ”€ Exit points
โ””โ”€โ”€ Error paths

Module 4: Affordances

AFFORDANCE TYPES
โ”œโ”€โ”€ Explicit (buttons, links)
โ”œโ”€โ”€ Pattern-based (icons, gestures)
โ”œโ”€โ”€ Hidden (shortcuts, gestures)
โ””โ”€โ”€ Negative (disabled states)

SIGNIFIERS
โ”œโ”€โ”€ Visual cues (icons, arrows)
โ”œโ”€โ”€ Text labels
โ”œโ”€โ”€ Cursor changes
โ”œโ”€โ”€ Animation hints
โ””โ”€โ”€ Sound cues

Module 5: Feedback Systems

FEEDBACK TYPES
โ”œโ”€โ”€ Visual (color, motion)
โ”œโ”€โ”€ Auditory (sounds, voice)
โ”œโ”€โ”€ Haptic (vibration)
โ””โ”€โ”€ Systemic (notifications)

FEEDBACK TIMING
โ”œโ”€โ”€ Immediate: < 100ms
โ”œโ”€โ”€ Responsive: 100-300ms
โ”œโ”€โ”€ Perceived: 300-1000ms
โ””โ”€โ”€ Delayed: > 1000ms (show progress)

Error Handling

Error Code Description Recovery
IX-001 Missing feedback Add visual response
IX-002 Gesture conflict Redesign gesture
IX-003 Animation jank Optimize performance
IX-004 Unclear affordance Add signifiers
IX-005 Dead-end flow Add escape routes

Troubleshooting

Problem: Users miss interactions

Diagnosis:
โ”œโ”€โ”€ Check: Affordance visibility
โ”œโ”€โ”€ Check: Position in hierarchy
โ”œโ”€โ”€ Check: Size and contrast
โ””โ”€โ”€ Solution: Enhance discoverability

Steps:
1. Conduct findability test
2. Increase visual prominence
3. Add onboarding hints
4. Consider progressive disclosure

Problem: Interactions feel slow

Diagnosis:
โ”œโ”€โ”€ Check: Animation duration
โ”œโ”€โ”€ Check: Easing curves
โ”œโ”€โ”€ Check: Response delay
โ””โ”€โ”€ Solution: Optimize timing

Steps:
1. Measure time to feedback
2. Reduce to 100-300ms range
3. Use appropriate easing
4. Add immediate micro-feedback

Unit Test Templates

describe("InteractionDesignSkill", () => {
  describe("pattern validation", () => {
    it("should include trigger and feedback", async () => {
      const result = await invoke({
        type: "pattern",
        context: "form submission"
      });
      expect(result.pattern.trigger).toBeDefined();
      expect(result.pattern.feedback).toBeDefined();
    });
  });

  describe("microinteraction timing", () => {
    it("should stay within timing guidelines", async () => {
      const result = await invoke({
        type: "microinteraction",
        context: "button click"
      });
      expect(result.animation.duration_ms).toBeLessThanOrEqual(300);
    });
  });

  describe("accessibility", () => {
    it("should provide reduced motion alternative", async () => {
      const result = await invoke({
        type: "microinteraction",
        accessibility: { reduced_motion: true }
      });
      expect(result.animation.reduced_motion_fallback).toBeDefined();
    });
  });
});

Quality Metrics

Metric Target Measurement
Task completion > 95% User success rate
Time to feedback < 100ms Perceived responsiveness
Animation FPS 60fps Frame rate
Accessibility 100% Keyboard navigable

Version History

Version Date Changes
1.0.0 2025-12-30 Production-grade upgrade