designer-skills
Defines interface development standards for AI applications using React 18, TanStack Query, and TailwindCSS with a focus on accessibility.
Install
mkdir -p .claude/skills/designer-skills && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/5537" && unzip -o skill.zip -d .claude/skills/designer-skills && rm skill.zipInstalls to .claude/skills/designer-skills
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Designer subsystem patterns for LlamaFarm. Covers React 18, TanStack Query, TailwindCSS, and Radix UI.Key capabilities
- →Enforce React 18 StrictMode-compatible structures
- →Standardize directory layout by component role
- →Apply Framer Motion animation patterns
- →Integrate Axios-based API module structures
- →Standardize TypeScript type definitions for UI primitives
How it works
It maps requirements to a pre-defined architecture tree and standardized component boilerplate based on internal LlamaFarm conventions.
Inputs & outputs
When to use designer-skills
- →Build UI components with Radix UI
- →Manage server state with TanStack Query
- →Apply utility-first CSS via Tailwind
- →Standardize React directory structure
About this skill
Designer Skills for LlamaFarm
Framework-specific patterns and checklists for the Designer subsystem (React 18 + TanStack Query + TailwindCSS + Radix UI).
Overview
The Designer is a browser-based project workbench for building AI applications. It provides config editing, chat testing, dataset management, RAG configuration, and model selection.
Tech Stack
| Technology | Version | Purpose |
|---|---|---|
| React | 18.2 | UI framework with StrictMode |
| TypeScript | 5.2+ | Type safety |
| TanStack Query | v5 | Server state management |
| TailwindCSS | 3.3 | Utility-first CSS |
| Radix UI | 1.x | Accessible component primitives |
| Vite | 6.x | Build tooling and dev server |
| React Router | v7 | Client-side routing |
| Vitest | 1.x | Testing framework |
| axios | 1.x | HTTP client |
| framer-motion | 12.x | Animations |
Directory Structure
designer/src/
api/ # API service modules (axios-based)
assets/ # Static assets and icons
components/ # Feature-organized React components
ui/ # Radix-based primitive components
contexts/ # React Context providers
hooks/ # Custom hooks (TanStack Query wrappers)
lib/ # Utilities (cn, etc.)
types/ # TypeScript type definitions
utils/ # Helper functions
test/ # Test utilities, factories, mocks
Prerequisites: Shared Skills
Before applying Designer-specific patterns, ensure compliance with:
- TypeScript Skills - Strict typing, patterns, security
- React Skills - Component patterns, hooks, state management
Framework-Specific Guides
| Guide | Description |
|---|---|
| tanstack-query.md | Query/Mutation patterns, caching, invalidation |
| tailwind.md | TailwindCSS patterns, theming, responsive design |
| radix.md | Radix UI component patterns, accessibility |
| performance.md | Frontend optimizations, bundle size, lazy loading |
Key Patterns
API Client Configuration
// Centralized client with interceptors
export const apiClient = axios.create({
baseURL: API_BASE_URL,
headers: { 'Content-Type': 'application/json' },
timeout: 60000,
})
// Error handling interceptor
apiClient.interceptors.response.use(
response => response,
(error: AxiosError) => {
if (error.response?.status === 422) {
throw new ValidationError('Validation error', error.response.data)
}
throw new NetworkError('Request failed', error)
}
)
Query Client Configuration
const queryClient = new QueryClient({
defaultOptions: {
queries: {
staleTime: 60_000,
gcTime: 5 * 60_000,
retry: 2,
retryDelay: attemptIndex => Math.min(1000 * 2 ** attemptIndex, 30_000),
refetchOnWindowFocus: false,
},
mutations: { retry: 1 },
},
})
Class Merging Utility
// lib/utils.ts - Always use cn() for Tailwind classes
import { clsx, type ClassValue } from 'clsx'
import { twMerge } from 'tailwind-merge'
export function cn(...inputs: ClassValue[]) {
return twMerge(clsx(inputs))
}
Theme Provider Pattern
const ThemeContext = createContext<ThemeContextType | undefined>(undefined)
export function useTheme() {
const context = useContext(ThemeContext)
if (!context) throw new Error('useTheme must be used within ThemeProvider')
return context
}
// Apply via Tailwind dark mode class strategy
useEffect(() => {
document.documentElement.classList.toggle('dark', theme === 'dark')
}, [theme])
Component Conventions
Feature Components
- Located in
components/{Feature}/directories - One component per file, named after the component
- Co-located with feature-specific types and utilities
UI Primitives
- Located in
components/ui/ - Wrap Radix UI primitives with Tailwind styling
- Use
forwardReffor ref forwarding - Set
displayNamefor DevTools
Icons
- Located in
assets/icons/ - Functional components accepting SVG props
- Use
lucide-reactfor standard icons
Testing
// Use MSW for API mocking
import { server } from '@/test/mocks/server'
import { renderWithProviders } from '@/test/utils'
beforeAll(() => server.listen())
afterEach(() => server.resetHandlers())
afterAll(() => server.close())
test('renders with query data', async () => {
renderWithProviders(<MyComponent />)
await screen.findByText('Expected text')
})
Checklist Summary
| Category | Critical | High | Medium | Low |
|---|---|---|---|---|
| TanStack Query | 3 | 4 | 3 | 2 |
| TailwindCSS | 2 | 3 | 4 | 2 |
| Radix UI | 3 | 3 | 2 | 1 |
| Performance | 2 | 4 | 3 | 2 |
When not to use it
- →Non-React or legacy React class-component projects
- →Small scripts not requiring structured design systems
Prerequisites
Limitations
- →Restricted to the specific stack defined (Radix, Tailwind, TanStack)
- →Overrides personal preference for component naming or location
How it compares
It enforces strict project-wide consistency rather than allowing arbitrary component organization or style choices.
Compared to similar skills
designer-skills side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| designer-skills (this skill) | 6 | 7mo | Review | Intermediate |
| web-artifacts-builder | 49 | 3mo | Review | Intermediate |
| frontend-ui-dark-ts | 4 | 3mo | Review | Intermediate |
| ui-ux-expert-skill | 91 | 9mo | Review | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by llama-farm
View all by llama-farm →You might also like
web-artifacts-builder
anthropics
Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.
frontend-ui-dark-ts
microsoft
Build dark-themed React applications using Tailwind CSS with custom theming, glassmorphism effects, and Framer Motion animations. Use when creating dashboards, admin panels, or data-rich interfaces with a refined dark aesthetic.
ui-ux-expert-skill
fercracix33
Technical workflow for implementing accessible React user interfaces with shadcn/ui, Tailwind CSS, and TanStack Query. Includes 6-phase process with mandatory Style Guide compliance, Context7 best practices consultation, Chrome DevTools validation, and WCAG 2.1 AA accessibility standards. Use after Test Agent, Implementer, and Supabase agents complete their work.
react-admin-panel
Survikrowa
React admin panel using Vite, TanStack Router, TanStack Query, and Tailwind CSS. Use this skill when working with the web admin interface in apps/web, creating admin features, forms, or data tables.
react-skills
alexander-kastil
Build clean, accessible React components with TypeScript and Fluent UI. Use when creating new React components, converting designs to code, building reusable UI patterns, optimizing component performance, implementing accessibility guidelines, or structuring React projects. Supports component scaffo
frontend-ui-engineering
PM4-SmartFinance
Builds production-quality React 19 UIs that match SmartFinance conventions. Use when creating or modifying components, layouts, forms, charts, or any user-facing interface. Use when accessibility, semantic HTML, or design-token compliance is at risk.