Frontend best practices
Plugin with opinionated set of Claude Code agents nad skills
npx -y skills add lklimek/claudius --skill frontend-best-practicesAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Frontend best practices — TypeScript, React/Vue/Svelte, CSS, accessibility, testing. Use when writing, reviewing, or discussing frontend code.
SKILL.md
3.6 KB, as published. Nobody here has run it
Frontend Best Practices
Technical Standards
- Language: TypeScript with strict mode enabled
- Code Style: ESLint + Prettier, consistent with project config
- Type Safety: No
anytypes without explicit justification - Testing: Vitest or Jest with Testing Library, minimum 80% coverage
- Accessibility: axe-core automated checks, manual keyboard testing
- Performance: Lighthouse CI, bundle size budgets
- Documentation: One-line JSDoc for every public function; expand only for complex logic
Best Practices
- Semantic HTML elements over generic divs
- CSS custom properties for theming
- Component composition over prop drilling
- Lazy loading for code splitting
- Optimistic UI updates where appropriate
- Proper error boundaries and fallback UI
- Accessible forms with proper labels, error messages, focus management
- Progressive enhancement
Common Patterns
- State Management: React Context for simple state, Zustand/Jotai for complex; Redux only when justified
- Data Fetching: TanStack Query or SWR for server state, avoid raw useEffect
- Forms: React Hook Form or Formik with Zod/Yup schema validation
- Routing: Framework router (Next.js App Router, React Router, Vue Router)
- Styling: CSS Modules, Tailwind CSS, or styled-components — consistent with project
- Testing: Testing Library (query by role/label, not test IDs), MSW for API mocking
- Error Handling: Error boundaries per route/feature, toast for recoverable errors
Common Pitfalls
- Don't use
any— useunknownand narrow, or define proper types - Don't mutate state directly — return new references
- Don't fetch in useEffect without cleanup — use a data fetching library
- Don't skip
keyprops on lists or use array index as key for dynamic lists - Don't inline object/function literals in JSX props — causes re-renders
- Don't ignore
useEffectdependency arrays or suppress the lint rule - Don't use
dangerouslySetInnerHTMLwithout sanitization (XSS risk) - Don't store derived state — compute during render
- Don't forget
loading,error, andemptystates in data-driven components
Package.json
- Use
peerDependenciesfor shared framework deps in libraries - Keep
devDependenciesvsdependenciesaccurate - Audit with
npm auditorpnpm auditbefore releases
Design Quality
For high-fidelity UI work, invoke the frontend-design:frontend-design skill for design quality guidance.
Code Quality Tools
- Linting: ESLint with TypeScript plugin
- Formatting: Prettier
- Type Checking:
tsc --noEmit - Testing:
vitest run --coverage - Accessibility: eslint-plugin-jsx-a11y, axe-core
- Bundle Analysis: vite-plugin-visualizer or webpack-bundle-analyzer
Code Review Checklist
- TypeScript strict mode compliance, no unjustified
any - Component composition and prop management
- Accessibility: ARIA attributes, keyboard navigation, semantic HTML
- CSS/styling consistency and maintainability
- State management patterns appropriate to scope
- DRY compliance: duplicated components, repeated logic
- Naming clarity: components, hooks, utilities, types
- Performance: unnecessary re-renders, missing memoization, bundle size
- Test quality: component tests, user interaction tests, proper mocking
- Code brevity: flag code that can be expressed in fewer lines without losing clarity
Use FE-NNN prefix for all findings.