Help us improve
Share bugs, ideas, or general feedback.
From skills
Expert TypeScript, React, Next.js, UI/UX, and frontend security audit. Covers strict TypeScript, React 18/19 patterns, Next.js App Router, Tailwind, accessibility, and XSS/CSP prevention.
npx claudepluginhub kriscard/skillsHow this skill is triggered — by the user, by Claude, or both
Slash command
/skills:frontendThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Merged skill: TypeScript + React + Next.js + UI/UX + Frontend Security. One
Scaffolds Next.js/React projects with TypeScript/Tailwind, generates tested components/hooks, analyzes bundles for optimization, and provides advanced React patterns.
Scaffolds React/Next.js projects, generates components, analyzes bundle sizes, and reviews frontend patterns, performance, and accessibility.
Builds frontend components, optimizes performance and bundle sizes, scaffolds projects, implements accessibility, reviews code quality, and designs UI/UX across React, Vue, Svelte, and other frameworks.
Share bugs, ideas, or general feedback.
Merged skill: TypeScript + React + Next.js + UI/UX + Frontend Security. One entry point, thematic references. The philosophy: write inevitable code — type-safe enough that wrong usage won't compile, obvious enough that the next reader doesn't need comments, effortless to compose. Measure before optimizing. Accessibility from day one, not a retrofit.
TypeScript 6.x defaults (breaking changes from 5.x):
strict: true — now default; no longer optionalmodule: esnext — defaulttarget: es2025 — defaulttypes: [] — default (breaks ambient type packages like @types/node unless
listed explicitly)rootDir — defaults to the directory containing tsconfig.jsonTypeScript 7.0 Beta: Go-based rewrite, ~10× faster type-checking, largely behavior-compatible. Not production-ready yet but migration path is smooth.
React versions — always confirm which version the project uses:
useTransition, useDeferredValue, useId,
auto-batchinguseActionState, useOptimistic, use() hook,
ref-as-prop (no more forwardRef)useMemo/useCallback/
React.memo. With Compiler enabled, manual memoization is usually
unnecessary unless you have measured proof or effect-dependency constraints.These five take seconds to scan and catch the most common mistakes. Do not skip them even on quick reviews.
any without justification — any disables type checking for the
entire expression tree below it. Prefer unknown and narrow explicitly.
Legitimate uses: third-party lib without types, catch (e) (use
e instanceof Error), genuine escape hatch with a comment explaining why.
No runtime validation at external boundaries — TypeScript types exist
only at compile time. An API response that doesn't match your type silently
becomes corrupted state. Add Zod/Valibot/ArkType at every network call, form
submit, URL param parse, and localStorage read.
Components defined inside other components — they are re-created on every render, losing all memoization and accumulated state. Extract them to module scope.
Inheritance or HOC chains where hooks would do — a custom hook
composing useState + useEffect + useCallback is simpler, more
testable, and more composable than a class or HOC. Prefer composition.
Accessibility at the call site — semantic HTML (<button> not
<div onClick>), keyboard nav (onKeyDown for custom controls), ARIA only
when native HTML semantics are insufficient. Screen readers and keyboard
users hit bugs that sighted mouse users never see.
React.FC / React.FunctionComponent — deprecated. Implies an implicit
children prop (wrong in React 18+), forces a return type, and adds noise.
Use plain function declarations: function Button({ label }: ButtonProps).
Flag any new code using React.FC and suggest the plain function pattern.
Load the reference that matches the issue. Security and type correctness issues are CRITICAL (silent bugs at runtime); UI and optimization issues are lower.
| Priority | Impact | Load when | Reference |
|---|---|---|---|
| 1 | CRITICAL | XSS, dangerouslySetInnerHTML, CSP headers, input sanitization, localStorage security, auth token storage, CORS, third-party scripts | references/security.md |
| 2 | HIGH | TypeScript types, generics, branded types, discriminated unions, DistributiveOmit, React.FC, defaultProps, Zod/Valibot/ArkType, tsconfig, TypeScript 6.x/7.0 | references/type-system.md |
| 3 | HIGH | Next.js App Router, RSC vs Client Components, Server Actions, hydration mismatch, rendering model choice (SSR/SSG/ISR/CSR/RSC) | references/nextjs.md |
| 4 | MEDIUM | Component composition, compound components, asChild, CVA variants, Tailwind patterns, animation, prefers-reduced-motion, accessibility deep-dive, design tokens, dark mode, forms | references/ui-patterns.md |
| 5 | MEDIUM | Project structure, feature folders, "where should this file go", cross-feature imports, barrel files causing pain, scaling the codebase | references/feature-architecture.md |