frontend-dev-guidelines

Enforces opinionated React and TypeScript development standards with Suspense-first data fetching and feature-based architecture.

Updated Mar 1, 2026
One-click install
npx skills add https://github.com/involvex/dev --skill frontend-dev-guidelines-involvex
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: frontend-dev-guidelines
Source: https://github.com/involvex/dev/tree/main/.claude/skills/frontend-dev-guidelines
Command: npx skills add https://github.com/involvex/dev --skill frontend-dev-guidelines-involvex

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Frontend codebases often drift into inconsistent patterns—scattered API calls, loading spinners everywhere, prop drilling, and untyped data. This Skill enforces a single, strict set of architectural rules so every component, feature, and route in a React + TypeScript application follows the same production-grade conventions. ## Core Features & Use Cases - Suspense-First Data Fetching: Mandates useSuspenseQuery with TanStack Query, forbidding isLoading conditionals and early-return spinners to prevent layout shift. - Feature-Based Architecture: Defines a canonical directory structure (features/{name}/api|components|hooks|helpers|types) with import aliases and public index.ts exports. - FFCI Feasibility Scoring: Provides a Frontend Feasibility & Complexity Index to evaluate whether a component or feature should be built, split, or redesigned before implementation. - Use Case: When adding a new user profile page, the Skill guides you to create a lazy-loaded route with TanStack Router, a feature folder with an isolated API layer, a React.FC component using useSuspenseQuery, MUI v7 styling, and snackbar-based error feedback. ## Quick Start Ask the AI to create a new React component or feature following the frontend-dev-guidelines standards, for example: "Build a user list page with search following these frontend guidelines."

Frequently Asked Questions about frontend-dev-guidelines

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

FAQPage Schema
How do I structure a React feature folder with TanStack Query?▼

Create a features/{feature-name}/ directory with api/, components/, hooks/, helpers/, and types/ subdirectories. Isolate API calls in a single service file, expose public exports via index.ts, and use useSuspenseQuery hooks for data fetching.

What is the difference between useSuspenseQuery and useQuery?▼

useSuspenseQuery integrates with React Suspense boundaries so data is always defined and no isLoading checks are needed. useQuery returns possibly undefined data and requires manual loading states, which this standard reserves for legacy code only.

Should I use React.FC for components in TypeScript?▼

Yes, this standard requires the React.FC<Props> pattern with a separately defined props interface. It provides explicit type safety, consistent signatures, and better IDE autocomplete, with a default export at the bottom of the file.

When should I lazy load React components?▼

Lazy load route-level components, heavy elements like data grids, charts, and editors, and large dialogs or modals. Always wrap lazy components in a SuspenseLoader boundary to prevent layout shift during loading.

Why should I avoid early returns for loading states in React?▼

Early returns with spinners cause cumulative layout shift, jarring UX, and lost scroll position. Instead, rely on Suspense boundaries with useSuspenseQuery, or use a LoadingOverlay wrapper for legacy useQuery patterns.

What are the limitations of MUI v7 Grid syntax?▼

MUI v7 removed the item and xs/md props pattern in favor of the size prop, such as size={{ xs: 12, md: 6 }}. Using the old xs={12} syntax is invalid in v7 and will not apply responsive breakpoints.