From Cupertino Taste
Design, review, diagnose, or implement user-driven interface behavior—taps, presses, drags, swipes, scrolling, paging, transitions, gesture conflicts, momentum, springs, interruption, cancellation, boundaries, feedback, and discoverability—especially for Apple platforms. Use when an interaction feels laggy, stiff, abrupt, disconnected, hard to cancel, or hard to discover. Never invent numeric motion values. Do not use for static visual styling or decorative animation without an interaction problem.
How this skill is triggered — by the user, by Claude, or both
Slash command
/cupertino-taste:design-fluid-interfaceThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Shape interaction as a continuous exchange between a person and the interface. Optimize for control, continuity, and clear intent; motion is supporting evidence, not the goal.
Shape interaction as a continuous exchange between a person and the interface. Optimize for control, continuity, and clear intent; motion is supporting evidence, not the goal.
recognitionThreshold and mark it tune in prototype. A design request with no numeric evidence must contain no numeric literals in behavioral recommendations or sample code.Follow the user's verb:
Establish the platform, framework, input methods, user goal, starting state, intermediate states, valid outcomes, cancellation paths, and available evidence. Infer these from the project before asking. If a missing choice would materially change the product behavior, state the missing fact and ask one focused question; otherwise proceed with an explicit assumption.
You must read fluid-principles.md and current-apple-guidance.md before making recommendations. Current Apple documentation overrides the 2018 examples.
Fluidity has to survive use. Classify what the supplied artifact can prove:
| Evidence | What it can establish |
|---|---|
| Static image | Affordances, hierarchy, possible states, spatial cues |
| State sequence or written spec | Intended paths, endpoints, and omissions |
| Source code | Recognizers, timers, state transitions, parameters, accessibility branches |
| Screen recording | Visible continuity, pacing, and apparent feedback |
| Runnable prototype | Tracking, latency, interruption, reversal, cancellation, and endpoint behavior |
| Real device with a person | Perceived response, ergonomics, haptics, and actual input behavior |
Give the useful partial result the evidence supports. Do not withhold a behavioral correction merely because the root cause is unknown; specify the desired behavior and put cause-finding under Runtime checks. Distinguish a user-reported symptom from behavior you observed directly. Never turn either one into an implementation cause without source or runtime evidence; label a possible cause as a hypothesis and state how to confirm it. Never infer tracking quality, latency, interruptibility, gesture arbitration, haptics, or perceived smoothness from a screenshot. Put those claims under Runtime checks instead of issuing a complete verdict.
For each important action, trace this lifecycle:
Represent a nontrivial interaction as a compact state/transition table. Do not reduce it to a list of animation durations.
Evaluate or design every traced path through these lenses:
Check immediate contact feedback, commitment on release, a forgiving activation region, move-out cancellation, move-back-in recovery, adequate target size, and keyboard or assistive activation where applicable.
Check a platform-appropriate recognition threshold, direction locking only when needed, preserved contact offset, continuous tracking, boundary response, release velocity, destination logic, and interruption during settling. Prefer system recognizers and scrolling behavior over hard-coded historical constants.
Check spatial origin and destination, mid-flight interruption, retargeting from the current state, response and damping as conceptual controls, purposeful overshoot, stable final state, and a Reduce Motion variant. Avoid inventing duration or spring values without running the interaction.
Map dependencies and failure requirements. Identify which common action pays each delay. Begin feedback as early as safely possible, resolve ambiguity from real movement, and cancel losing paths cleanly. Reject gesture combinations that make the primary action feel unresponsive without delivering commensurate value.
Do not invent recognition distances, detent positions, commitment fractions, durations, spring parameters, deceleration rates, frame-rate targets, or haptic thresholds. Use the project's existing values, a current system component, current platform documentation, or measurements from a runnable prototype. When none exists, name the value symbolically and describe how the team should tune and verify it.
Do not make “Reduce Motion” mean an instant jump or merely a faster animation by default. Faster large-scale motion can remain uncomfortable. Preserve essential state and hierarchy with a lower-motion transition such as a tightly damped gesture-coupled settle, dissolve, highlight, or other current platform treatment. Choose the alternative from the interaction's meaning and exercise it with the system preference enabled.
Lead with the highest-impact behavioral issue. For each finding include:
Name whether the evidence was supplied, observed, or inferred. Separate confirmed findings, hypotheses, and Runtime checks. Include timestamped session links when they materially explain the recommendation, and current Apple links for present-day platform rules.
Deliver:
Prefer a small runnable prototype over extra static mockups when behavior is the unresolved question.
If the request supplies no implementation artifact or measured prototype, keep all motion and recognition parameters symbolic. Do not include numeric ranges, sample assignments, deployment targets, or API calls that were not verified against current documentation during this task.
This skill is not a complete typography, color, branding, visual-design, usability-research, accessibility, or performance-profiling method. Cover those areas only where they affect the interaction in scope, and name the remaining review explicitly.
Do not copy historical product behavior blindly. The 2018 session's 3D Touch examples, fixed swipe threshold, damping percentages, and API spellings are evidence of principles, not universal current prescriptions.
Guides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.
Creates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.
Resolves in-progress git merge or rebase conflicts by analyzing history, understanding intent, and preserving both changes where possible. Runs automated checks after resolution.
npx claudepluginhub wezzard/skills --plugin cupertino-taste