<< All versions
Skill v1.0.0
currentLLM-judged scan95/100emanuelrechsteiner/claude-rcode/ui-development
──Details
PublishedSeptember 28, 2026 at 01:15 PM
Content Hashsha256:9aa995383ea98d73...
Git SHA7b1efaeb7145
──Files
Files (1 file, 6.1 KB)
SKILL.md6.1 KBactive
SKILL.md · 194 lines · 6.1 KB
version: "1.0.0" name: ui-development description: React component implementation specialist. Creates TypeScript components with Tailwind CSS, integrates Zustand stores, ensures accessibility, and maintains 90%+ test coverage. Use when building React components, implementing UI, working with Tailwind, or creating frontend interfaces. Triggers on "React", "component", "UI", "Tailwind", "frontend", "interface", "form", "button", "modal", "Storybook". allowed-tools: Read, Edit, Write, Glob, Grep, Bash(npm:*)
UI Development Skill - React Component Implementation
Memory-First Protocol (MANDATORY)
Before starting any task:
- Query Memory MCP for component patterns and styles:
mcp__memory__search_nodes - Load related component entities:
mcp__memory__open_nodes
During task execution:
- Create component entities:
mcp__memory__create_entitieswith type "Component" - Add implementation details as observations:
mcp__memory__add_observations - Link components to stores and pages:
mcp__memory__create_relations
Core Competencies
1. React Component Development
- TypeScript Components: Create fully typed components with proper interfaces
- Component Composition: Use existing patterns (GlassCard, Layout, Header)
- Hook Integration: Implement custom hooks and Zustand store connections
- Error Boundaries: Add proper error handling for component failures
2. Styling & Design System
- Tailwind CSS: Apply utility classes following project conventions
- Responsive Design: Implement mobile-first layouts with proper breakpoints
- Dark Mode: Support light/dark theme switching
- Animation: Use Tailwind transitions and CSS animations appropriately
Component Architecture
Standard Component Structure
typescript
interface ComponentProps {// Proper TypeScript interfacesdata: DataType;onAction: (item: Item) => void;loading?: boolean;}export function ComponentName({ data, onAction, loading }: ComponentProps) {// Zustand store integrationconst { items, isLoading, error } = useStoreHook();// Error boundary and loading statesif (isLoading || loading) return <LoadingSpinner />;if (error) return <ErrorMessage error={error} />;return (<Layout title="Page Title"><GlassCard>{/* Component content */}</GlassCard></Layout>);}
Required Patterns
- GlassCard Container: Use for all major content sections
- Layout Wrapper: Implement proper header and navigation
- Loading States: Skeleton screens or spinners during data fetching
- Error States: User-friendly error messages with retry options
- Empty States: Helpful guidance when no data is available
Form Implementation
Standard Form Pattern
typescript
import { useForm } from 'react-hook-form';import { zodResolver } from '@hookform/resolvers/zod';import { itemSchema } from '../lib/validation';function ItemForm({ item, onSubmit }: ItemFormProps) {const {register,handleSubmit,formState: { errors, isSubmitting }} = useForm<ItemFormData>({resolver: zodResolver(itemSchema),defaultValues: item});return (<form onSubmit={handleSubmit(onSubmit)} className="space-y-6"><div><label htmlFor="name" className="block text-sm font-medium">Name</label><input{...register('name')}className="mt-1 block w-full rounded-md border-gray-300"/>{errors.name && (<p className="mt-1 text-sm text-red-600">{errors.name.message}</p>)}</div><buttontype="submit"disabled={isSubmitting}className="btn-primary">{isSubmitting ? 'Saving...' : 'Save'}</button></form>);}
Styling Standards
Consistent Spacing
Use Tailwind spacing scale: 4, 6, 8, 12, 16, 24
Color Palette
Follow existing blue/indigo/purple gradient theme
Typography
Use established font sizes and weights
Card Layouts
Apply consistent padding, borders, and shadows
Component Structure
src/components/├── [Feature]/│ ├── [Feature]List.tsx # List view with sorting/filtering│ ├── [Feature]Form.tsx # Add/edit form│ ├── [Feature]Card.tsx # Individual item display│ └── index.ts # Clean exports
Testing Integration
- Unit Tests: Create
*.test.tsxfiles for all components - Storybook Stories: Implement
*.stories.tsxfor component documentation - Accessibility Testing: Ensure proper ARIA labels and keyboard navigation
- Visual Regression: Maintain consistent visual appearance
Quality Standards
Component Quality
- TypeScript Strict: Zero type errors or warnings
- Prop Validation: All props properly typed and documented
- Error Handling: Graceful error states with user feedback
- Performance: Optimized rendering with proper memoization
Visual Quality
- Responsive Design: Seamless experience across all devices
- Accessibility: Full keyboard navigation and screen reader support
- Visual Consistency: Matches existing design patterns
- Loading States: Smooth transitions and proper feedback
Testing Coverage
- Unit Tests: >90% coverage for all components
- Storybook Stories: All components documented with use cases
- Integration Tests: Component interaction validation
- Accessibility Tests: Automated a11y compliance checking
Reporting Template
markdown
## UI Implementation: [Component/Page Name]### Components Delivered-List of components created-TypeScript interfaces implemented-Storybook stories completed-Unit tests written### Quality Validation-TypeScript strict mode compliance-ESLint/Prettier formatting-Accessibility audit results-Visual consistency verification### Integration Status-Store integration completed-Navigation/routing updated-Error handling implemented-Loading states functional### Testing Results-Unit test coverage: [XX]%-Storybook stories functional-Manual testing completed-Browser compatibility verified