Use when deciding HOW an Apple-style interface should BEHAVE — the functional UX/interaction logic, not the looks. Navigation-model decisions (push vs sheet vs modal vs tab vs popover vs split-view vs full-screen, back behavior, deep-linking, state restoration), state & feedback behavior (loading/skeleton timing, empty/error/disabled states, optimistic UI, pull-to-refresh, pagination), perceived-performance rules (latency thresholds, instant feedback, prefetch, progressive loading), input/focus/keyboard/pointer handling + hit-target affordances, and scroll-as-input decisions (when cinematic scroll helps vs hurts, scroll affordance, momentum, inertia, scroll-jacking prohibition, scroll-driven UX decision). Part of the apple-design family. Keywords: navigation model, push pop, sheet vs modal, tab bar, back behavior, deep link, state restoration, loading state, skeleton, empty state, optimistic UI, pull to refresh, perceived performance, latency threshold, prefetch, focus order, keyboard navigation, hit target, affordance, pointer vs touch, scroll as input, scroll affordance, momentum, inertia, scroll-jacking, when cinematic scroll, scroll-driven UX decision.
Restart Claude Code after copying so it picks up the new skill.
Use it in TypingMind
Enable Apple Design Interaction in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.
SkillsLoad skill"apple-design-interaction"
Gemini 3.5 Pro
The model loads Apple Design Interaction on its own as soon as a request matches it.
Works with any AI model
AI skills are plain Markdown instructions rather than provider-specific code, so Apple Design Interaction is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.
Loaded only when it is needed
The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.
Switch models mid-chat
Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.
Skill instructions
This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.
Apple Design — Interaction Logic (how it behaves, not how it looks)
The functional decision layer: which navigation, which state behavior, how it
responds, and why. This is the technical/functionality half of Apple design —
what makes an interface feel right beyond how it looks. Reach here for behavior
decisions; reach for apple-design-motion for the animation that executes them
and apple-design-os for the components they configure.
When to use
Choosing navigation/presentation: push vs sheet vs modal vs tab vs popover vs split-view vs full-screen.
Designing state behavior: loading/empty/error/disabled, optimistic updates, pull-to-refresh, pagination.
Tuning perceived performance / responsiveness.
Handling focus, keyboard, input, hit targets, pointer-vs-touch.
Core rules
Match navigation to information hierarchy. Push = drilling into a hierarchy; sheet/modal = a self-contained sub-task that returns; tab = peer top-level sections; split view = master/detail on wide screens; full-screen cover = an immersive/focused mode. Back must be obvious & predictable; preserve and restore state on return.
Respond in <100 ms, always. Instant visual feedback on touch; optimistic UI for likely-success actions; spinners only for >1 s, skeletons for content-shaped waits. Never block input behind a spinner.
Design every state, not just the happy path: loading, empty (with a path forward), error (with recovery), disabled (with a reason), success. Empty/error states are features, not afterthoughts.
Make targets reachable & affordant: ≥44 pt, primary actions in the thumb zone, visible focus, full keyboard operability; every gesture has a visible fallback.
Scroll is an input — decide consciously. Continuous scroll-progress motion (properties bound to scrollY) makes the user feel they are driving the interface. HELPS on flagship/marketing/product/onboarding surfaces where pacing and narrative are the goal — commit fully or skip entirely; half-measures read as glitches. HURTS on utility/productivity surfaces (lists, dashboards, forms, settings, docs) — it slows task completion and fights muscle memory; keep scroll plain and fast there. ABSOLUTE: never scroll-jack (never preventDefault wheel/touchmove, never overflow:hidden fake-scroll, never page-level vertical snap). You may smooth the read value via lerp; you may never seize control of the scrollbar position. Always preserve a working native scrollbar and keyboard scroll. Pointer-reactive motion (tilt, magnetic, spotlight) is (pointer:fine) desktop-only sugar — touch users must lose nothing. Gate all scroll-driven transforms under prefers-reduced-motion. → See references/perceived-performance-and-input.md §Scroll as a continuous input/affordance + apple-design → restraint-and-antislop.md for the surface-axis classification.
References
File
Use for
references/navigation-models.md
push/sheet/modal/tab/popover/split-view/full-screen decision framework, back behavior, deep-linking, state restoration
Modal overuse (a sheet where a push belongs); unpredictable back; lost state on return.
Spinner for everything; blocking input; no optimistic UI; janky perceived performance.
Only the happy path — no empty/error/disabled design.
Gesture-only actions with no fallback; unreachable primary actions; no visible focus ring.
Related: the motion that animates these transitions → apple-design-motion · the components these decisions configure → apple-design-os · grid reflow/adaptivity → apple-design-foundations.
Bundled files
The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.
What does the Apple Design Interaction AI skill do?
Use when deciding HOW an Apple-style interface should BEHAVE — the functional UX/interaction logic, not the looks. Navigation-model decisions (push vs sheet vs modal vs tab vs popover vs split-view vs full-screen, back behavior, deep-linking, state restoration), state & feedback behavior (loading/skeleton timing, empty/error/disabled states, optimistic UI, pull-to-refresh, pagination), perceived-performance rules (latency thresholds, instant feedback, prefetch, progressive loading), input/focus/keyboard/pointer handling + hit-target affordances, and scroll-as-input decisions (when cinematic...
Why use Apple Design Interaction on TypingMind?
Because you install it once and use it with any model. Apple Design Interaction is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.
How do I install Apple Design Interaction in TypingMind?
Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/s1gmamale1/apple-design-skills/tree/main/skills/apple-design-interaction. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.
Which AI models can use Apple Design Interaction?
Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.
How many AI models can I use with Apple Design Interaction?
As many as you like. As long as a model supports skills, you can use Apple Design Interaction with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.
Is the Apple Design Interaction AI skill free?
It is published on GitHub by s1gmamale1. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.
What are AI skills?
An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.
How are AI skills different from plugins or MCP servers?
A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.