instant-0-100ms — Claude Code skill: what it does, how to install
This skill provides rules for UI animations under 100ms. It fits button presses and toggle switches that need immediate tactile confirmation.
npx skills add dylantarre/animation-principles --skill instant-0-100ms -a claude-codeWhat instant-0-100ms does
The skill guides assistants in writing CSS transitions that confirm actions without perceptible latency. Timing is strictly 1 to 3 frames at 60fps. Traditional Disney techniques like anticipation or follow-through fail here because the motion completes before the eye registers it.
Instead, the instructions focus on subtle tactile cues. A button click relies on a 2-5% compression via scale(0.97) paired with a 50ms ease-out transition. State toggles use linear opacity shifts or quick color changes. Complex multi-step sequences and rotations past 15 degrees break visual clarity at this speed.
What it helps with
- add tactile button compression on active click states
- configure zero-delay transitions for toggles and checkboxes
- eliminate unnecessary animation phases from rapid UI feedback
- style focus rings and hover shifts within 100ms
Example prompts for the agent
- Apply instant-0-100ms rules to this button active state
- Write a 50ms ease-out transition for toggle switch feedback
- Configure immediate focus ring transitions according to instant-0-100ms
How to install instant-0-100ms
1Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill instant-0-100ms -a claude-code2Manually: put the files in place
~/.claude/skills/instant-0-100ms/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/instant-0-100ms/
1Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill instant-0-100ms -a codex2Manually: put the files in place
.agents/skills/instant-0-100ms/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill instant-0-100ms -a cursor2Manually: put the files in place
.cursor/skills/instant-0-100ms/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install dylantarre/animation-principles instant-0-100ms2Manually: put the files in place
.github/skills/instant-0-100ms/SKILL.md1Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill instant-0-100ms -a gemini-cli2Platform CLI
gemini skills install https://github.com/dylantarre/animation-principles --path skills/10-by-time-scale/instant-0-100msManually: put the files in place
.devin/skills/instant-0-100ms/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill instant-0-100ms -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 instant-0-100ms
How to install instant-0-100ms in Claude Code?
Run npx skills add dylantarre/animation-principles --skill instant-0-100ms -a claude-code. Alternatively, place the file directly at ~/.claude/skills/instant-0-100ms/SKILL.md.
What UI patterns does this skill cover?
It covers button presses, toggle switches, checkboxes, focus rings, hover shifts, and touch ripple starts. All of these require immediate confirmation under 100 milliseconds.
Which easing functions work under 100ms?
Use ease-out for immediate start with soft deceleration, or linear for state toggles. Curved paths and anticipation must be omitted completely.
Source text
SKILL.md · MIT
---
name: instant-0-100ms
description: Use when building instantaneous UI feedback under 100ms - button presses, toggles, state changes that feel immediate and responsive
---
# Instant Animations (0-100ms)
Animations under 100ms feel **instantaneous** to users. This duration is for immediate feedback that confirms actions without perceived delay.
## Disney Principles at Instant Speed
### Works Well
**Squash & Stretch**: Subtle - 2-5% compression on button press creates tactile feel without visible deformation.
**Anticipation**: Skip entirely - no time for preparation at this speed.
**Staging**: Minimal - rely on position/color change, not movement.
**Straight Ahead/Pose to Pose**: Straight ahead only - too fast for keyframe complexity.
**Follow Through**: None - motion completes before follow-through registers.
**Slow In/Slow Out**: Use `ease-out` only - starts at full speed, slight deceleration.
**Arcs**: Linear paths only - curves don't register at this speed.
**Secondary Action**: Skip - brain can't process multiple simultaneous instant changes.
**Timing**: 1-3 frames maximum. 60fps = 16.67ms per frame.
**Exaggeration**: Minimal - subtle scale (0.95-1.05) or opacity changes.
**Solid Drawing**: Focus on color/opacity shifts, not spatial transformation.
**Appeal**: Crisp, immediate response builds trust and perceived performance.
### Doesn't Work
- Complex multi-step sequences
- Visible travel distance
- Rotation beyond 15 degrees
- Multiple property changes
- Staged reveals
## Easing Recommendations
```css
/* Primary choice - immediate start, soft landing */
transition: all 50ms ease-out;
/* Alternative - completely linear for state toggles */
transition: opacity 80ms linear;
/* Button press feedback */
transition: transform 50ms ease-out;
```
## Best Use Cases
- Button active/pressed states
- Toggle switches
- Checkbox/radio selections
- Focus ring appearance
- Hover color shifts
- Touch ripple initiation
## Implementation Pattern
```css
.button:active {
transform: scale(0.97);
transition: transform 50ms ease-out;
}
.toggle-on {
background: var(--active);
transition: background 80ms ease-out;
}
```
## Key Insight
At instant speeds, animation serves **confirmation**, not **communication**. Users shouldn't consciously perceive the animation - they should feel the interface responding.
© dylantarre · MIT · dylantarre/animation-principles