Expert guide for automated and manual Web Accessibility (a11y) testing — axe-core, Pa11y, Playwright a11y, screen reader testing, and WCAG 2.2 Level AA/AAA compliance / Panduan ahli pengujian aksesibilitas web.
日本語の概要は準備中です。原文の説明を表示しています。
Expert guide for web animations: SVG manipulation, Framer Motion 12+, GSAP 3, CSS Scroll-Driven Animations, and View Transitions API / Panduan ahli animasi web.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
<a name="english"></a>
A dedicated skill for crafting fluid, high-performance web animations and micro-interactions. Covers direct SVG manipulation (paths, masks, clip-paths), React-based animations using Framer Motion 12+, advanced timeline choreography with GSAP 3, native CSS Scroll-Driven Animations, and the View Transitions API for seamless page navigations.
Use Framer Motion for declarative component animations, layout animations, and gesture-driven interactions.
layout prop to automatically animate between flexbox/grid state changes.style={{ x, y }} with useTransform and useScroll instead of triggering React state updates on every frame.'use client'
import { motion, useScroll, useTransform } from 'framer-motion'
import { useRef } from 'react'
export function ScrollReveal({ children }: { children: React.ReactNode }) {
const ref = useRef(null)
const { scrollYProgress } = useScroll({ target: ref, offset: ['0 1', '1 1'] })
const y = useTransform(scrollYProgress, [0, 1], [100, 0])
const opacity = useTransform(scrollYProgress, [0, 1], [0, 1])
return (
<motion.div ref={ref} style={{ y, opacity }}>
{children}
</motion.div>
)
}
Use GSAP when you need highly coordinated timeline sequences, path tracing, or when working outside of React (Vanilla JS).
Where possible, leverage modern native CSS to tie animations to scroll position on the compositor thread for zero-JS performance.
@keyframes slide-in {
from { opacity: 0; transform: translateY(100px); }
to { opacity: 1; transform: translateY(0); }
}
.reveal-on-scroll {
animation: slide-in linear both;
animation-timeline: view();
animation-range: entry 25% cover 50%;
}
viewBox responsive.<path>, <circle>, and <mask/> elements via CSS vars or inline Framer Motion logic.M3 motion establishes physical purpose, directing user focus through spatial continuity:
M3 Easing & Duration Tokens:
:root {
/* M3 Easing Curves */
--md-sys-motion-easing-emphasized: cubic-bezier(0.2, 0.0, 0, 1.0);
--md-sys-motion-easing-emphasized-decelerate: cubic-bezier(0.05, 0.7, 0.1, 1.0);
--md-sys-motion-easing-emphasized-accelerate: cubic-bezier(0.3, 0.0, 0.8, 0.15);
--md-sys-motion-easing-standard: cubic-bezier(0.2, 0.0, 0, 1.0);
--md-sys-motion-easing-standard-decelerate: cubic-bezier(0, 0, 0.2, 1.0);
/* M3 Durations */
--md-sys-motion-duration-short-4: 200ms;
--md-sys-motion-duration-medium-2: 300ms;
--md-sys-motion-duration-medium-4: 400ms;
--md-sys-motion-duration-long-2: 600ms;
}
M3 Container Transform Pattern (Framer Motion layoutId):
Morphing a card into a modal detail view with shared geometry:
import { motion, AnimatePresence } from 'framer-motion';
// M3 Container Transform with Emphasized Decelerate Easing
const m3Transition = {
duration: 0.4,
ease: [0.05, 0.7, 0.1, 1.0], // M3 Emphasized Decelerate
};
export function M3CardToDetail({ selectedId, onSelect, item }: any) {
return (
<>
<motion.div
layoutId={`m3-container-${item.id}`}
onClick={() => onSelect(item.id)}
className="bg-surface-container rounded-2xl p-4 cursor-pointer shadow-sm hover:shadow-md transition-shadow"
transition={m3Transition}
>
<motion.h3 layoutId={`m3-title-${item.id}`} className="text-lg font-medium text-on-surface">
{item.title}
</motion.h3>
<p className="text-sm text-on-surface-variant mt-1">{item.subtitle}</p>
</motion.div>
<AnimatePresence>
{selectedId === item.id && (
<motion.div
layoutId={`m3-container-${item.id}`}
className="fixed inset-4 md:inset-20 z-50 bg-surface-container-high rounded-3xl p-8 shadow-2xl flex flex-col"
transition={m3Transition}
>
<motion.h3 layoutId={`m3-title-${item.id}`} className="text-2xl font-bold text-on-surface">
{item.title}
</motion.h3>
<div className="mt-4 flex-1 overflow-y-auto text-on-surface-variant">
{item.fullContent}
</div>
<button
onClick={() => onSelect(null)}
className="mt-4 self-end bg-primary text-on-primary rounded-full px-6 py-2.5 font-medium"
>
Close
</button>
</motion.div>
)}
</AnimatePresence>
</>
);
}
Zero-tolerance principles for intentional, high-performance web motion:
prefers-reduced-motion Enforcement: Every animation MUST respect user accessibility settings. In Framer Motion, check useReducedMotion(); in CSS, provide @media (prefers-reduced-motion: reduce) { animation: none !important; transition: none !important; }.transform and opacity. Strictly ban animating layout triggers (top, left, width, height, margin, padding).damping: 5, stiffness: 500) on UI controls. Interactive components must use subtle, purposeful easings (cubic-bezier(0.16, 1, 0.3, 1)).IntersectionObserver or CSS content-visibility to halt animations when not in viewport.ui-ux-pro-max and design-system-architect to bring designs to life.senior-frontend by handling the motion layer of the UI.seo to build visually stunning landing pages.anti-slop: Enforces zero-bouncy slop, strict prefers-reduced-motion fallbacks, and compositor-only transforms.<a name="bahasa-indonesia"></a>
Skill khusus untuk membuat animasi web dan interaksi mikro yang lancar dan berkinerja tinggi. Mencakup manipulasi SVG langsung, animasi berbasis React menggunakan Framer Motion 12+, koreografi timeline lanjutan dengan GSAP 3, CSS Scroll-Driven Animations native, dan View Transitions API.
Gunakan Framer Motion untuk animasi komponen deklaratif, animasi layout, dan interaksi gestur.
useTransform dan useScroll yang beroperasi di luar siklus render React untuk performa 60fps.Gunakan GSAP untuk urutan timeline yang sangat terkoordinasi atau saat bekerja di luar ekosistem React. Plugin ScrollTrigger sangat berguna untuk merangkai aksi kompleks berdasarkan posisi scroll.
Manfaatkan CSS modern (animation-timeline: view()) untuk mengikat animasi ke posisi scroll langsung di compositor thread tanpa JavaScript sama sekali. Ini memberikan performa terbaik untuk efek paralaks dan reveal.
<clipPath> dan <mask> untuk transisi transisi pengungkapan gambar yang dramatis.Gerak dalam M3 memberikan kontinuitas spasial dan mengarahkan fokus pengguna:
emphasized-decelerate (cubic-bezier(0.05, 0.7, 0.1, 1.0)): Digunakan untuk elemen yang masuk ke layar (modal, drawer, sheet) dengan durasi 400ms.emphasized-accelerate (cubic-bezier(0.3, 0.0, 0.8, 0.15)): Digunakan untuk elemen yang meninggalkan layar dengan durasi 200ms.standard (cubic-bezier(0.2, 0.0, 0, 1.0)): Digunakan untuk transformasi bentuk dan pergeseran posisi dalam layar dengan durasi 300ms.layoutId pada Framer Motion.Prinsip nol toleransi untuk gerakan web yang fungsional dan berkinerja tinggi:
prefers-reduced-motion: Semua animasi WAJIB menghormati preferensi aksesibilitas pengguna (useReducedMotion() di Framer Motion, atau @media (prefers-reduced-motion: reduce) di CSS).transform dan opacity. Dilarang menganimasikan top, left, width, height, atau margin yang memicu re-layout dan lag.cubic-bezier(0.16, 1, 0.3, 1)).IntersectionObserver untuk mencegah boros baterai dan beban CPU.ui-ux-pro-max dan design-system-architect untuk menghidupkan desain statis.senior-frontend dengan menangani lapisan pergerakan (motion layer) UI.seo untuk merancang landing page yang memukau secara visual.anti-slop: Menegakkan larangan animasi memantul berlebihan (bouncy slop), kewajiban fallback prefers-reduced-motion, dan animasi khusus compositor.まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Expert guide for automated and manual Web Accessibility (a11y) testing — axe-core, Pa11y, Playwright a11y, screen reader testing, and WCAG 2.2 Level AA/AAA compliance / Panduan ahli pengujian aksesibilitas web.
日本語の概要は準備中です。原文の説明を表示しています。
Expert guide for intelligent model cascading and routing — complexity-scored task routing from Flash/Haiku to Sonnet/Opus/Astra, dynamic escalation with quality gates, 40-60% token cost reduction while maintaining output quality / Panduan ahli untuk kaskade dan routing model cerdas — routing tugas berbasis skor kompleksitas dari Flash/Haiku ke Sonnet/Opus/Astra, eskalasi dinamis dengan gerbang kualitas, pengurangan biaya token 40-60% dengan kualitas output terjaga.
日本語の概要は準備中です。原文の説明を表示しています。
Expert guide for Affective Computing, emotional AI, and real-time sentiment analysis through native multimodal tokens (voice intonation and facial micro-expressions) / Panduan ahli komputasi afektif, AI emosional, dan analisis sentimen real-time melalui token multimodal native.
日本語の概要は準備中です。原文の説明を表示しています。
Expert guide for AI-assisted coding workflows — agentic code generation, multi-agent code swarms, self-healing CI/CD, automated PR review, spec-to-code pipelines, codebase knowledge graphs, and human-in-the-loop approval gates / Panduan ahli untuk workflow pengkodean berbasis AI — generasi kode agentic, code swarm multi-agen, CI/CD self-healing, review PR otomatis, pipeline spec-to-code, knowledge graph codebase, dan gate persetujuan human-in-the-loop.
日本語の概要は準備中です。原文の説明を表示しています。
Expert guide for long-term episodic memory integration (Mem0 v2, Letta/MemGPT, Zep v2), memory tier architecture, pgvector HNSW storage, and unified context management for autonomous AI agents / Panduan ahli untuk integrasi memori episodik jangka panjang (Mem0 v2, Letta/MemGPT, Zep v2), arsitektur tier memori, penyimpanan pgvector HNSW, dan manajemen konteks terpadu untuk agen AI otonom.
日本語の概要は準備中です。原文の説明を表示しています。
Expert guide for designing Machine-to-Machine (M2M) micro-economies, autonomous agent wallets, and swarm budget allocation / Panduan ahli merancang ekonomi mikro antar-agen (M2M), dompet agen otonom, dan alokasi anggaran swarm.
日本語の概要は準備中です。原文の説明を表示しています。