Make Claude Design to Apple's Standard: The Two Skills

Original: https://glamorous-pencil-2e4.notion.site/3f6f8ee1272181bd8c0df0df5f912e8a

These are the two Claude skills from the reel. One gives Claude Apple's rules for how an app should look, from 123 pages of the Human Interface Guidelines. The other gives it Apple's rules for motion on the web, from Apple's WWDC design talks. Below: how to install both, and the prompts for the two ways to use them.

Look skill: github.com/dickwu/apple-design-skill Motion skill: github.com/emilkowalski/skills → apple-design


The Two Skills

The look skillThe motion skill
Built from123 pages of Apple's Human Interface Guidelines (incl. 57 component pages), pulled from developer.apple.comApple's WWDC design talks, chiefly Designing Fluid Interfaces (WWDC 2018)
Gives ClaudeApple's rules for how an app should look: layout, spacing, type, color, controls, accessibility, platform conventionsApple's rules for how things should move on the web: springs, response, gestures, interruption
ForMobile & desktop apps: SwiftUI, UIKit, AppKit, Flutter, React Native, Tauri, ElectronWeb: CSS, Pointer Events, spring libraries like Motion / Framer Motion
Made bydickwuEmil Kowalski

Heads-Up: Both Skills Are Named apple-design

Both repos declare the same skill name. Install them side by side unchanged and Claude can't tell them apart. The fix is to give each its own folder and rename one line. The steps below do that, calling them `apple-look` and `apple-motion`.


Install (Claude Code)

Requires: Claude Code and git.

1. The look skill (Apple's HIG, for apps)

git clone --depth 1 https://github.com/dickwu/apple-design-skill.git ~/.claude/skills/apple-look

2. The motion skill (Apple's WWDC talks, for the web). It lives inside a larger repo, so copy just that folder:

git clone --depth 1 https://github.com/emilkowalski/skills.git /tmp/emil-skills
cp -R /tmp/emil-skills/skills/apple-design ~/.claude/skills/apple-motion

3. Give each one its own name

# macOS
sed -i '' 's/^name: apple-design$/name: apple-look/' ~/.claude/skills/apple-look/SKILL.md
sed -i '' 's/^name: apple-design$/name: apple-motion/' ~/.claude/skills/apple-motion/SKILL.md

# Linux: same commands without the ''  →  sed -i 's/.../.../' ...

4. Check. Open a new Claude Code session and type /. You should see apple-look and apple-motion. Or just ask: "What skills do you have?"


Way 1: Claude Follows the Rules While It Builds

Name the skill in your prompt so Claude loads it before writing code.

Building an app screen (look skill):

Use the apple-look skill. Build the settings screen for my app following Apple's Human Interface Guidelines. Get the spacing, type sizes, control sizes, grouping, and dark mode right. Before you write code, list the guideline decisions you're making.

Building web interactions (motion skill):

Use the apple-motion skill. Add a bottom sheet to this page that I can drag, flick and grab mid-animation. Use springs instead of fixed durations, respond on pointer-down, carry my drag velocity into the release, and make it interruptible at any point.

Polishing what's already moving (motion skill):

Use the apple-motion skill. Go through every animation in this component and rebuild it the way the skill describes: springs instead of easing curves, no artificial delays, motion that starts from the current on-screen value.

Way 2: Point Them at Something You Already Made

This is the "it works, but it feels off and I can't say why" fix.

Review an app screen (look skill). Attach a screenshot, or point it at the UI code:

Use the apple-look skill to review this screen against Apple's guidelines. For every issue give me What / Why / Fix, most important first. Then show me the fixed version.

Review web motion (motion skill):

Use the apple-motion skill to review the animations in this page. Flag anything that reacts on release instead of on press, can't be interrupted mid-move, ignores my gesture's velocity, or uses a fixed duration where a spring belongs. Then fix them.

Make it less generic (look skill):

Use the apple-look skill. This looks like every other AI-generated app. Give it a point of view without breaking platform conventions.

The Stuff You Could Feel, With Names

What felt offWhat it's calledWhich skill catches it
Things look crowded or randomly spacedSpacing and layout rhythmLook
Text hierarchy feels flat or chaoticType sizes, weights, and leadingLook (both cover typography)
Buttons hard to hit, text hard to readControl sizes, contrast, text scalingLook (accessibility)
It doesn't feel nativePlatform conventions: tab bars, sheets, navigationLook
Taps feel laggyResponse: feedback on press, not releaseMotion
Animations feel cannedSprings vs. fixed-duration curvesMotion
You can't stop a moving thingInterruptibilityMotion
Flicks feel deadVelocity handoff and momentum projectionMotion
Hitting an edge feels harshRubber-bandingMotion

One Safety Note Before You Install Skills

A skill is instructions your AI agent reads and acts on, so treat it like code you're running.


Resources

Build something that finally feels right? Show me. Jesse / @jesserurka