Emil Kowalski's skills for designers and engineers
Skills For Designers and Engineers
Animation and UI detail skills from Emil Kowalski: curves, durations, animation reviews and picking UI libraries
- 51,227 ★ on the repository
- Last commit
- MIT
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/skills-for-designers-and-engineersDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewMinimal accessThe tool runs nothing and makes no network calls.
- Skills are markdown instructions
This is third-party code. Review the repository files before installing.
What it does
A set of 12 skills listing the small mistakes agents make in animation and design and how to fix them. The main emil-design-eng skill is mostly about animation, animate builds motion from scratch with the right curve and duration, and review-animations strictly reviews existing animations. There are skills for React Native and Expo, finding where motion helps, Apple's design principles, modern Swift and the Sonner toast library.
Who it is for. Design engineers and frontend developers who care about animation quality and UI details.
Good fit when
- You are adding enter, dropdown or modal animations
- You want to audit every animation in the codebase
- You need a trusted UI library instead of a hand-rolled component
- You use Sonner and need recipes
Not a fit when
- The project has no UI or no motion
- You need a full design system rather than motion and detail rules
Example request
Review the dropdown menu animations with the review-animations skillLimitations
The rules reflect the author's personal approach from his work at Vercel and Linear. pick-ui-library recommends libraries the author uses and trusts.
How to disable. Delete the skill folders from the agent's skills directory.
FAQ
Which skill is the main one?
emil-design-eng: mostly animation rules plus some design advice.
Discussion
- СергейguestQuestion
Кто нибудь ставил? Есть какой то понт от него?
Related
SkillsA motion design skill for agents: timing, easing, choreography and Disney animation principles applied to UI
Skills for design engineers: quick UI cleanup, accessibility, metadata and animation performance fixes
Design Motion Principles
design-motion-principles
A skill about interface smoothness and animation: builds interactive components with meaningful motion and reviews existing ones
A UI, presentation and graphics design skill for coding agents: canvas drafts driven through the superdesign CLI
Skills against boilerplate-looking UIs: layout, type, motion and spacing, plus reference image generation for web and mobile
Jakub Krehel's Interface Skills
Interfaces skills
Skills for interface polish: typography, color, layout, accessibility, product copy and a review across all of them
README in short
A short README from Emil Kowalski about skills for designers and engineers. He explains that agents pick the wrong animation ingredients, such as ease-in for entrances, and the skills document these mistakes. Installation is one npx skills command. A list of 12 skills with short descriptions is included.
README badge
Original SKILL.md
--- name: animate description: Build an animation from scratch, making the decisions in the order that determines whether it feels right — should it animate at all, what purpose, which tool, which properties, which curve and duration, how it interrupts, how it exits. Writes the implementation. Use when asked to animate something, add motion, make a component feel alive, or build a transition. For critiquing existing motion use review-animations; for auditing a whole codebase use improve-animations. --- # Building Animations A construction skill. It does ONE thing: turn a request for motion into an implementation that would survive a strict review. It does not audit a codebase (that's `improve-animations`), critique a diff (that's `review-animations`), hunt for places that could animate (that's `find-animation-opportunities`), or build for React Native (that's `animate-expo`). ## Operating Posture You are a senior design engineer building the animation yourself. The bar is Emil Kowalski's animation philosophy — the same bar `review-animations` enforces. Write it so it passes that review the first time. Two failure modes, and the first is worse: 1. **Animating something that shouldn't animate.** The gate below exists to produce zero lines of code sometimes. That's a success, not a dodge. 2. **Animating the right thing with the wrong ingredients** — `ease-in` on an entrance, `scale(0)`, keyframes on a toast, a duration that makes a dropdown feel sluggish. Never present motion options as a menu. Make the call, state the reasoning in one line, write the code. ## Hard Rules 1. **Run the sequence in order.** Steps 1 and 2 gate everything. Don't reach for a curve before you know whether it animates at all. 2. **No approximated values.** Every curve, duration, and spring config comes from the tables below. Never invent `cubic-bezier(0.4, 0, 0.2, 1)` because it looks familiar. 3. **Extend the codebase's tokens, don't fork them.** If `--ease-out` or a duration scale already exists, use it. Adding a parallel system is a defect. 4. **Reduced motion and hover gating ship with the animation**, not as a follow-up. 5. **Cheapest tool that works.** Don't install a motion library for a fade. ## The Build Sequence ### 1. Should this animate at all? | Frequency | Decision | | --- | --- | | 100+ times/day (keyboard shortcuts, command palette toggle) | **No animation. Ever.** Stop here. | | Tens of times/day (hover effects, list navigation) | Near-imperceptible only — fast and subtle, or nothing | | Occasional (modals, drawers, toasts) | Standard animation | | Rare / first-time (onboarding, success, celebration) | The delight budget lives here | **Keyboard-initiated actions are a disqualifier, not a judgment call.** Raycast has no open/close animation — that is correct for something opened hundreds of times a day. If the request fails this gate, say so plainly and don't write the animation. Offer the non-motion alternative (instant state change, a static affordance) instead. ### 2. What is the purpose? Name it in one of these words before continuing: - **Feedback** — confirming the interface heard the user - **Spatial consistency** — showing where something came from or went - **State indication** — making a state change legible - **Preventing a jarring change** — bridging content that would otherwise teleport - **Explanation** — demonstrating how something works (marketing/onboarding only) - **Delight** — allowed *only* at the rare/first-time tier Can't name it? Don't build it. "It looks cool" on a frequently-seen element is a reason to stop. Also check **function**: data the user is reading or acting on should not move for style. A decorative mouse-tracking effect belongs on a marketing page, not on a graph in a banking app. ### 3. Pick the tool — cheapest that works