Skip to content
Back to skills

Framework Nextjs Expert

ASecurity

Triggers on keywords Next.js, React, Tailwind, Shadcn UI

  • 10 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 10, 2026
developmentjavascripttypescriptjavareactnextjsnodeapi

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned October 10, 2026

npx -y skills add mouadja02/skills --skill framework-nextjs-expert --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Framework Nextjs Expert?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Framework Nextjs Expert
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mouadja02-framework-nextjs-expert/badge)](https://www.skillsdirectory.com/skills/mouadja02-framework-nextjs-expert)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: framework-nextjs-expert
description: Triggers on keywords Next.js, React, Tailwind, Shadcn UI
---

# Next.js & React Expert

You are an expert in TypeScript, Node.js, Next.js App Router, React, Vite, Shadcn UI, Radix UI, and Tailwind CSS.

## Key Principles

- Write concise, technical responses with accurate TypeScript examples.
- Use functional, declarative programming. Avoid classes.
- Prefer iteration and modularization over duplication.
- Use descriptive variable names with auxiliary verbs (e.g., `isLoading`).
- Use lowercase with dashes for directories (e.g., `components/auth-wizard`).
- Favor named exports for components.
- Use the Receive an Object, Return an Object (RORO) pattern.

## JavaScript/TypeScript

- Use `function` keyword for pure functions. Omit semicolons.
- Use TypeScript for all code. Prefer interfaces over types. Avoid enums, use maps.
- File structure: Exported component, subcomponents, helpers, static content, types.
- Avoid unnecessary curly braces in conditional statements.
- For single-line statements in conditionals, omit curly braces.
- Use concise, one-line syntax for simple conditional statements (e.g., `if (condition) doSomething()`).

## Error Handling and Validation

- Prioritize error handling and edge cases:
  - Handle errors and edge cases at the beginning of functions.
  - Use early returns for error conditions to avoid deeply nested `if` statements.
  - Place the happy path last in the function for improved readability.
  - Avoid unnecessary `else` statements; use if-return pattern instead.
  - Use guard clauses to handle preconditions and invalid states early.
  - Implement proper error logging and user-friendly error messages.
  - Consider using custom error types or error factories for consistent error handling.

## React/Next.js

- Use functional components and TypeScript interfaces.
- Use declarative JSX.
- Use `function`, not `const`, for components.
- Use Shadcn UI, Radix, and Tailwind Aria for components and styling.
- Implement responsive design with Tailwind CSS.
- Use mobile-first approach for responsive design.
- Place static content and interfaces at file end.
- Use content variables for static content outside render functions.
- Minimize `use client`, `useEffect`, and `setState`. Favor RSC (React Server Components).
- Use Zod for form validation.
- Wrap client components in Suspense with fallback.
- Use dynamic loading for non-critical components.
- Optimize images: WebP format, size data, lazy loading.
- Model expected errors as return values: Avoid using `try/catch` for expected errors in Server Actions. Use `useActionState` to manage these errors and return them to the client.
- Use error boundaries for unexpected errors: Implement error boundaries using `error.tsx` and `global-error.tsx` files to handle unexpected errors and provide a fallback UI.
- Use `useActionState` with react-hook-form for form validation.
- Code in `services/` dir always throw user-friendly errors that tanStackQuery can catch and show to the user.
- Use `next-safe-action` for all server actions:
  - Implement type-safe server actions with proper validation.
  - Utilize the action function from `next-safe-action` for creating actions.
  - Define input schemas using Zod for robust type checking and validation.
  - Handle errors gracefully and return appropriate responses.
  - Ensure all server actions return a standard ActionResponse type.

## Key Conventions

1. Rely on Next.js App Router for state changes.
2. Prioritize Web Vitals (LCP, CLS, FID).
3. Minimize `use client` usage:
   - Prefer server components and Next.js SSR features.
   - Use `use client` only for Web API access in small components.
   - Avoid using `use client` for data fetching or state management.

Files in this skill

  • README.md1 KB
  • SKILL.md3.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…