Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
rshankras avatar

Design

  • 464 installs
  • 591 repo stars
  • Updated July 24, 2026
  • rshankras/claude-code-apple-skills

design is a Claude Code agent skill that guides Apple platform UI implementation—Liquid Glass, SwiftUI animations, SF Symbol effects, and HIG-aligned visual patterns—for developers building iOS, macOS, and watchOS interf

About

design is an agent skill from rshankras/claude-code-apple-skills that helps developers implement Apple's modern design language in production SwiftUI and AppKit code. The skill bundles two focused modules—liquid-glass for iOS 26+ and macOS 26+ glassEffect and NSGlassEffectView patterns, and animation-patterns for spring, PhaseAnimator, KeyframeAnimator, matched geometry, and SF Symbol effects across iOS 13–18+. It activates when a developer asks about blur materials, hero transitions, snappy animations, or withAnimation completions, and steers agents toward system APIs, GlassEffectContainer performance limits, and Human Interface Guidelines consistency. Install with npx skills add against the GitHub repo; allowed tools are Read, Write, Edit, Glob, Grep, and AskUserQuestion for in-repo implementation work.

  • Human Interface Guidelines alignment
  • SF Symbols and system typography
  • Platform-native component patterns
  • Accessibility and adaptive layouts
  • Consistent spacing and visual hierarchy

Design by the numbers

  • 464 all-time installs (skills.sh)
  • +26 installs in the week ending Jul 26, 2026 (Skillselion tracking)
  • Ranked #612 of 1,880 Design & UI/UX skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/rshankras/claude-code-apple-skills --skill design

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs464
repo stars591
Last updatedJuly 24, 2026
Repositoryrshankras/claude-code-apple-skills

How do you implement Liquid Glass in SwiftUI?

Apply Apple Human Interface Guidelines, SF Symbols, typography, spacing, and platform-native patterns when designing and implementing iOS, macOS, and watchOS interfaces.

Who is it for?

SwiftUI and AppKit developers shipping iOS 26+, macOS 26+, or watchOS interfaces who need guided implementation of Apple's latest visual and animation APIs.

Skip if: Teams needing automated HIG compliance audits, typography reviews, or accessibility checklists should use the separate ui-review skill instead of design.

When should I use this skill?

A developer requests Liquid Glass, glass blur materials, spring or PhaseAnimator animations, view transitions, matched geometry, or SF Symbol visual effects in Apple platform UI code.

What you get

SwiftUI and AppKit views using glassEffect, GlassEffectContainer, spring animation configs, PhaseAnimator sequences, matched-geometry transitions, and SF Symbol effect modifiers.

  • SwiftUI views with glassEffect and animation modifiers
  • AppKit NSGlassEffectView integration patterns

By the numbers

  • Bundles 2 design modules: liquid-glass and animation-patterns
  • Covers SwiftUI animation APIs from iOS 13 through iOS 18+
  • Documents spring animation configurations across 3 SwiftUI API generations

Files

animation-patterns/SKILL.mdMarkdownGitHub ↗

Animation Patterns

Correct API shapes and patterns for SwiftUI animations. Prevents the most common mistakes: mixed spring parameter generations, wrong PhaseAnimator/KeyframeAnimator closure signatures, and using matchedGeometryEffect where matchedTransitionSource is needed.

When This Skill Activates

Use this skill when the user:

  • Asks to add, fix, or review animation code
  • Mentions spring, bounce, or snappy animations
  • Wants view transitions (insertion/removal, hero, zoom)
  • Asks about PhaseAnimator or KeyframeAnimator
  • Wants SF Symbol effects (bounce, pulse, wiggle, breathe)
  • Mentions matchedGeometryEffect or matchedTransitionSource
  • Asks about reduce motion / animation accessibility
  • Wants to sequence or chain animations
  • Mentions withAnimation, animation completions, or Transaction

Decision Tree

Choose the right reference file based on what the user needs:

What are you animating?
│
├─ A state change (opacity, position, color)
│  └─ → core-animations.md
│     ├─ withAnimation { } — explicit animation
│     ├─ .animation(_:value:) — implicit animation
│     └─ Spring configuration — .spring, .bouncy, .snappy, .smooth
│
├─ A multi-step / sequenced animation
│  └─ → phase-keyframe-animators.md (PhaseAnimator)
│     └─ Cycles through discrete phases automatically or on trigger
│
├─ A complex multi-property animation (scale + rotation + offset)
│  └─ → phase-keyframe-animators.md (KeyframeAnimator)
│     └─ Timeline-based keyframes with per-property tracks
│
├─ A view appearing / disappearing
│  └─ → transitions.md
│     ├─ .transition() — insertion/removal
│     ├─ .contentTransition() — text/symbol changes
│     └─ .asymmetric() — different in/out
│
├─ A hero / zoom navigation transition
│  └─ → transitions.md (matchedTransitionSource section)
│     ├─ iOS 18+: matchedTransitionSource + .navigationTransition(.zoom)
│     └─ iOS 14+: matchedGeometryEffect (NOT for NavigationStack)
│
├─ An SF Symbol animation
│  └─ → symbol-effects.md
│     └─ .symbolEffect(.bounce), .pulse, .wiggle, .breathe, .rotate
│
└─ Spring physics / timing configuration
   └─ → core-animations.md (Spring Configurations section)

