moai-domain-frontend

Implements React 19, Next.js 16, and Vue 3.5 component patterns for web UIs.

Updated Jul 24, 2026
One-click install
npx skills add https://github.com/jjjh7401/AI-Lighting_Console --skill moai-domain-frontend-jjjh7401
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: moai-domain-frontend
Source: https://github.com/jjjh7401/AI-Lighting_Console/tree/main/.moai/archive/skills/v2.16/moai-domain-frontend
Command: npx skills add https://github.com/jjjh7401/AI-Lighting_Console --skill moai-domain-frontend-jjjh7401

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Modern frontend development spans multiple frameworks, rendering models, and state management approaches, making it hard to apply the correct pattern consistently. This Skill provides structured guidance for React 19, Next.js 16, and Vue 3.5 so components, server actions, and composables follow current best practices. ## Core Features & Use Cases - Framework Patterns: Covers React 19 server components and cache(), Next.js 16 App Router and Server Actions, and Vue 3.5 Composition API with Pinia. - Component Architecture: Guides design tokens, CVA variants, compound components, and accessibility requirements. - Performance & Verification: Addresses code splitting, memoization, bundle size checks, and Playwright-based visual verification. - Use Case: When building a Next.js page that fetches data, use this Skill to structure an async server component with Suspense boundaries and a validated Server Action using zod. ## Quick Start Ask the AI to create a React 19 server component with Suspense loading states and a CVA-based button variant for your project.

Frequently Asked Questions about moai-domain-frontend

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

FAQPage Schema
How do I create a React 19 server component with data fetching?▼

Define an async page component that uses React's cache() function to memoize data fetching, then wrap the display component in Suspense with a skeleton fallback. Pass the awaited data as props to the child component.

How to write a Next.js Server Action with validation?▼

Create a file with the 'use server' directive, define a zod schema for the form fields, and validate FormData with safeParse. On success, write to the database and call revalidatePath to refresh the affected page.

What state management library should I use with React or Vue?▼

For React, Zustand or Redux Toolkit cover most cases, with React Context for simple sharing. For Vue 3.5, Pinia is the standard choice and integrates with the Composition API through composables.

Does this skill support Vue 3.5 Composition API patterns?▼

Yes, it covers Vue 3.5 composables using ref, computed, and watchEffect for reactive data fetching. A typical useUser composable accepts a userId ref, fetches asynchronously, and exposes user, loading, and derived computed values.

Why should I avoid the TypeScript any type in components?▼

Using any disables type checking for everything downstream, so one any infects the entire call chain. The skill's verification checklist requires grep proof that no any appears in new or modified code.

When should a component be split into sub-components?▼

Split a component when it exceeds roughly 300 lines or mixes unrelated responsibilities. Decomposition with clear sub-component boundaries keeps rendering, state, and styling concerns testable and readable.