css-native

Implements zero-dependency animations using scroll-driven timelines, View Transitions, and modern CSS.

1|Updated Jul 19, 2026
One-click install
npx skills add https://github.com/leobbaroni/maestro --skill css-native-leobbaroni
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: css-native
Source: https://github.com/leobbaroni/maestro/tree/main/skills/maestro/library/genjutsu/_jutsu/css-native
Command: npx skills add https://github.com/leobbaroni/maestro --skill css-native-leobbaroni

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Modern CSS features like scroll-driven animations, the View Transitions API, and @starting-style can replace JavaScript animation libraries for many common UI effects, but developers often reach for heavy dependencies because they lack clear guidance on when native CSS suffices and how to implement it with proper fallbacks. ## Core Features & Use Cases - Decision Framework: A comparison table clarifies when to use CSS native techniques versus GSAP, Framer Motion, or other libraries based on animation complexity. - Native Animation Patterns: Ready-to-use code for scroll-driven animations (animation-timeline, animation-range), same-document and cross-document View Transitions, @starting-style enter/exit animations, anchor positioning for tooltips, and container-query-driven contextual animations. - Fallbacks & Accessibility: A reference module covers browser support tables, @supports-based progressive enhancement strategies, prefers-reduced-motion handling, and GPU compositing performance guidance. - Use Case: You need a scroll-triggered reveal animation and an animated popover tooltip on a marketing page. Instead of adding a 50KB animation library, you apply animation-timeline for the reveal and @starting-style with anchor positioning for the tooltip, with graceful degradation in older browsers. ## Quick Start Ask the agent to add a scroll-driven fade-in reveal animation to a page section using pure CSS with a fallback for unsupported browsers.

Frequently Asked Questions about css-native

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create scroll-driven animations in pure CSS?▼

Use animation-timeline with scroll() or view() to link a @keyframes animation to scroll position. Set animation-range to control which segment of the timeline drives the animation, and wrap it in @supports (animation-timeline: scroll()) for fallback safety.

When should I use CSS animations instead of GSAP?▼

Use CSS native for fewer than three animations, scroll-driven reveals, display:none enter/exit transitions, and page transitions. Choose GSAP for complex multi-step timelines with five or more tweens, dynamic staggers, or SVG shape morphing.

How do I animate an element entering from display none?▼

Combine @starting-style with transition-behavior: allow-discrete. The @starting-style block defines the initial state, while allow-discrete enables transitioning the display property, giving native enter and exit animations without JavaScript.

Does the View Transitions API work in all browsers?▼

Same-document view transitions work in Chrome 111+, Edge 111+, Firefox 133+, and Safari 18+. Cross-document transitions lack Firefox support. Guard usage with feature detection and fall back to instant DOM updates.

Why is my CSS anchor-positioned tooltip clipped off screen?▼

The tooltip clips when the primary position-area has no available space. Define position-try-fallbacks with alternative @position-try blocks (bottom, left, right) so the browser automatically repositions the element within the viewport.

Which CSS properties are safe to animate for performance?▼

Animate transform, opacity, clip-path, and filter, which run on the GPU compositor. Avoid animating width, height, top, or left, since they trigger layout reflow and repaint on every frame.