ios-the-final-5-percentlisted
The final 5% of detail that separates a competent iOS app from a beloved one. Use this skill whenever the user is building, reviewing, or polishing a native Swift/SwiftUI iOS app and wants it to feel custom, considered, and crafted — like Halide, Things 3, Linear, Granola, or Apple's own apps. Triggers on: polish, premium feel, details, micro-interactions, craft, attention to detail, taste, feels generic, make it premium, animation polish, transitions, hero animation, matchedGeometryEffect, spring animations, easing curves, .smooth, .snappy, .bouncy, content transitions, numeric text, symbol effects, SF Symbols, SF Pro typography, dynamic type, tracking, kerning, color hierarchy, semantic colors, true black, OLED, Liquid Glass, iOS 26 design, glassEffect, sensoryFeedback, haptic feedback, sound design, empty states, loading states, skeleton screens, confetti, onboarding polish, paywall polish, microcopy, Reduce Motion, VoiceOver, tap target, interruptible animations, sheet detents.
heyimjames/ios-design-skills · ★ 0 · Code & Development · score 75
Install: claude install-skill heyimjames/ios-design-skills
# The Final 5% — iOS Design Engineering Skill
> "Whoever made this actually gives a shit."
That's the only goal. Everything in this file is in service of someone using your app and feeling, in their bones, that a human cared. This is the skill you load when the app *works* but doesn't *feel right*. When everything compiles and ships but the spark is missing.
This skill assumes a native Swift/SwiftUI iOS app, targeting iOS 17 minimum and ideally iOS 26 (Liquid Glass). It pairs with [camera-and-photos](../camera-and-photos/SKILL.md), [chat-and-messaging](../chat-and-messaging/SKILL.md), and [interaction-primitives](../interaction-primitives/SKILL.md) — but the patterns here apply to every app.
---
## Output format — required
When this skill is invoked to review code, audit a design, or recommend changes, **always output recommendations as a markdown table** with three columns:
| Before | After | What this changes |
| --- | --- | --- |
| The current code, value, or approach (quote the user's actual code when possible) | The recommended replacement — **specific**, with exact values | One sentence on what the user will *see, feel, or experience* differently |
Three rules:
1. **Before** quotes the user's actual code where possible. If you're warning against a pattern they haven't written yet, write what they *would* have written.
2. **After** is specific. Exact spring values, exact corner radii, exact haptic styles. "Use a spring" isn't an After; `.spring(duration: 0.32, bo