comfort-safety — Claude Code skill: calm UI animations
A skill that sets animation rules for interfaces where users need to feel safe rather than impressed.
npx skills add dylantarre/animation-principles --skill comfort-safety -a claude-codeWhat comfort-safety does
This skill covers motion design for screens where the goal is reassurance. It walks through the classic animation principles and turns them into numbers: soft squash & stretch kept at 5-10%, clear anticipation of 150-200ms so nothing appears out of nowhere, gentle easing curves throughout. Straight ahead action is ruled out on purpose. Predictability beats expressiveness here.
You get a timing table by element type: transitions 300-400ms, feedback 200-250ms, confirmation 350-450ms, protection reveal 400-500ms, each with its easing. Alongside it are CSS custom properties built on cubic-bezier and two keyframes — comfort-embrace for a soft entrance and comfort-check for drawing a checkmark via stroke-dashoffset. A separate list covers safety signals: visible feedback on every action, undo animations that show reversibility, progress that never jumps backward.
Banking, healthcare, password and privacy flows, insurance, backup and recovery — that is the territory. If you already write CSS animations, the values drop in as-is; adapting them to your own design system is on you.
What it helps with
- reassure a user at the moment a payment is confirmed
- show that data was saved and nothing was lost
- make undo visible and clearly reversible
- walk someone through a password change without alarm
- present privacy settings as calm, predictable steps
Example prompts for the agent
- animate the transfer confirmation using the comfort-safety skill
- check the timing on the password change screen against comfort-safety
- add the comfort-check keyframes for the saved checkmark
How to install comfort-safety
1Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill comfort-safety -a claude-code2Manually: put the files in place
~/.claude/skills/comfort-safety/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/comfort-safety/
1Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill comfort-safety -a codex2Manually: put the files in place
.agents/skills/comfort-safety/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill comfort-safety -a cursor2Manually: put the files in place
.cursor/skills/comfort-safety/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install dylantarre/animation-principles comfort-safety2Manually: put the files in place
.github/skills/comfort-safety/SKILL.md1Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill comfort-safety -a gemini-cli2Platform CLI
gemini skills install https://github.com/dylantarre/animation-principles --path skills/06-by-emotional-outcome/comfort-safetyManually: put the files in place
.devin/skills/comfort-safety/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill comfort-safety -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about comfort-safety
How do I install comfort-safety in Claude?
Run npx skills add dylantarre/animation-principles --skill comfort-safety -a claude-code. The skill file lands at ~/.claude/skills/comfort-safety/SKILL.md.
What does comfort-safety do?
It defines animation rules for interfaces that need to feel calm and protective: timings, easing curves, soft transitions and safety signals.
Which screens is it meant for?
Banking and finance, healthcare apps, password and security flows, privacy controls, insurance, backup and recovery.
Source text
SKILL.md · MIT
---
name: comfort-safety
description: Use when creating animations that reassure users, reduce anxiety, or communicate protection and security.
---
# Comfort & Safety Animation
Create animations that reassure, protect, and make users feel secure.
## Emotional Goal
Comfort comes from predictable, gentle motion that never startles. Safety means animations that communicate protection, stability, and user control.
## Disney Principles for Comfort
### Squash & Stretch
Minimal, soft (5-10%). Gentle give without instability. Like a cushion—absorbs impact, maintains structure.
### Anticipation
Clear, reassuring preparation (150-200ms). Users always know what's coming. No surprises, no hidden actions.
### Staging
Enclosed, protected compositions. Clear boundaries. Safe spaces. Visual hierarchy that guides without overwhelming.
### Straight Ahead Action
Avoid. Safety requires predictability. Every movement should be controlled and expected.
### Follow Through & Overlapping Action
Gentle, cushioned settling. Soft landings. Elements ease into place like being tucked in.
### Slow In & Slow Out
Smooth, gentle curves throughout. No sudden changes. `ease-in-out` for predictable, comfortable motion.
### Arc
Soft, natural curves. Cradling, embracing paths. Motion that wraps around rather than cuts through.
### Secondary Action
Reassuring cues only. Checkmarks, shields, locks. Visual confirmation of safety and completion.
### Timing
Moderate, unhurried (300-450ms). Time to process and feel safe. Never rushed or abrupt.
### Exaggeration
None to minimal. Realistic, grounded movements. Comfort requires believability.
### Solid Drawing
Stable, balanced forms. Low center of gravity. Shapes that feel grounded and secure.
### Appeal
Warm, muted colors. Soft edges. Familiar, comfortable aesthetics. Nothing aggressive or sharp.
## Timing Recommendations
| Element | Duration | Easing |
|---------|----------|--------|
| Transitions | 300-400ms | `ease-in-out` |
| Feedback | 200-250ms | `ease-out` |
| Confirmation | 350-450ms | `ease-out` |
| Protection reveal | 400-500ms | `ease-in-out` |
## CSS Easing
```css
--comfort-smooth: cubic-bezier(0.4, 0, 0.2, 1);
--comfort-gentle: cubic-bezier(0.45, 0, 0.55, 1);
--comfort-settle: cubic-bezier(0.25, 0.1, 0.25, 1);
```
## Reassuring Patterns
```css
@keyframes comfort-embrace {
from {
opacity: 0;
transform: scale(0.98);
}
to {
opacity: 1;
transform: scale(1);
}
}
@keyframes comfort-check {
0% {
stroke-dashoffset: 24;
opacity: 0;
}
50% { opacity: 1; }
100% {
stroke-dashoffset: 0;
opacity: 1;
}
}
.safe-element {
animation: comfort-embrace 400ms ease-in-out forwards;
}
```
## Safety Signals
- Clear, visible feedback for all actions
- Undo animations that show reversibility
- Progress that never goes backward unexpectedly
- Transitions that maintain orientation
- Consistent patterns users can rely on
## When to Use
- Banking and finance
- Healthcare applications
- Password and security flows
- Data privacy controls
- Insurance platforms
- Backup and recovery
- Parental controls
- Sensitive data handling
© dylantarre · MIT · dylantarre/animation-principles