Skip to main content
skill CX Codex

feedback-indicators — Claude Code skill: action feedback animations

A skill for confirmation animations: success checkmarks, error shakes, form validation and toasts. Useful when the UI has to answer back clearly.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add dylantarre/animation-principles --skill feedback-indicators -a claude-code
Open on GitHub

What feedback-indicators does

The skill maps confirmation animations onto Disney's principles — squash & stretch, anticipation, staging, follow through. Every feedback type gets its own timing: inline validation 150ms, checkmark draw 400ms, error shake 400ms, success toast 300ms. Auto-dismiss is spelled out too: the checkmark goes at 3000ms, the success toast at 4000ms, the error toast at 6000ms.

Inside are ready CSS patterns: a checkmark drawn with stroke-dashoffset, success with scale and overshoot to 1.2, an error shake via translateX, a valid field popping in. There is SVG markup for the checkmark and a setTimeout auto-dismiss example using the success-visible and success-hidden classes. States are framed as neutral → processing → success/error.

One rule is worth keeping: feedback has to land within 100ms of the action, or the user assumes nothing happened. Errors do not fade on their own — they wait to be acknowledged. Icons always ship with text, and under prefers-reduced-motion the animation drops and the state switches instantly.

What it helps with

  • show a success checkmark after a form saves
  • flag an invalid field as the user types
  • shake a field on error and keep the message visible
  • build a success toast that closes itself
  • place the feedback right where the action happened

Example prompts for the agent

  • Add a success checkmark animation after form submit using the feedback-indicators skill
  • Make the invalid field shake and keep the error until it is fixed
  • Set up a success toast with auto-dismiss and handle prefers-reduced-motion

How to install feedback-indicators

1Skills CLI (Vercel)

npx skills add dylantarre/animation-principles --skill feedback-indicators -a claude-code

2Manually: put the files in place

~/.claude/skills/feedback-indicators/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/feedback-indicators/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about feedback-indicators

How do I install feedback-indicators in Claude?

Run npx skills add dylantarre/animation-principles --skill feedback-indicators -a claude-code. The skill lands in ~/.claude/skills/feedback-indicators/SKILL.md.

What does feedback-indicators do?

It hands the agent rules and ready code for confirmation animations: checkmarks, error shakes, field validation, toasts. Timings and easing curves are set per feedback type.

Which platforms support the skill?

Claude, Codex, Cursor, GitHub Copilot, Gemini CLI and OpenCode. Each platform has its own install command.

Source text

SKILL.md · MIT
---
name: feedback-indicators
description: Use when confirming user actions - success checkmarks, error alerts, form validation, save confirmations, or any animation acknowledging what the user did.
---

# Feedback Indicator Animations

Apply Disney's 12 principles to action confirmation animations.

## Principle Application

**Squash & Stretch**: Success checkmarks can scale with overshoot. Compress on draw, expand on complete.

**Anticipation**: Brief gather before feedback appears. 50ms of preparation before the confirmation.

**Staging**: Feedback appears at the action location. Button shows checkmark, field shows validation.

**Straight Ahead vs Pose-to-Pose**: Define feedback states: neutral → processing → success/error.

**Follow Through & Overlapping**: Icon animates, then label appears. Stagger confirmation elements.

**Slow In/Slow Out**: Success: ease-out (confident arrival). Error: ease-in-out (shake settles).

**Arcs**: Checkmarks draw in arcs, not straight lines. Error X's cross naturally.

**Secondary Action**: Checkmark draws + color shifts + scale bounces for rich feedback.

**Timing**:
- Instant feedback: 100-200ms (form validation)
- Success confirmation: 300-500ms (checkmark draw)
- Error indication: 400ms (shake + message)
- Auto-dismiss: 2000-4000ms after appearance

**Exaggeration**: Success deserves celebration. Overshoot scale to 1.2, bold colors, confident motion.

**Solid Drawing**: Feedback icons must be clear at a glance. Recognition in 100ms or less.

**Appeal**: Positive feedback should feel rewarding. Negative feedback firm but not punishing.

## Timing Recommendations

| Feedback Type | Duration | Auto-dismiss | Easing |
|--------------|----------|--------------|--------|
| Inline Validation | 150ms | No | ease-out |
| Checkmark Draw | 400ms | 3000ms | ease-out |
| Success Toast | 300ms | 4000ms | ease-out |
| Error Shake | 400ms | No | ease-in-out |
| Error Toast | 300ms | 6000ms | ease-out |
| Save Indicator | 200ms | 2000ms | ease-out |

## Implementation Patterns

```css
/* Checkmark draw */
.checkmark {
  stroke-dasharray: 50;
  stroke-dashoffset: 50;
  animation: draw-check 400ms ease-out forwards;
}

@keyframes draw-check {
  to { stroke-dashoffset: 0; }
}

/* Success with scale */
.success-icon {
  animation: success 500ms cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

@keyframes success {
  0% { transform: scale(0); opacity: 0; }
  60% { transform: scale(1.2); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}

/* Error shake */
.error-shake {
  animation: shake 400ms ease-in-out;
}

@keyframes shake {
  0%, 100% { transform: translateX(0); }
  20%, 60% { transform: translateX(-6px); }
  40%, 80% { transform: translateX(6px); }
}

/* Inline validation */
.field-valid {
  animation: valid-pop 200ms ease-out;
}

@keyframes valid-pop {
  0% { transform: scale(0.8); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}
```

## SVG Checkmark Pattern

```html
<svg class="checkmark" viewBox="0 0 24 24">
  <circle cx="12" cy="12" r="10" fill="#10B981"/>
  <path
    class="check-path"
    d="M7 13l3 3 7-7"
    stroke="white"
    stroke-width="2"
    fill="none"
  />
</svg>
```

## Auto-Dismiss Pattern

```javascript
// Show success, auto-hide
element.classList.add('success-visible');

setTimeout(() => {
  element.classList.remove('success-visible');
  element.classList.add('success-hidden');
}, 3000);
```

## Key Rules

1. Feedback must appear within 100ms of action
2. Success states: celebrate briefly, don't linger
3. Error states: persist until user acknowledges
4. Always provide text alongside icons for accessibility
5. `prefers-reduced-motion`: instant state, no animation

© dylantarre · MIT · dylantarre/animation-principles

Similar skills

Everything for Frontend and UI →

From the same set86

user-feedback-clarity A skill that helps your coding agent work out why users miss interface feedback and what to change. CX Codex +1 496installs power-confidence A skill that spells out how to animate strength and authority: heavy movement, sudden stops, almost no bounce. Useful for hero sections and premium product showcases. CX Codex +1 495installs universal-patterns Sets baseline durations, easing curves and the 12 animation principles for any motion in an interface. Useful when your agent writes CSS transitions and guesses the timing wrong. CX Codex +1 493installs secondary-action-mastery A skill for adding secondary motion that supports the primary action instead of fighting it. Useful for UI animation and game feel. CX Codex +1 494installs Animation Principles - Troubleshooting A skill that diagnoses why an animation feels wrong and points to the principle being misapplied. Useful when the motion reads badly but the cause is unclear. CX Codex +1 490installs Animation Principles - Advanced A skill for animators who already know the fundamentals and want the nuances: invisible squash/stretch, missing anticipation, deliberately broken arcs. CX Codex +1 489installs emotional-disconnect Diagnoses why an animation feels wrong and matches motion to the emotion the moment should carry. Useful when users call your UI cold or annoying. CX Codex +1 488installs state-changes A skill for animating elements that transform in place: toggles, accordions, checkboxes, button states. Useful when an interface needs smooth transitions without enter or exit. CX Codex +1 489installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor