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 agentmods add skills/athevon/genjutsu/motion-principlesnpx skills add AThevon/genjutsu --skill motion-principlesgit clone --depth 1 https://github.com/AThevon/genjutsuWrote 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/athevon/genjutsu/motion-principles)<a href="https://agentmods.dev/skills/athevon/genjutsu/motion-principles"><img src="https://agentmods.dev/badge/skills/athevon/genjutsu/motion-principles.svg" alt="Measured on agentmods" 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 | $0.00022 | $0.02485 |
| Opus 5 | $0.00011 | $0.01242 |
| Sonnet 5 | $0.00004 | $0.00497 |
| Haiku 4.5 | $0.00002 | $0.00248 |
Grade A, and why
motion-principles 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 5d 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.
This is a copy
98% identical to motion-principles — 2 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.
How it starts
The opening of the file, as written. The whole thing — 285 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Motion Principles
The foundation. Loaded by every creative skill invocation. Concise rules here. Deep-dive in
references/.
Timing Rules
| Context | Duration | Why |
|---|---|---|
| Micro-interaction (toggle, hover, focus) | 100-150ms | Instant feedback, no perceived delay |
| UI transition (modal, drawer, tab switch) | 200-300ms | Smooth but never sluggish |
| Page/route transition | 300-500ms | Establishes spatial narrative |
| Scroll-driven / 3D | Free (progress-based) | Tied to user input, no fixed duration |
Frequency rule: The more often an animation plays, the shorter and subtler it must be. A button hover (1000x/day) = 100ms opacity. An onboarding reveal (1x ever) = 600ms+ full choreography.
Easing Cheat Sheet
| Action | Easing | Why |
|---|---|---|
| Element enters | ease-out / spring |
Decelerates into resting position (natural arrival) |
| Element exits | ease-in |
Accelerates away (gets out of the way) |
| Element moves between states | ease-in-out |
Smooth start and stop |
| Scroll-synced | linear / none |
Matches 1:1 with input, no lag perception |
| Bouncy/playful | spring (underdamped) | Overshoot creates life |
| Snappy UI | cubic-bezier(0.2, 0, 0, 1) |
Fast start, smooth land |
Exit is always more subtle than enter. Enter: 300ms ease-out, full choreography. Exit: 200ms ease-in, opacity only.
Native easing equivalents (cross-platform)
| Web (CSS / JS) | SwiftUI | Compose |
|---|---|---|
cubic-bezier(0.2, 0, 0, 1) |
.spring(response: 0.4, dampingFraction: 0.85) or .snappy |
spring(stiffness = Spring.StiffnessMedium, dampingRatio = 0.85f) |
ease-out |
.easeOut(duration: 0.3) |
tween(durationMillis = 300, easing = LinearOutSlowInEasing) |
ease-in |
.easeIn(duration: 0.2) |
tween(durationMillis = 200, easing = FastOutLinearInEasing) |
| spring (bouncy) | .bouncy (iOS 17+) |
spring(stiffness = Spring.StiffnessLow, dampingRatio = Spring.DampingRatioMediumBouncy) |
| spring (smooth) | .smooth (iOS 17+) |
spring(stiffness = Spring.StiffnessMedium, dampingRatio = Spring.DampingRatioNoBouncy) |
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.
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.
- 5d ago First seen · 285 lines · 22 tokens per session scan A e186d6beca74
motion-principles is a skill published in the GitHub repository AThevon/genjutsu (325 stars, last pushed 1mo ago), licensed MIT. It adds 22 tokens to every session and 2,485 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. It is 98% identical to motion-principles, differing in 2 lines, and is treated as a copy.
Other skills, from other repositories
brand-visual-language
A brand's visual tone — playful or serious, rounded or angular — should be consistent across all UI elements. Shape language in typography, border-radius, and iconography communicates personality before a single word is read. Use when establishing a design system, choosing icon libraries, setting border-radius tokens…
micro-interactions
Micro-interactions are small, purposeful animations and responses that reward the user and make the interface feel alive — an animated icon, a satisfying toggle, a subtle reveal. Borrowed from the natural world, they add delight without distraction. Use when designing interactive components, success states, toggles…
elevation-and-depth
Elevation — subtle shadows and layering — communicates visual hierarchy by lifting elements above the surface. Combined with border-radius, it creates the tactile quality of cards, modals, and interactive surfaces. Use when designing cards, dropdowns, modals, tooltips, or any floating UI element.
loading-states-and-perceived-performance
Manage user expectations during wait times with appropriate loading states — from simple spinners to complex skeleton screens and staggered animations. Perceived performance is often more important than actual load time. Use when designing data-heavy components, handling API calls, building hero sections, or improving…
motion-and-storytelling
Disney's 12 animation principles, cinematic storytelling techniques, and comic book conventions apply to web UI — used subtly, they make interfaces feel alive, intentional, and emotionally resonant. Use when designing transitions, micro-interactions, onboarding flows, scroll animations, or any motion in the UI.
performance-and-web-vitals
Audit UI performance with Lighthouse and fix Core Web Vitals — LCP, CLS, INP. Fast UI is good UX. Use when optimising page load, fixing layout shift, reducing input delay, improving Lighthouse scores, or reviewing images, fonts, and render-blocking resources.