frontend-development
Frontend Development
A frontend's job is to render data the user cares about, accept input, and stay out of the way. Almost every frontend problem in production is one of three things: the wrong thing is on screen (state bug), it's too slow (performance), or it doesn't work for someone (compat / a11y / network). Most of this skill is about how to avoid those three failure modes structurally rather than fix them later.
Framework-specific guidance lives in skills like frontend-react-next. This skill covers what's true regardless of framework.
The platform is the foundation
Before reaching for a library, know what the browser already does. The platform in 2026 covers far more than it did when the prevailing wisdom about frontends was set:
- CSS has nesting, container queries,
:has(), subgrid, anchor positioning,@layer,color-mix(), view transitions, scroll-driven animations. - HTML has
<dialog>,popover,<details>/<summary>, native lazy-load (loading="lazy"),inert, form validation,<input type="...">with rich semantics on mobile. - JS has structured clone,
AbortController,Intl.*for everything localization-shaped,URL/URLSearchParams, top-levelawait,Array.prototype.at/groupBy, native fetch,requestIdleCallback. - Browser APIs —
IntersectionObserver,ResizeObserver,MutationObserver,BroadcastChannel,View Transitions,Web Locks,File System Access.
A surprising amount of code in a typical codebase is reimplementing platform features. Before you import react-modal, check <dialog>. Before react-intersection-observer, check the API directly. Before a CSS-in-JS framework with theme tokens, check @property and CSS custom properties.