重要前提
安装AI Skills的关键前提是:必须科学上网,且开启TUN模式,这一点至关重要,直接决定安装能否顺利完成,在此郑重提醒三遍:科学上网,科学上网,科学上网。查看完整安装教程 →
feedback-indicators by dylantarre/animation-principles
npx skills add https://github.com/dylantarre/animation-principles --skill feedback-indicators将迪士尼的 12 条动画原则应用于操作确认动画。
挤压与伸展:成功的对勾标记可以带有超调地进行缩放。绘制时压缩,完成时展开。
预备动作:反馈出现前有短暂的聚集动作。确认前有 50 毫秒的准备时间。
舞台布局:反馈出现在操作位置。按钮显示对勾,字段显示验证结果。
逐帧动画与姿势对应:定义反馈状态:中立 → 处理中 → 成功/错误。
跟随与重叠动作:图标先动画,然后标签出现。错开确认元素的出现时机。
慢入慢出:成功:缓出(自信地到达)。错误:缓入缓出(晃动后稳定)。
弧形运动:对勾以弧线绘制,而非直线。错误叉号自然交叉。
次要动作:对勾绘制 + 颜色变化 + 缩放弹跳,提供丰富的反馈。
时间节奏:
夸张:成功值得庆祝。缩放超调到 1.2,使用醒目的颜色,自信的运动。
扎实的绘图:反馈图标必须一目了然。在 100 毫秒或更短时间内被识别。
吸引力:正面反馈应感觉有回报。负面反馈应坚定但不具惩罚性。
| 反馈类型 | 持续时间 | 自动消失 |
|---|
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| 缓动函数 |
|---|
| 行内验证 | 150ms | 否 | ease-out |
| 对勾绘制 | 400ms | 3000ms | ease-out |
| 成功提示 | 300ms | 4000ms | ease-out |
| 错误晃动 | 400ms | 否 | ease-in-out |
| 错误提示 | 300ms | 6000ms | ease-out |
| 保存指示器 | 200ms | 2000ms | ease-out |
/* 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 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>
// Show success, auto-hide
element.classList.add('success-visible');
setTimeout(() => {
element.classList.remove('success-visible');
element.classList.add('success-hidden');
}, 3000);
prefers-reduced-motion:显示即时状态,无动画每周安装数
57
代码仓库
GitHub 星标数
26
首次出现
2026 年 1 月 24 日
安全审计
安装于
codex49
opencode46
gemini-cli45
cursor45
github-copilot42
claude-code40
Apply Disney's 12 principles to action confirmation animations.
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 :
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.
| 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 |
/* 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 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>
// Show success, auto-hide
element.classList.add('success-visible');
setTimeout(() => {
element.classList.remove('success-visible');
element.classList.add('success-hidden');
}, 3000);
prefers-reduced-motion: instant state, no animationWeekly Installs
57
Repository
GitHub Stars
26
First Seen
Jan 24, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
codex49
opencode46
gemini-cli45
cursor45
github-copilot42
claude-code40
React 组合模式指南:Vercel 组件架构最佳实践,提升代码可维护性
125,600 周安装
交易心理学教练 - 专业交易员情绪管理、认知偏差识别与交易纪律训练
53 周安装
代码简化器 - 提升代码清晰度与可维护性的AI工具,保持功能不变
53 周安装
Swain Status - 跨项目状态仪表板与智能工作流推荐系统 | 开发运维与项目管理工具
53 周安装
新闻聚合技能 - 实时抓取Hacker News、微博热搜、GitHub等8大平台热点新闻,支持AI关键词扩展与深度内容提取
53 周安装
概念解剖方法论:ljg-learn技能详解,八步深度解析任何概念
53 周安装
Vercel开发服务器验证指南:使用agent-browser检测空白页面、水合错误与性能问题
53 周安装