swiftui-motion

swiftui-motion is a skill for Claude Code from AThevon/genjutsu. It costs 29 tokens per session (3,655 once invoked), scanned A, a copy of swiftui-motion, MIT.

A guide to animating interfaces made with SwiftUI, Apple's framework for building apps across its platforms. It covers transitions, springs, gestures, coordinated states, and timeline-based animations.

In plain words
What is it for?
Use it when adding or reviewing motion in iPhone, iPad, Mac, or other SwiftUI applications, including gesture-driven and shared-element transitions.
Why use it?
It helps choose an appropriate SwiftUI animation method and avoid using complex tools for simple effects.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Needs its repository: it reads a path above its own folder, which exists only inside the repository. The line is Pair with `../motion-principles/SKILL.md` (foundation) and `../mobile-principles/SKILL.md` (touch UX)..

Part of the genjutsu plugin — 17 skills shipped together

Good fit Use it when adding or reviewing motion in iPhone, iPad, Mac, or other SwiftUI applications, including gesture-driven and shared-element transitions.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.

Clone the repo
git clone --depth 1 https://github.com/AThevon/genjutsu
agentmods
npx agentmods add skills/athevon/genjutsu/swiftui-motion

Made for: Claude Code.

Or install genjutsu, the plugin that ships this one along with the rest of its 17 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for swiftui-motion

README.md
[![agentmods](https://agentmods.dev/badge/skills/athevon/genjutsu/swiftui-motion.svg)](https://agentmods.dev/skills/athevon/genjutsu/swiftui-motion)
Your own site
<a href="https://agentmods.dev/skills/athevon/genjutsu/swiftui-motion"><img src="https://agentmods.dev/badge/skills/athevon/genjutsu/swiftui-motion.svg" alt="Measured on agentmods" height="20"></a>
Per session 29 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,655 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • Socket pass 3 Aug 2026
  • Snyk pass 3 Aug 2026
How audits are shown
Origin 89% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00029 $0.03655
Opus 5 $0.00015 $0.01827
Sonnet 5 $0.00006 $0.00731
Haiku 4.5 $0.00003 $0.00365

Measured 7d ago against content hash 7ace689f0937, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-07, from the pricing page.

Security

Grade A, and why

swiftui-motion scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

This is a copy

89% identical to swiftui-motion — 6 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

skills/_jutsu/swiftui-motion/SKILL.md · 380 lines

How it starts

The opening of the file, as written. The whole thing — 380 lines — stays where its author put it; the contents beside it link to each section on GitHub.

SwiftUI Motion

SwiftUI animation core. Loaded for any SwiftUI project (iOS, macOS, multi-target Apple). Concise rules here. Deep-dive in references/. Pair with ../motion-principles/SKILL.md (foundation) and ../mobile-principles/SKILL.md (touch UX).


Animation API decision tree

Need API
Single value over time withAnimation { } + @State or .animation(_, value:)
Multiple coordinated states PhaseAnimator(phases) (iOS 17+)
Time-based keyframes KeyframeAnimator(initialValue:repeating:content:) (iOS 17+)
Custom property animations @Animatable macro (iOS 26+) or Animatable protocol (iOS 13+)
Shared element transitions matchedGeometryEffect(id:in:)
Gesture-driven DragGesture / MagnifyGesture + .offset / .scaleEffect
Loop forever .animation(.linear.repeatForever(autoreverses: true), value: ...) or .phaseAnimator

Rule: start with withAnimation. Reach for PhaseAnimator only when you have 3+ ordered states. Reach for KeyframeAnimator only when you need parallel time-based tracks.


Springs (the only easing you should care about)

SwiftUI ships 4 named springs (iOS 17+). Use them. Tune response / dampingFraction only when a preset is wrong.

Preset (iOS 17+) Equivalent Mood
.snappy .spring(response: 0.5, dampingFraction: 0.85) UI snappy
.bouncy .spring(response: 0.5, dampingFraction: 0.7) playful
.smooth .spring(response: 0.5, dampingFraction: 1.0) calm, no bounce
.interactiveSpring() .spring(response: 0.15, dampingFraction: 0.86) gesture follow

response is the time the spring takes to settle (lower = snappier, higher = softer). dampingFraction is the overshoot intensity in 0...1 (1 = no overshoot, 0 = perpetual oscillation - never use 0). For UI work, stay in response: 0.2...0.5 and dampingFraction: 0.7...1.0. Deep-dive: references/springs-cheatsheet.md.

iOS 17+ also exposes .spring(duration:bounce:) where bounce is 0...1 (0 = critically damped, 1 = full bounce). It's the same spring, exposed in a more designer-friendly way:

Read the full file on GitHub · 380 lines

Files

What ships with it

3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 7d ago First seen · 380 lines · 29 tokens per session scan A 7ace689f0937

Subscribe to this mod's changes

swiftui-motion is a skill published in the GitHub repository AThevon/genjutsu (330 stars, last pushed 1mo ago), licensed MIT. It adds 29 tokens to every session and 3,655 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. It is 89% identical to swiftui-motion, differing in 6 lines, and is treated as a copy.

Related

Other skills, from other repositories

beautify-flutter

Use when the user wants to design, redesign, build, critique, audit, polish, theme, animate, adapt, or otherwise improve a Flutter app's UI or UX. Covers full apps, screens, widgets, components, forms, onboarding, empty states, navigation, dashboards, and settings. Handles Material 3 theming, Cupertino/iOS adaptation…

parasvishwa/beautify-flutter · 189 tokens

design-dna

Extract, define, and apply design DNA across three dimensions: design system (tokens), design style (qualitative feel), and visual effects (Canvas, WebGL, 3D, particles, shaders, scroll effects, etc.). Use this skill when: (1) a user wants to see the full 3-dimension design structure/schema, (2) a user provides…

zanwei/design-dna · 192 tokens

platform-conventions

Design to iOS and Android conventions — what each OS mandates, where they diverge, and when to unify. Use when shipping native apps. For breakpoint adaptation use responsive-design; for matching competitor patterns use jakobs-law (interaction-design).

Owl-Listener/designer-skills · 55 tokens

ss-audit

Audit screens for UX issues using Nielsen's heuristics and modern mobile UX best practices.

bitjaru/styleseed · 20 tokens

add-component

Add a SwiftUI component from ShipSwift. Use when the user says "add component", "add a view", "add X view", "I need a chart", "add animation", or wants a specific UI element.

signerlabs/ShipSwift · 48 tokens

component-family-consistency

Buttons, inputs, pills, badges, calendars, and other interactive components form a visual family — they share the same border-radius, colour logic, shadow scale, border style, and spacing rhythm. Inconsistency between them breaks the sense of a coherent product. Use when building or reviewing a component library…

dembrandt/dembrandt-skills · 76 tokens