Match UI/UX interaction needs to proven SwiftUI animation patterns from curated open-source catalogs. Use when planning or building iOS/macOS screens where an interaction should feel alive - loaders, likes, toggles, card decks, reveals, shaders - or when asked which animation fits a moment. Recommends system-first restraint before custom motion.
npx skills add https://github.com/RayFernando1337/rayfernando-skills --skill swiftui-animation-match
Use this skill to turn a vaguely felt interaction wish ("saving should feel
more satisfying", "this list is boring while it loads") into a concrete,
proven SwiftUI animation pattern — or into the deliberate decision to use
what the system already provides.
The skill is a matcher, not a snippet dump. Its value is the judgment step:
name the interaction moment first, check what the OS gives you for free,
and only then reach into the cataloged sources for custom motion that earns
its place. Animations add juice that makes a product feel human; forcing
one where the platform already shines makes it feel worse.
what should they feel, and how often does this happen? Read
references/matching-playbook.md —
it has the moment taxonomy and the system-first checklist.
(Liquid Glass chrome, .symbolEffect, springs, .contentTransition,
zoom navigation transitions, .sensoryFeedback), prefer it and stop.
interaction pattern and keywords, not by animation name.
ends with a lift checklist (dependencies to replace, old patterns to
modernize, Reduce Motion).
cannot be judged from code. If the app repo has build/test skills
(for example bootstrap-ios), use them.
Load only the catalog you need; entries are grouped by interaction moment
and carry keywords, exact source paths, technique summaries, and lift notes.
| Catalog | Contents |
|---|---|
| catalog-shubham0812-swiftui-animations.md | 30 SwiftUI animations + 7 Metal shaders: loaders, progress, action feedback, toggles, card decks, text heroes, input chrome, reveals, shader effects |
The source index with pinned commits and licenses is in
references/sources.md.
| The product needs... | Look at |
|---|---|
| An indeterminate wait that feels crafted | Catalog: Wait states |
| Progress with a real percentage | Catalog: Progress with a real percentage |
| A tap that confirms, celebrates, or completes async work | Catalog: Action feedback and confirmation |
| A switch or mode change with personality | Catalog: Toggles and switches with identity |
| Browsing cards, decks, or carousels by gesture | Catalog: Cards and gesture-driven browsing |
| A hero headline or onboarding moment | Catalog: Text and hero moments |
| Composer / input chrome with delight | Catalog: Input chrome |
| An unlock, reveal, or brand easter egg | Catalog: Reveals and brand delight |
| Destroy, error, or premium image treatment | Catalog: Metal shader effects |
| "Which animation fits X?" during planning | matching-playbook.md first, then the catalog |
| Add a new animation repo to this skill | adding-a-source.md |
motion (or system defaults); rare moments may be theatrical.
toolbars, sheets, Liquid Glass surfaces). Custom motion belongs in
content, not in the platform's chrome.
duration scale. A catalog entry adopted verbatim into a calm app will
feel foreign until its curves are tuned to match.
The catalogs describe working code from real repos, including its age. Keep
the load-bearing geometry (shapes, trim windows, offset math, shader
kernels) and modernize the plumbing:
.phaseAnimator, .keyframeAnimator,withAnimation completion handlers, or Task.sleep.
.sensoryFeedback.GeometryReader / container sizing.This skill is built to grow: each new animation repo becomes one catalog
reference file following the same entry format, registered in
sources.md and the catalog table above. The repeatable recipe — including
how to fan out parallel readers over a big repo and the exact entry
template — is in references/adding-a-source.md.
Non-animation creative direction for HyperFrames videos. Use for design spec (frame.md / design.md) handling, palettes, typography, narration, beat planning, audio-reactive visuals, composition patterns, and brand / style decisions. For atomic motion patterns and scene blueprints, use `hyperframes-animation`.
Brainstorm and write high-retention short-form video and carousel content for TikTok, Reels, and YouTube Shorts. Use whenever someone wants viral hook ideas, a video script or outline, content concepts for a product or topic, or wants to critique and improve a draft hook or script. Works for any storytime, listicle, carousel, or meme. Produces several diverse hook options from proven patterns, structures scripts for retention (hook, escalation, payoff, CTA), and adapts to each platform. Pattern-based guidance grounded in how short-form tends to perform; it improves the odds, it does not guarantee virality."
Generate short-form video ideas at volume and stop the blank-page problem for good. Use whenever someone says they're stuck for ideas, asks for 20 TikTok ideas or Reels ideas or YouTube Shorts ideas for their niche, wants a content brainstorm, needs help building a content pillar system or content matrix, wants to turn one idea into 5 angles, asks what to post this week, or wants a real idea generator workflow instead of staring at a notes app. Runs the systems prolific creators actually use: pillars, mining (comments, Reddit, search autocomplete, competitor outliers), repurposing, evergreen vs trend balance. Pattern-based guidance grounded in how short-form ideation tends to work; never run out of ideas is the goal, virality is not promised.
| This skill encodes Emil Kowalski's philosophy on UI polish, component design, animation decisions, and the invisible details that make software feel great.
Create and publish concise Rivet launch or changelog posts through an approval-gated workflow, including release research, a required user-selected hero variation, local HTML-rendered social and technical images, an R2 hero upload, MDX authoring, a reviewed draft GitHub PR for manual merge, and a scheduled and verified Buffer thread for @rivet_dev. Use when asked to launch, announce, ship, or prepare and schedule a Rivet feature or release announcement.
This skill encodes Emil Kowalski's philosophy on UI polish, component design, animation decisions, and the invisible details that make software feel great.
Generate a daily digest of today's policy-authorized meetings and voice memos — key decisions, action items, and themes across available recordings. Use when the user asks "recap my day", "what happened in my meetings today", "daily summary", "what did I discuss today", "any action items from today", or wants a consolidated view of the day's conversations.
Generate a daily digest of today's policy-authorized meetings and voice memos — key decisions, action items, and themes across available recordings. Use when the user asks "recap my day", "what happened in my meetings today", "daily summary", "what did I discuss today", "any action items from today", or wants a consolidated view of the day's conversations.
Take rayfernando1337/swiftui-animation-match from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.