Agent SkillsRayFernando1337/rayfernando-skills › swiftui-animation-match

swiftui-animation-match

GitHub

为iOS/macOS应用提供SwiftUI动画模式匹配建议,优先使用系统原生交互,仅在必要时推荐自定义动效,涵盖加载、反馈、切换等场景。

plugins/swiftui-animation-match/skills/swiftui-animation-match/SKILL.md RayFernando1337/rayfernando-skills

Trigger Scenarios

需要为界面交互添加动画效果 询问特定交互时刻(如加载、点赞)的最佳动画方案 评估是否应使用系统原生动画而非自定义实现

Install

npx skills add RayFernando1337/rayfernando-skills --skill swiftui-animation-match -g -y
More Options

Non-standard path

npx skills add https://github.com/RayFernando1337/rayfernando-skills/tree/main/plugins/swiftui-animation-match/skills/swiftui-animation-match -g -y

Use without installing

npx skills use RayFernando1337/rayfernando-skills@swiftui-animation-match

指定 Agent (Claude Code)

npx skills add RayFernando1337/rayfernando-skills --skill swiftui-animation-match -a claude-code -g -y

安装 repo 全部 skill

npx skills add RayFernando1337/rayfernando-skills --all -g -y

预览 repo 内 skill

npx skills add RayFernando1337/rayfernando-skills --list

SKILL.md

Frontmatter
{
    "name": "swiftui-animation-match",
    "description": "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."
}

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.

First move

  1. Name the moment. Translate the request into: what is the user doing, 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.
  2. Decide system vs custom. If a system affordance covers the moment (Liquid Glass chrome, .symbolEffect, springs, .contentTransition, zoom navigation transitions, .sensoryFeedback), prefer it and stop.
  3. If custom motion earns its place, search the catalogs (below) by interaction pattern and keywords, not by animation name.
  4. Adapt, never paste. Every catalog entry has lift notes and each catalog ends with a lift checklist (dependencies to replace, old patterns to modernize, Reduce Motion).
  5. Verify in motion. Build and watch it in Previews or Simulator; motion cannot be judged from code. If the app repo has build/test skills (for example bootstrap-ios), use them.

Catalogs

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.

Mode picker

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

Restraint rules

  • One signature motion moment per screen. Everything else stays quiet.
  • Frequency caps intensity: high-frequency interactions get subtle, short motion (or system defaults); rare moments may be theatrical.
  • Do not re-skin system chrome that already animates well (tab bars, toolbars, sheets, Liquid Glass surfaces). Custom motion belongs in content, not in the platform's chrome.
  • Honor Reduce Motion with a crossfade or reduced variant.
  • Keep one motion vocabulary per app: consistent spring feel, consistent duration scale. A catalog entry adopted verbatim into a calm app will feel foreign until its curves are tuned to match.

Adaptation posture

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:

  • Timer state machines -> .phaseAnimator, .keyframeAnimator, withAnimation completion handlers, or Task.sleep.
  • UIKit haptic wrappers -> .sensoryFeedback.
  • Hardcoded screen bounds -> GeometryReader / container sizing.
  • Demo colors, fonts, and assets -> the app's design tokens.
  • Fake timer-driven progress -> real async work.

Extending the skill

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.

Version History

  • 952eaaa Current 2026-07-23 05:09

Same Skill Collection

plugins/bootstrap-ios/skills/bootstrap-ios/SKILL.md
plugins/running-bug-review-board/skills/running-bug-review-board/SKILL.md
plugins/waves-codex/skills/waves-codex/SKILL.md
plugins/waves/skills/waves/SKILL.md

Metadata

Files
0
Version
952eaaa
Hash
7c95e287
Indexed
2026-07-23 05:09

Главная - Вики-сайт
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-05 08:00
浙ICP备14020137号-1 $Гость$