Claude-skill-registry component-new
Create a new React component with TypeScript and modern best practices
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/component-new" ~/.claude/skills/majiayu000-claude-skill-registry-component-new && rm -rf "$T"
manifest:
skills/data/component-new/SKILL.mdsource content
Create New Component
Generate a new React component following 2025 best practices.
Component Specification
$ARGUMENTS
Modern React + TypeScript Standards
1. Function Components Only
- Use function components (not class components)
- React 19 patterns
- Server Components where appropriate (Next.js)
2. TypeScript Best Practices
- Strict typing (
)strict: true - Interface for props
- Proper TypeScript utility types (ComponentProps, ReactNode, etc.)
- NO
typesany - Explicit return types for complex components
3. Component Patterns
Client Components (interactive, use hooks)
'use client' import { useState } from 'react' interface Props { // typed props } export function Component({ }: Props) { // implementation }
Server Components (default in Next.js App Router)
interface Props { // typed props } export async function Component({ }: Props) { // can fetch data directly }
4. State Management
for local stateuseState
for complex stateuseReducer- Zustand for global state
- React Context for theme/auth
5. Performance
- Lazy loading with
React.lazy() - Code splitting
for expensive computationsuseMemo()
for callback functionsuseCallback()
6. Styling Approach (choose based on project)
- Tailwind CSS - Utility-first (recommended)
- CSS Modules - Scoped styles
- Styled Components - CSS-in-JS
What to Generate
- Component File - Main component with TypeScript
- Props Interface - Fully typed props
- Styles - Tailwind classes or CSS module
- Example Usage - How to import and use
- Storybook Story (optional) - Component documentation
Code Quality Standards
Structure
- Feature-based folder organization
- Co-locate related files
- Barrel exports (index.ts)
- Clear file naming conventions
TypeScript
- Explicit prop types via interface
- Proper generics where needed
- Utility types (Pick, Omit, Partial)
- Discriminated unions for variants
Props
- Required vs optional props
- Default values where appropriate
- Destructure in function signature
- Props spread carefully
Accessibility
- Semantic HTML
- ARIA labels where needed
- Keyboard navigation
- Screen reader friendly
Best Practices
- Single Responsibility Principle
- Composition over inheritance
- Extract complex logic to hooks
- Keep components small (<200 lines)
Component Types to Consider
Presentational Components
- Pure UI rendering
- No business logic
- Receive data via props
- Easy to test
Container Components
- Data fetching
- Business logic
- State management
- Pass data to presentational components
Compound Components
- Related components working together
- Shared context
- Flexible API
- Example:
<Select><Select.Trigger/><Select.Content/></Select>
React 19 Features to Use
- use() API for reading promises/context
- useActionState() for form state
- useFormStatus() for form pending state
- useOptimistic() for optimistic UI updates
- Server Actions for mutations
Generate production-ready, accessible, and performant React components following Next.js 15 and React 19 patterns.