API Availability

APIMinimum VersionReference
withAnimationiOS 13core-animations.md
.animation(_:value:)iOS 13core-animations.md
.spring(response:dampingFraction:)iOS 13core-animations.md
.matchedGeometryEffectiOS 14transitions.md
.transition(.push(from:))iOS 16transitions.md
.contentTransition(.numericText())iOS 16transitions.md
PhaseAnimatoriOS 17phase-keyframe-animators.md
KeyframeAnimatoriOS 17phase-keyframe-animators.md
.spring(duration:bounce:)iOS 17core-animations.md
Spring presets (.bouncy, .snappy, .smooth)iOS 17core-animations.md
withAnimation(_:completionCriteria:_:completion:)iOS 17core-animations.md
.symbolEffect()iOS 17symbol-effects.md
.transition(.blurReplace)iOS 17transitions.md
.contentTransition(.symbolEffect(.replace))iOS 17transitions.md
.matchedTransitionSourceiOS 18transitions.md
.navigationTransition(.zoom)iOS 18transitions.md

Top 5 Mistakes — Quick Reference

#MistakeFixDetails
1spring(response:bounce:) — mixing parameter generationsUse either spring(response:dampingFraction:) (iOS 13) or spring(duration:bounce:) (iOS 17)core-animations.md
2.animation(.spring()) without value: parameterAlways pass value: — the no-value variant is deprecated (iOS 15)core-animations.md
3Wrong PhaseAnimator closure signaturePhaseAnimator(phases) { content, phase in } — not { phase in }phase-keyframe-animators.md
4Using matchedGeometryEffect for NavigationStack transitionsUse matchedTransitionSource + .navigationTransition(.zoom) on iOS 18+transitions.md
5Using withAnimation for SF Symbol effectsUse .symbolEffect() modifier insteadsymbol-effects.md

Review Checklist

When reviewing animation code, verify:

  • [ ] Reduce motion — animations respect AccessibilityMotionEffect or UIAccessibility.isReduceMotionEnabled; provide non-motion alternatives
  • [ ] Duration limits — no animation exceeds ~0.5s for UI feedback; longer only for decorative/ambient effects
  • [ ] Spring vs linear — springs for interactive/physical motion; linear/easeInOut only for opacity fades or progress indicators
  • [ ] No deprecated APIs.animation(.spring()) without value: is deprecated; .animation(nil) is replaced by withTransaction
  • [ ] Correct spring generation — parameter names match the same API generation (never mix response with bounce)
  • [ ] Completion handlers — using withAnimation(_:completionCriteria:_:completion:) (iOS 17+), not inventing .onAnimationCompleted
  • [ ] Transition scope.transition() only affects views inside if/switch controlled by state; not for views that are always present

Reference Files

FileContent
core-animations.mdwithAnimation, springs, completions, transactions, timing curves
phase-keyframe-animators.mdPhaseAnimator, KeyframeAnimator, custom animations
transitions.mdView transitions, matched geometry, navigation transitions
symbol-effects.mdSF Symbol effects, accessibility

Related skills

How it compares

Pick design for hands-on implementation of Apple's latest visual and animation APIs; pair with ui-review from the same collection when you need checklist-based HIG and accessibility audits after UI code is written.

FAQ

What platforms does the design skill support?

The design skill targets Apple platform UI in SwiftUI and AppKit, with Liquid Glass guidance for iOS 26+ and macOS 26+, and animation-patterns coverage from iOS 13 through iOS 18+. It follows Human Interface Guidelines and system-provided APIs for consistent native appearance.

How do you install the design skill?

Install design by running npx skills add https://github.com/rshankras/claude-code-apple-skills --skill design from a project root. The CLI pulls the skill from rshankras/claude-code-apple-skills and registers it for Claude Code or Cursor agent use.

When should developers use design versus ui-review?

Use design when implementing Liquid Glass, animations, blur materials, and SF Symbol effects in new or existing views. Use the separate ui-review skill when auditing SwiftUI code for HIG compliance, Dynamic Type, typography, and accessibility against Apple checklists.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.