Skip to content
Back to skills

Nextjs Styling

ASecurity

MUI works with Next.js App Router, but it uses runtime CSS-in-JS and can force `'use client'` boundaries more widely. The preferred alternatives are Tailwind/shadcn or CSS Modules / SCSS because they are zero-runtime and RSC-compatible. If MUI is required: ```bash npm install @mui/material @emotion/react @emotion/styled @mui/material-nextjs ``` Create a client-only provider: ```tsx // app/providers.tsx 'use client'; import { AppRouterCacheProvider } from '@mui/material-nextjs/v15-appRouter'; ...

  • 549 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 5, 2026
developmentbashreactnextjsnode

Works with

  • cli

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

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

Scanned September 5, 2026

npx -y skills add HoangNguyen0403/agent-skills-standard --skill nextjs-styling --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Nextjs Styling?

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

Security grade badge for Nextjs Styling
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/hoangnguyen0403-nextjs-styling-fc37e24a/badge)](https://www.skillsdirectory.com/skills/hoangnguyen0403-nextjs-styling-fc37e24a)

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
MUI works with Next.js App Router, but it uses runtime CSS-in-JS and can force `'use client'` boundaries more widely. The preferred alternatives are Tailwind/shadcn or CSS Modules / SCSS because they are zero-runtime and RSC-compatible.

If MUI is required:

```bash
npm install @mui/material @emotion/react @emotion/styled @mui/material-nextjs
```

Create a client-only provider:

```tsx
// app/providers.tsx
'use client';

import { AppRouterCacheProvider } from '@mui/material-nextjs/v15-appRouter';
import { CssBaseline, ThemeProvider, createTheme } from '@mui/material';

const theme = createTheme();

export default function Providers({
  children,
}: {
  children: React.ReactNode;
}) {
  return (
    <AppRouterCacheProvider>
      <ThemeProvider theme={theme}>
        <CssBaseline />
        {children}
      </ThemeProvider>
    </AppRouterCacheProvider>
  );
}
```

Use it from the server layout:

```tsx
// app/layout.tsx
import Providers from './providers';

export default function RootLayout({
  children,
}: {
  children: React.ReactNode;
}) {
  return (
    <html lang="en">
      <body>
        <Providers>{children}</Providers>
      </body>
    </html>
  );
}
```

Use the matching `@mui/material-nextjs` integration for your Next.js major version, such as `v15-appRouter`.

Keep interactive MUI components behind client wrappers where possible. For zero-runtime styling, prefer Tailwind/shadcn or CSS Modules, and use `clsx` + `tailwind-merge` through a `cn()` utility for dynamic classes. Use `next/font` for fonts. For images, use `next/image` and always specify `width` and `height`, or use the `fill` prop.

Files in this skill

  • eval-1.baseline.md448 B
  • eval-1.with-skill.md1.1 KB
  • eval-2.baseline.md1.4 KB
  • eval-2.with-skill.md1.6 KB
  • eval-3.baseline.md632 B
  • eval-3.with-skill.md426 B
  • trigger-1.md140 B
  • trigger-2.md98 B
  • trigger-3.md164 B
  • trigger-4.md165 B

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…