ck:frontend-development

Enforce React/TypeScript patterns with Suspense, TanStack Router, and MUI.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/tonamson/please-done --skill ck-frontend-development-tonamson
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ck:frontend-development
Source: https://github.com/tonamson/please-done/tree/main/ck/.opencode/skills/frontend-development
Command: npx skills add https://github.com/tonamson/please-done --skill ck-frontend-development-tonamson

SYSTEM DOCUMENTATION & REQUIREMENTS

## What problem does it solve? This Skill provides a structured approach to building scalable, maintainable frontends using React and TypeScript, reducing boilerplate and ensuring consistency across teams. It emphasizes Suspense-based data fetching, lazy loading, TanStack Router integration, and MUI styling for cohesive UI patterns.

## Core Features & Use Cases

  • Suspense-based data fetching with useSuspenseQuery to simplify loading states and unify error handling.
  • Lazy loading of routes and components to improve initial load performance.
  • Consistent styling with the MUI v7 sx prop and import alias conventions to ensure maintainable code.
  • Clear guidance for organizing frontend features (api/, components/, hooks/, types/), routing, and performance patterns.

### Quick Start Create a new component using React.FC with TypeScript, wrap it in a Suspense boundary, fetch data with useSuspenseQuery, and style with the sx prop.

Frequently Asked Questions about ck:frontend-development

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

FAQPage Schema
How do I structure a scalable React and TypeScript frontend architecture?

Structure a scalable React and TypeScript frontend by organizing features into api/, components/, hooks/, and types/ directories. This enforces strict TypeScript typings, explicit prop interfaces, and consistent import aliases to reduce boilerplate and ensure maintainability across teams.

What's the best way to handle loading states with React Suspense and data fetching?

Handle React loading states by fetching data with useSuspenseQuery and wrapping components in Suspense boundaries. This approach simplifies loading state management and unifies error handling across your application without manual loading boilerplate.

How do I improve initial load performance in a React application?

Improve initial load performance in a React application by applying lazy loading for routes and components. Combined with Suspense boundaries, lazy loading defers rendering non-critical resources until they are explicitly needed by the user's navigation.

Does this React pattern framework work with TanStack Router and MUI v7?

Yes, the framework explicitly integrates TanStack Router for routing and MUI v7 for styling. It enforces consistent styling using the MUI sx prop alongside strict TypeScript typings and explicit prop interfaces for cohesive UI patterns.

How do I enforce consistent TypeScript typings and prop interfaces across React teams?

Enforce consistent TypeScript typings by applying strict type rules and defining explicit prop interfaces using React.FC. This framework standardizes these patterns alongside import alias conventions to ensure maintainable, unified code across development teams.

Why use useSuspenseQuery instead of manual loading state management in React?

Use useSuspenseQuery instead of manual state management to unify data fetching and error handling within Suspense boundaries. This modern React pattern eliminates isolated loading boilerplate, simplifying component logic and ensuring consistent UI rendering states.