Scaffold a new React component following this project's conventions (kel-ui-components first, data-driven content, co-located tests, accessibility by default). Use when asked to create a new component or homepage section.
73
90%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Scaffold a component that matches this codebase's conventions. If the name or purpose isn't given, ask first.
kel-ui-components, import it (import { Button } from "kel-ui-components") instead of building one or editing src/components/ui/* (that dir is mostly legacy). Create local UI only as a last resort.@/... (e.g. @/lib/animations, @/data/constants).src/data/constants.ts, typed against src/types/index.ts — not hard-coded in JSX.alt text. A section component should expose a landmark with an accessible name.@/lib/animations; honor prefers-reduced-motion.src/index.css.Suspended* wrapper in src/components/LazyComponents.tsx and compose it in src/pages/Index.tsx. Pick the error-boundary tier (ComponentErrorBoundary for granular) that matches blast radius.__tests__/<Name>.test.tsx next to the component (Vitest + Testing Library, jsdom, globals: true). Cover render + at least one a11y query (getByRole).src/components/<Name>.tsx with a typed props interface.src/data/constants.ts / src/types/index.ts.Suspended* wrapper and compose it in Index.tsx.bun run lint and bunx vitest run src/components/__tests__/<Name>.test.tsx.ee820de
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.