microinteractions
Microinteractions is a Claude Code skill for designing the small, high-impact UI moments that create product polish. Use it when designing button feedback, loading states, toggle switches, form validation responses, progress indicators, confirmation dialogs, or any interactive element requiring immediate user feedback. The framework applies Dan Saffer's four-part structure: triggers that initiate interactions, rules governing behavior, feedback mechanisms showing what's happening, and loops defining long-term patterns. It elevates forgettable products into beloved ones through deliberate attention to state transitions and animation details.
git clone --depth 1 https://github.com/wondelai/skills /tmp/microinteractions && cp -r /tmp/microinteractions/microinteractions ~/.claude/skills/microinteractionsSKILL.md
# Microinteractions Framework Design the tiny, contained product moments users touch every day -- toggles, password fields, loading indicators, pull-to-refresh, like buttons. Based on Dan Saffer's four-part structure (Trigger, Rules, Feedback, Loops & Modes), this framework turns invisible details into the polish that separates forgettable products from beloved ones. ## Core Principle **The difference between a product you tolerate and a product you love is almost always in the microinteractions.** A microinteraction is a contained moment built around a single use case -- changing a setting, syncing data, picking a password -- so small that users rarely think about it consciously, but they feel it. Every microinteraction follows the same four-part structure: a Trigger initiates it, Rules determine what happens, Feedback shows what is happening, and Loops & Modes define its long-term behavior. ## Scoring **Goal: 10/10.** Rate microinteractions 0-10 against the principles below: a 10/10 gives every interactive moment a deliberate trigger, clear rules, immediate feedback, and thoughtful loop/mode behavior. Always state the current score and the specific improvements needed to reach 10/10. ## The Microinteraction Structure Six areas of focus for designing world-class microinteractions: ### 1. Triggers **Core concept:** The trigger initiates a microinteraction -- manual (tap, click, swipe, voice command) or system-initiated (time, location, incoming data, error state). It is the front door of every microinteraction. **Why it works:** Without a clear trigger, users cannot discover or initiate the interaction, and the product cannot respond to changing conditions. Well-designed triggers make functionality discoverable and set accurate expectations. **Key insights:** - A trigger must communicate three things: that it exists, what it does, and what state it is in - Match trigger prominence to action importance -- high-stakes actions need prominent triggers - Pair invisible triggers (gestures, shake, proximity) with a visible alternative for discoverability - Make trigger states -- default, hover, active, disabled, loading -- visually distinct **Product applications:** | Context | Application | Example | |---------|-------------|---------| | **Toggle controls** | Manual trigger with binary state | iOS Wi-Fi switch: tap to toggle, position shows state | | **Pull-to-refresh** | Hidden gesture with visible affordance | Pull past threshold triggers refresh animation | | **System alerts** | System trigger on condition met | Low battery notification at 20% threshold | **Ethical boundary:** Never hide critical triggers behind gestures or invisible interactions without a visible fallback. See: [references/trigger-design.md](references/trigger-design.md) for trigger affordances, states, placement, and reducing trigger complexity. ### 2. Rules **Core concept:** Rules define what happens once a microinteraction is triggered -- the sequence of events, constraints, processing, and ending. Users never see rules directly, but they feel when rules are wrong. **Why it works:** Rules create the mental model users build about how the interaction works. Consistent rules that match expectations feel natural; violations -- a toggle that does not toggle, a slider that jumps in value -- destroy trust. **Key insights:** - Define the goal of the microinteraction first, then derive rules from it - Match existing mental models and platform conventions - Constrain inputs to prevent errors: limit character counts, set value ranges, enforce formats - Handle edge cases explicitly: zero, maximum, repeated triggers, interruption **Product applications:** | Context | Application | Example | |---------|-------------|---------| | **Password strength** | Rules evaluate input in real-time | Meter updates as user types; color shifts red to green | | **Character counter** | Rule constrains and shows remaining | Twitter/X: counter decreases, turns red at limit | | **Undo action** | Rule sets time window for reversal | Gmail "Undo send" available for 30 seconds | **Ethical boundary:** Keep rules transparent and predictable -- never hide rules that manipulate behavior, such as making unsubscribe harder than subscribe. See: [references/rules-and-state.md](references/rules-and-state.md) for state management, constraints, error states, and edge cases. ### 3. Feedback **Core concept:** Feedback communicates the rules to the user, answering "What is happening right now?" -- visually (color, animation, movement), aurally (clicks, chimes), or haptically (vibration). Show only what matters: minimal, meaningful, contextual. **Why it works:** Without feedback, users cannot tell if their action registered, the system is working, or the operation succeeded. Too little feedback creates anxiety; too much creates noise; the right feedback at the right time makes interactions feel responsive and trustworthy. **Key insights:** - Feedback must be immediate -- under 100ms for direct manipulation - Use the least noticeable feedback that still communicates, and prefer animating existing elements (the button itself, not a separate toast) - Scale feedback to event significance: small action = small feedback, big result = big feedback - Visual feedback is primary; audio and haptic are supplementary, never the only channel - Progress indicators reduce perceived wait time even when actual time is unchanged **Product applications:** | Context | Application | Example | |---------|-------------|---------| | **Button press** | Visual state change on click | Button depresses, color shifts, text becomes "Saving..." | | **Form validation** | Inline feedback as user types | Green checkmark next to valid email field | | **Error state** | Contextual error near the source | Red border on field + "Password must be 8+ characters" | **Ethical boundary:** Keep feedback honest -- no fake progress bars, manipulative countdowns, or deceptive completion
Build lean, opinionated products using the 37signals philosophy from Getting Real, Rework, and Shape Up. Use when the user mentions "Getting Real", "Rework", "Shape Up", "37signals", "Basecamp method", "six-week cycles", "fixed time variable scope", "appetite vs estimates", "betting table", "breadboarding", "fat marker sketch", "build less", "underdo the competition", or "opinionated software". Also trigger when cutting scope to ship faster, running small teams, avoiding long-term roadmaps, or eliminating meetings. Covers shaping, betting, building, and the art of saying no. For MVP validation, see lean-startup. For design sprints, see design-sprint.
Create uncontested market space using value innovation instead of competing head-to-head. Use when the user mentions "blue ocean", "red ocean", "strategy canvas", "ERRC framework", "value innovation", "non-customers", "buyer utility map", "eliminate-reduce-raise-create", or "uncontested market". Also trigger when comparing pricing strategies, exploring new market categories, finding underserved customer segments, or asking how to stop competing on price. Covers the Four Actions Framework, buyer utility map, and value-cost trade-offs. For tech adoption strategy, see crossing-the-chasm. For product positioning, see obviously-awesome.
Structure software around the Dependency Rule: source code dependencies point inward from frameworks to use cases to entities. Use when the user mentions "architecture layers", "dependency rule", "ports and adapters", "hexagonal architecture", "use case boundary", "onion architecture", "screaming architecture", or "framework independence". Also trigger when decoupling business logic from databases or frameworks, defining module boundaries, or debating where to put business rules. Covers component principles, boundaries, and SOLID. For code quality, see clean-code. For domain modeling, see domain-driven-design.
Write readable, maintainable code through disciplined naming, small functions, and clean error handling. Use when the user mentions "code review", "naming conventions", "function too long", "code smells", "readable code", "boy scout rule", "single responsibility", or "unit test quality". Also trigger when reviewing pull requests for readability, refactoring messy functions, debating comment styles, or improving error handling patterns. Covers SRP, comment discipline, formatting, and unit testing. For refactoring techniques, see refactoring-patterns. For architecture, see clean-architecture.
Engineer word-of-mouth and virality using the STEPPS framework (Social Currency, Triggers, Emotion, Public, Practical Value, Stories). Use when the user mentions "go viral", "word of mouth", "shareable content", "social currency", "why people share", "viral loop", "referral program", or "organic growth". Also trigger when designing shareable features, crafting social media campaigns, or building products that spread through peer recommendation. Covers environmental triggers and high-arousal emotional content. For sticky messaging, see made-to-stick. For persuasion tactics, see influence-psychology.
Build a weekly cadence of customer touchpoints using Opportunity Solution Trees, assumption mapping, and interview snapshots. Use when the user mentions "continuous discovery", "opportunity solution tree", "weekly interviews", "assumption testing", "discovery habits", "product trio", or "outcome-based roadmap". Also trigger when setting up regular customer feedback loops, prioritizing which experiments to run, or connecting discovery insights to delivery work. Covers experience mapping, co-creation, and prioritizing opportunities. For interview technique, see mom-test. For team structure, see inspired-product.
Audit websites and landing pages for conversion issues and design evidence-based A/B tests. Use when the user mentions "landing page isnt converting", "conversion rate", "A/B test", "why visitors leave", "objection handling", "bounce rate", "split testing", or "conversion funnel". Also trigger when diagnosing why signups are low, designing experiment hypotheses, or auditing checkout flows for friction points. Covers funnel mapping, persuasion assets, and objection/counter-objection frameworks. For overall marketing strategy, see one-page-marketing. For usability issues, see ux-heuristics.
Navigate the technology adoption lifecycle from early adopters to mainstream market. Use when the user mentions "crossing the chasm", "beachhead segment", "whole product", "early adopters vs. mainstream", "tech go-to-market", "bowling pin strategy", "technology adoption lifecycle", or "pragmatist buyers". Also trigger when a startup has early traction but struggles to grow beyond initial users, or when planning go-to-market for technical products. Covers D-Day analogy, bowling-pin strategy, and positioning against incumbents. For product positioning, see obviously-awesome. For new market creation, see blue-ocean-strategy.