← Back to list

react-skills
by llama-farm
Deploy any AI model, agent, database, RAG, and pipeline locally or remotely in minutes
⭐ 792🍴 45📅 Jan 23, 2026
SKILL.md
name: react-skills description: React 18 patterns for LlamaFarm Designer. Covers components, hooks, TanStack Query, and testing. allowed-tools: Read, Grep, Glob user-invocable: false
React Skills for LlamaFarm Designer
Best practices and patterns for React 18 development in the Designer subsystem.
Tech Stack
- React 18.2 with StrictMode
- TypeScript 5.2+ for type safety
- TanStack Query v5 for server state management
- React Router v7 for client-side routing
- TailwindCSS with
tailwind-mergeandclsxfor styling - Radix UI primitives for accessible components
- Vite for build tooling
- Vitest + React Testing Library for testing
Directory Structure
designer/src/
api/ # API service functions
components/ # React components (feature-organized)
contexts/ # React context providers
hooks/ # Custom hooks
lib/ # Utility functions (cn, etc.)
types/ # TypeScript type definitions
utils/ # Helper functions
test/ # Test utilities and mocks
Core Patterns
Component Composition
- Use composition over inheritance
- Prefer small, focused components
- Use
forwardReffor components that wrap DOM elements - Apply
displayNameto forwardRef components for DevTools
State Management
- Local UI state:
useState,useReducer - Server state: TanStack Query (
useQuery,useMutation) - Shared UI state: React Context with custom hooks
- Form state: Controlled components with validation
Hooks
- Follow Rules of Hooks (top-level, consistent order)
- Create custom hooks for reusable logic
- Use query key factories for TanStack Query
- Memoize expensive computations with
useMemo - Stabilize callbacks with
useCallback
Styling
- Use
cn()fromlib/utilsto merge Tailwind classes - Use
cva(class-variance-authority) for component variants - Follow dark mode conventions with
dark:prefix
Related Guides
- components.md - Component patterns
- hooks.md - Hook patterns and rules
- state.md - State management patterns
- performance.md - Performance optimization
- security.md - Security best practices
Quick Reference
// Utility for merging Tailwind classes
import { cn } from '@/lib/utils'
cn('base-class', condition && 'conditional-class', className)
// Query key factory pattern
export const projectKeys = {
all: ['projects'] as const,
lists: () => [...projectKeys.all, 'list'] as const,
list: (ns: string) => [...projectKeys.lists(), ns] as const,
}
// Context with validation hook
const MyContext = createContext<MyContextType | undefined>(undefined)
export function useMyContext() {
const ctx = useContext(MyContext)
if (!ctx) throw new Error('useMyContext must be within MyProvider')
return ctx
}
Testing
import { renderWithProviders } from '@/test/utils'
import { screen } from '@testing-library/react'
test('renders component', () => {
renderWithProviders(<MyComponent />)
expect(screen.getByText('Hello')).toBeInTheDocument()
})
Score
Total Score
75/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
○説明文
100文字以上の説明がある
0/10
✓人気
GitHub Stars 500以上
+10
✓最近の活動
1ヶ月以内に更新
+10
✓フォーク
10回以上フォークされている
+5
○Issue管理
オープンIssueが50未満
0/5
✓言語
プログラミング言語が設定されている
+5
✓タグ
1つ以上のタグが設定されている
+5
Reviews
💬
Reviews coming soon


