Emil Kowalski's Core Philosophy of Design Skills: 3 Principles Behind Polished UI

Emil Kowalski's design skills are built on three principles: trained taste, compounding unseen details, and beauty as leverage—documented in his emil-design-eng SKILL file and applied across all animation and component work in the emilkowalski/skills repository.

The emilkowalski/skills repository codifies a systematic approach to design engineering that transforms subjective "good taste" into repeatable, teachable practices. Rather than treating UI polish as mysterious intuition, Kowalski's framework makes it concrete through explicit principles and code-level decisions.

Principle 1: Taste Is Trained, Not Innate

The foundation of Kowalski's design skills rejects the myth that good UI judgment is inborn. Instead, taste develops through deliberate exposure and analysis.

In skills/emil-design-eng/SKILL.md, this principle manifests as a workflow: constantly study excellent interfaces, dissect why specific choices feel right, and practice applying those patterns. The reward is an instinct for decisions that "just work" without exhaustive iteration.

Code-Level Expression: Custom Easing Curves

The trained-taste principle appears directly in CSS variable definitions:

:root {
  --ease-out:   cubic-bezier(0.23, 1, 0.32, 1);   /* UI interactions */
  --ease-in-out:cubic-bezier(0.77, 0, 0.175, 1); /* On-screen movement */
}

.button {
  transition: transform 150ms var(--ease-out);
}

Rejecting generic ease in favor of vetted curves demonstrates cultivated judgment. The 0.23 starting value for --ease-out creates stronger initial acceleration than browser defaults—an intentional choice only someone with trained motion taste would specify.

Principle 2: Unseen Details Compound

Micro-decisions invisible to casual inspection aggregate into stunning experiences. Kowalski's design skills treat this compounding as mandatory, not optional.

The SKILL file emphasizes that users rarely notice individual details like precise delay timing or property-specific transitions. Yet the cumulative effect of hundreds of correct micro-decisions produces software that feels effortlessly premium.

Code-Level Expression: Explicit Transition Targeting

A concrete enforcement of this principle appears in animation implementation:

/* Bad – catches every property, creates unwanted lag */
.fade {
  transition: all 300ms ease-out;
}

/* Good – target only the properties that need animation */
.fade {
  transition: opacity 200ms var(--ease-out);
}

The all keyword triggers layout and paint on properties that shouldn't animate, creating hidden performance penalties. The corrected version in skills/animate/SKILL.md limits scope to opacity—an unseen detail that compounds into perceived responsiveness.

Principle 3: Beauty Is Leverage

The third pillar reframes aesthetic refinement as strategic competitive advantage, not decorative afterthought. Polished defaults, thoughtful animation timing, and refined interactions differentiate products in markets saturated with "good enough" alternatives.

This principle determines when to apply polish and when to withhold it—discipline being as important as decoration.

Code-Level Expression: Intentional Absence of Animation

Counterintuitively, beauty-as-leverage sometimes means no animation:

// React component – keyboard-shortcut toggle (no animation)
function PaletteToggle() {
  const [open, setOpen] = useState(false);
  return (
    <button onClick={() => setOpen(!open)} aria-expanded={open}>
      {open ? 'Close' : 'Open'} Palette
    </button>
  );
}

High-frequency actions like command palette toggles remain instant per skills/emil-design-eng/SKILL.md. The "beautiful" choice here preserves speed—leveraging restraint to make the product feel snappier than competitors with gratuitous motion.

How the Philosophy Propagates Through the Repository

The three principles aren't confined to a single file. They cascade through specialized SKILL files that operationalize the philosophy:

File Purpose Philosophy Application
skills/animate/SKILL.md Build animations from scratch Applies trained-taste curves and compounding details
skills/review-animations/SKILL.md Quality assurance process Enforces the "unseen details" bar systematically
skills/improve-animations/SKILL.md Audit and upgrade existing code Leverages beauty differential against competitors
skills/animation-vocabulary/SKILL.md Precise terminology for AI collaboration Codifies taste into communicable standards

This structure ensures Kowalski's design skills remain consistent whether creating, reviewing, or improving interface work.

Summary

Emil Kowalski's core philosophy of design skills rests on three actionable tenets:

  • Taste trainability makes UI judgment developable through systematic exposure, not fixed at birth
  • Compounding micro-details elevates average interfaces through invisible precision
  • Strategic beauty treats polish as market differentiation, deployed with intentional restraint

These principles permeate every code example in emilkowalski/skills, from CSS custom properties to React component patterns, creating a reproducible standard for design engineering excellence.

Frequently Asked Questions

Where are Emil Kowalski's design skills documented?

The primary source is skills/emil-design-eng/SKILL.md in the emilkowalski/skills GitHub repository. This file defines the three core principles and provides the Animation Decision Framework for applying them. Four additional SKILL files extend the philosophy into animation construction, review, improvement, and vocabulary.

Can design taste really be trained, or is it natural ability?

According to Kowalski's framework, taste is developed through deliberate practice, not inherited. The SKILL file prescribes constant exposure to excellent work, analytical dissection of why specific choices succeed, and repeated application of those patterns until they become instinctual.

What makes "unseen details" important if users don't notice them?

While individual micro-decisions escape conscious attention, their aggregate effect creates the "effortless" quality of premium software. The repository enforces this through specific rules like avoiding transition: all and using precise easing curves—small choices that compound into noticeably superior experiences.

When should animations be removed rather than added?

Per the beauty-as-leverage principle, high-frequency interactions—keyboard shortcuts, command palettes, repeated toggles—should typically remain instant. The strategic value of omitting animation here is snappiness; gratuitous motion on common actions creates perceived lag and undermines competitive positioning.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →