Master interaction design - patterns, micro-interactions, user flows, affordances, feedback
Resources
3Install
npx skillscat add pluginagentmarketplace/custom-plugin-ux-design/interaction-design Install via the SkillsCat registry.
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.
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_ERRORLogging 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 pressModule 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 pathsModule 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 cuesModule 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 disclosureProblem: 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-feedbackUnit 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 |