skills/nextjs/nextjs-security/SKILL.md
Secure Next.js App Router with middleware auth, Server Action validation, CSP headers, and taint APIs. Use when adding authentication middleware, validating Server Action inputs with Zod, or preventing secret leakage to client bundles.
npx skillsauth add hoangnguyen0403/agent-skills-standard nextjs-securityInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
middleware.ts to verify JWT/session on protected routes.await auth() first.server-only — Import in modules containing secrets to prevent client bundling.taintObjectReference to block server objects from reaching client.See implementation examples
middleware.ts for edge-side authentication, role-based access control (RBAC), and enforcing Security Headers (e.g., Content-Security-Policy (CSP), X-XSS-Protection).FormData or JSON using Zod. Perform authentication checks (await auth()) inside every action to verify caller.experimental_taint API (taintObjectReference) to ensure sensitive server objects (e.g., User with passwordHash) never leak into Client Component.route.ts): Implement rate limiting to prevent brute-force or DoS attacks. Verify Origin/Referer headers to mitigate CSRF (Cross-Site Request Forgery).HttpOnly, Secure cookies with SameSite: 'Lax' for session management. Never store tokens in localStorage.server-only package to prevent backend-specific logic from included in client bundle.dangerouslySetInnerHTML without sanitizer like DOMPurify.process.env in client bundles: Mark as NEXT_PUBLIC_ only if safe to expose.development
Summarizes GitHub PR, GitLab MR, or Azure DevOps PR metadata, review threads, changed files, and template completeness. Use during review-ticket or code-review workflows when PR/MR context exists.
tools
Development tools, linting, and build config for TypeScript. Use when configuring ESLint, Prettier, Jest, Vitest, tsconfig, or any TS build tooling.
development
Validate input, secure auth tokens, and prevent injection attacks in TypeScript. Use when validating input, handling auth tokens, sanitizing data, or managing secrets and sensitive configuration.
development
Apply modern TypeScript standards for type safety and maintainability. Use when working with types, interfaces, generics, enums, unions, or tsconfig settings.