Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add YordiLorenzo/liquid-glass-skills --skill apple-motion-feelgit clone --depth 1 https://github.com/YordiLorenzo/liquid-glass-skillsWrote 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.
[](https://agentmods.dev/skills/yordilorenzo/liquid-glass-skills/apple-motion-feel)<a href="https://agentmods.dev/skills/yordilorenzo/liquid-glass-skills/apple-motion-feel"><img src="https://agentmods.dev/badge/skills/yordilorenzo/liquid-glass-skills/apple-motion-feel/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/yordilorenzo/liquid-glass-skills/apple-motion-feel"><img src="https://agentmods.dev/badge/skills/yordilorenzo/liquid-glass-skills/apple-motion-feel.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00134 | $0.02044 |
| Opus 5 | $0.00067 | $0.01022 |
| Sonnet 5 | $0.00027 | $0.00409 |
| Haiku 4.5 | $0.00013 | $0.00204 |
Grade A, and why
apple-motion-feel 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 12d 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.
How it starts
The opening of the file, as written. The whole thing — 171 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Apple motion feel
Most "this animation feels off" bugs are not timing bugs. They are one of four category errors: bounce on something nothing threw, motion that ignores the gesture that caused it, an animation that restarts from the wrong value when interrupted, or feedback that arrives after the user already let go. Fix the category first; only then argue about the number.
The one table that decides damping
Bounce is earned by momentum. If the user threw it, it overshoots. If the user tapped it, it does not. This single rule resolves most spring arguments.
| Interaction | Damping | Response |
|---|---|---|
| Tap-driven — buttons, toggles, selection, panels opened by a button | 1.0 (critically damped) | 0.3–0.4s |
| Momentum-driven — flicks, throws, drag release | 0.8 | 0.3–0.4s |
| Move / reposition | 1.0 | 0.4s |
| Rotation | 0.8 | 0.4s |
| Drawer / sheet | 0.8 | 0.3s |
A tap-opened drawer takes damping 1.0, not the 0.8 in the drawer row — the row assumes the drag-to-open drawer it was measured on. Read the trigger, not the component name.
Symptom mapping: wobble on a tap means damping too low, not duration too long. Sluggish is usually response too high, not damping. Cheap/mechanical is usually a linear or ease-in-out curve where a spring belongs.
SwiftUI's presets, in the terms above
| Preset | Damping | Use |
|---|---|---|
.smooth |
critically damped, no overshoot | the default for tap-driven UI |
.snappy |
slightly underdamped, small overshoot | brisk feedback, small elements |
.bouncy |
low damping, visible oscillation | playful, deliberate character |
All three default to duration: 0.5; all take duration: and extraBounce:. Reach for a preset
before a hand-rolled .spring(response:dampingFraction:) — a named preset states intent, and
0.34/0.82 states nothing.
With the modern .spring(duration:bounce:) form, bounce is the readable axis:
| bounce | Reads as |
|---|---|
0.0 |
critically damped, smooth arrival |
0.15 |
brisk, not bouncy |
0.2 |
drag release with velocity |
0.3 |
exaggerated, deliberate |
> 0.4 |
extreme — wrong for almost all UI |
< 0 |
overdamped, flatter than critical |
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.
- 12d ago First seen · 171 lines · 134 tokens per session scan A 88d984e59f31
apple-motion-feel is a skill published in the GitHub repository YordiLorenzo/liquid-glass-skills (4 stars, last pushed 1mo ago), licensed MIT. It adds 134 tokens to every session and 2,044 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
shiny-bslib-theming
Advanced theming for Shiny apps using bslib and Bootstrap 5. Use when customizing app appearance with bstheme(), Bootswatch themes, custom colors, typography, brand.yml integration, Bootstrap Sass variables, custom Sass/CSS rules, dark mode and color modes, dynamic theme switching, real-time theming, theme inspection…
interaction-skill
Layer A interaction-mechanics reference anchored to the beui.dev catalog. Stacks on any style skill whenever work adds or changes motion or interaction — micro-interactions, animated components, transitions, gestures, hover/press/state feedback, loading/success/error morphs, 'make it feel alive'. Mandates reading the…
shiny-bslib
Build modern Shiny dashboards and applications using bslib (Bootstrap 5). Use when creating new Shiny apps, modernizing legacy apps (fluidPage, fluidRow/column, tabsetPanel, wellPanel, shinythemes), or working with bslib page layouts, grid systems, cards, value boxes, navigation, sidebars, filling layouts, theming…
layout-skill
Layer A layout-mechanics reference. Stacks on any style skill when the screen is an app shell, dashboard, settings, list-detail, mail/inbox, or any layout with fixed regions plus a scrolling body — or when a layout breaks under long, empty, or unbroken content. Owns spatial structure and scroll ownership; owns zero…
web-ui-best-practices
Signs of taste in web UI. Use when building or reviewing web interfaces, dashboards, SaaS apps, or internal tools.
vertical-site-conventions
Compose pages and sites that read as their vertical: ecommerce-catalog storefronts that look like storefronts, hospitality-food sites that look like restaurants, b2b-manufacturer sites that look industrial. Use this skill whenever the user wants to build a site that looks like the vertical it serves, fix a build that…