Dev Tool UI Skill
Development Workflow
Follow this workflow exactly as a professional developer would:
1. Requirements & Planning
- Clarify the UI purpose, user needs, and feature set
- Identify which components are needed (forms, tables, modals, dashboards, etc.)
- Define the information hierarchy and user flow
- Gather any specific design references or brand guidelines
2. Project Setup
- Initialize Next.js project with TypeScript
- Install dependencies:
npm install tailwindcss shadcn-ui lucide-react framer-motion
- Configure Tailwind CSS for dark mode (
class strategy)
- Set up
next.config.js and tsconfig.json
- Create folder structure:
app/, components/, lib/, hooks/
3. Design System Implementation
- Create
components/ui/ for shadcn/ui components
- Build
lib/cn.ts for class name merging (clsx + tailwind-merge)
- Define theme tokens in
tailwind.config.ts (colors, spacing, typography)
- Create reusable component patterns and layouts
4. Component Development
- Start with base components first: buttons, inputs, cards, badges
- Build container layouts: grids, flex layouts, sections
- Compose feature components: forms, tables, navigation, modals
- Add interactive elements: animations, transitions, hover states
- Implement accessibility: ARIA labels, semantic HTML, keyboard nav
5. Testing & Refinement
- Test responsive behavior at all breakpoints (mobile, tablet, desktop)
- Verify accessibility with keyboard navigation and screen readers
- Check performance (Lighthouse, animation smoothness)
- Refine based on user feedback and usability testing
6. Documentation & Handoff
- Document component APIs (props, usage examples)
- Create Storybook stories or component showcase
- Provide implementation guidelines for other developers
Tech Stack Rules
- Framework: Next.js App Router with TypeScript
- Styling: Tailwind CSS
- Component Library: shadcn/ui (built on Radix primitives)
- Icons: lucide-react
- Animation: framer-motion
- Utilities: clsx, tailwind-merge for class composition
Design System
Color & Atmosphere
- Dark Mode First: Default background
bg-zinc-950
- Borders: Thin, subtle
border-zinc-800 or border-zinc-700
- Glassmorphic Cards:
bg-zinc-900/40 backdrop-blur-md border border-zinc-800 rounded-xl
- Ambient Effects: Radial background glows using CSS gradients for visual depth
- Accent Colors: Use white/neutral for primary actions, subtle grays for secondary elements
Typography
- Font Pairing: Inter/Geist Sans for UI, JetBrains Mono/Fira Code for code
- Hierarchy: Use size and weight to establish clear visual hierarchy
- Contrast: Maintain WCAG AA+ contrast ratios (4.5:1 minimum for text)
- Line Height: 1.5-1.6 for body text, tighter for headings
Spacing & Layout
- Spacing Scale: Use Tailwind's standard scale (4px, 8px, 12px, 16px, 24px, 32px)
- Grid System: 12-column grid for larger layouts, flex for flexible components
- Padding: Consistent internal spacing within components
- Gaps: Use gap utility for spacing between flex/grid children
Component Specifications
Buttons
// Primary: High contrast, action-oriented
bg-white text-black hover:bg-gray-100 active:bg-gray-200
focus:outline-none focus:ring-2 focus:ring-white focus:ring-offset-2 focus:ring-offset-zinc-950
// Secondary: Subtle, less prominent
bg-zinc-800 text-white hover:bg-zinc-700 active:bg-zinc-600
focus:outline-none focus:ring-2 focus:ring-zinc-500
// Sizes: sm (px-3 py-1.5), md (px-4 py-2), lg (px-6 py-3)
// States: disabled (opacity-50 cursor-not-allowed), loading (spinner icon)
Inputs & Forms
// Text inputs, selects, textareas
bg-zinc-900 border border-zinc-800 text-white placeholder-zinc-500
focus:border-zinc-600 focus:ring-2 focus:ring-white/20 focus:outline-none
rounded-lg px-3 py-2
// Labels: text-sm font-medium text-zinc-200
// Error states: border-red-500 focus:ring-red-500/20
// Success states: border-green-500/50 focus:ring-green-500/20
Cards & Containers
// Standard card
bg-zinc-900/40 backdrop-blur-md border border-zinc-800 rounded-xl p-6
// Elevated card (for emphasis)
bg-zinc-900/60 border border-zinc-700 shadow-lg rounded-xl p-6
// Hover effects: hover:border-zinc-700 hover:shadow-xl transition-all duration-200
Layout Patterns
- Sidebar Navigation: Fixed or collapsible, vertical stacking
- Top Bar: Header with logo, nav, user menu
- Dashboard Grid: Responsive card grid (1-2-3 columns by breakpoint)
- Modal Overlays: Dark backdrop with centered/stacked dialog
- Data Tables: Striped rows, sticky headers, action menus
Animation & Motion
- Framer Motion: Use for complex animations, entrance effects, interactions
- Tailwind Transitions: Default for simple hover/focus state transitions (
transition-all duration-200)
- Performance: Use
will-change, hardware acceleration, reduce-motion respect
- Entrance Animations: Subtle fade-in, slide-up for page loads (150-300ms)
- Micro-interactions: Quick feedback for clicks (scale, color change, icon swap)
- Respect Preferences: Always check
prefers-reduced-motion media query
Accessibility Standards
- Semantic HTML: Use
<button>, <input>, <nav>, <main>, <section> correctly
- ARIA Labels: Add
aria-label, aria-describedby where needed
- Keyboard Navigation: Tab order, focus visible, keyboard shortcuts documented
- Color Contrast: Minimum 4.5:1 for text, 3:1 for UI components
- Images & Icons: Provide alt text or aria-labels
- Forms: Label all inputs, error messages linked with
aria-describedby
- Focus Management: Focus trap in modals, focus restoration on close
Output Expectations
- Production-Ready: All components are fully functional, tested, and ready for production
- Responsive: Works flawlessly on mobile (320px), tablet (768px), desktop (1440px+)
- Type-Safe: Full TypeScript coverage, no
any types, proper prop interfaces
- Performance: Optimized re-renders, lazy loading where appropriate, bundle-size conscious
- Code Quality: Clean, well-organized, following React/Next.js best practices
- Documentation: Code comments, prop descriptions, usage examples
- Testing Ready: Structured for unit tests, integration tests, and visual regression testing
- Maintainability: Reusable patterns, consistent file structure, easy to extend
File Structure Template
project/
├── app/
│ ├── layout.tsx
│ ├── page.tsx
│ └── (routes)/
├── components/
│ ├── ui/ # shadcn/ui components
│ ├── layout/ # Layout components (header, sidebar, etc.)
│ ├── sections/ # Page sections (hero, features, etc.)
│ └── [FeatureName]/ # Feature-specific components
├── lib/
│ ├── cn.ts # Class name utility
│ └── constants.ts # App constants
├── hooks/ # Custom React hooks
├── public/ # Static assets
├── styles/
│ └── globals.css
├── tailwind.config.ts
├── tsconfig.json
└── next.config.js
Common Pitfalls to Avoid
- ❌ Not planning layout before coding (start with wireframe/mockup)
- ❌ Hardcoding colors instead of using Tailwind classes
- ❌ Ignoring mobile-first responsive design
- ❌ Missing focus states for keyboard users
- ❌ Over-animating, causing performance issues
- ❌ Inconsistent spacing and sizing throughout the UI
- ❌ Not testing actual user interactions and edge cases
- ❌ Skipping accessibility features and ARIA attributes
Best Practices Checklist
✅ Plan before coding (user flows, component inventory)
✅ Use Tailwind classes consistently, no inline styles
✅ Implement dark mode from the start, not as an afterthought
✅ Test on real devices and browsers, not just desktop
✅ Use relative sizing (rem/em) for better scalability
✅ Create component variations using Tailwind's modifiers
✅ Keep components small and single-responsibility
✅ Document component props with TypeDoc comments
✅ Use proper semantic HTML
✅ Optimize bundle size and performance
1---2name: dev-tool-ui3description: Generates clean, modern, dark-mode-first developer tool and SaaS interfaces inspired by bypass.tools using Next.js, Tailwind CSS, shadcn/ui, Lucide Icons, and Framer Motion. Trigger automatically whenever creating web pages, dashboards, landing sections, or React UI components.4---56# Dev Tool UI Skill78## Development Workflow910Follow this workflow exactly as a professional developer would:1112### 1. Requirements & Planning13- Clarify the UI purpose, user needs, and feature set14- Identify which components are needed (forms, tables, modals, dashboards, etc.)15- Define the information hierarchy and user flow16- Gather any specific design references or brand guidelines1718### 2. Project Setup19- Initialize Next.js project with TypeScript20- Install dependencies: `npm install tailwindcss shadcn-ui lucide-react framer-motion`21- Configure Tailwind CSS for dark mode (`class` strategy)22- Set up `next.config.js` and `tsconfig.json`23- Create folder structure: `app/`, `components/`, `lib/`, `hooks/`2425### 3. Design System Implementation26- Create `components/ui/` for shadcn/ui components27- Build `lib/cn.ts` for class name merging (clsx + tailwind-merge)28- Define theme tokens in `tailwind.config.ts` (colors, spacing, typography)29- Create reusable component patterns and layouts3031### 4. Component Development32- **Start with base components first**: buttons, inputs, cards, badges33- **Build container layouts**: grids, flex layouts, sections34- **Compose feature components**: forms, tables, navigation, modals35- **Add interactive elements**: animations, transitions, hover states36- **Implement accessibility**: ARIA labels, semantic HTML, keyboard nav3738### 5. Testing & Refinement39- Test responsive behavior at all breakpoints (mobile, tablet, desktop)40- Verify accessibility with keyboard navigation and screen readers41- Check performance (Lighthouse, animation smoothness)42- Refine based on user feedback and usability testing4344### 6. Documentation & Handoff45- Document component APIs (props, usage examples)46- Create Storybook stories or component showcase47- Provide implementation guidelines for other developers4849## Tech Stack Rules5051- **Framework**: Next.js App Router with TypeScript52- **Styling**: Tailwind CSS53- **Component Library**: shadcn/ui (built on Radix primitives)54- **Icons**: lucide-react55- **Animation**: framer-motion56- **Utilities**: clsx, tailwind-merge for class composition5758## Design System5960### Color & Atmosphere61- **Dark Mode First**: Default background `bg-zinc-950`62- **Borders**: Thin, subtle `border-zinc-800` or `border-zinc-700`63- **Glassmorphic Cards**: `bg-zinc-900/40 backdrop-blur-md border border-zinc-800 rounded-xl`64- **Ambient Effects**: Radial background glows using CSS gradients for visual depth65- **Accent Colors**: Use white/neutral for primary actions, subtle grays for secondary elements6667### Typography68- **Font Pairing**: Inter/Geist Sans for UI, JetBrains Mono/Fira Code for code69- **Hierarchy**: Use size and weight to establish clear visual hierarchy70- **Contrast**: Maintain WCAG AA+ contrast ratios (4.5:1 minimum for text)71- **Line Height**: 1.5-1.6 for body text, tighter for headings7273### Spacing & Layout74- **Spacing Scale**: Use Tailwind's standard scale (4px, 8px, 12px, 16px, 24px, 32px)75- **Grid System**: 12-column grid for larger layouts, flex for flexible components76- **Padding**: Consistent internal spacing within components77- **Gaps**: Use gap utility for spacing between flex/grid children7879## Component Specifications8081### Buttons82```typescript83// Primary: High contrast, action-oriented84bg-white text-black hover:bg-gray-100 active:bg-gray-20085focus:outline-none focus:ring-2 focus:ring-white focus:ring-offset-2 focus:ring-offset-zinc-9508687// Secondary: Subtle, less prominent88bg-zinc-800 text-white hover:bg-zinc-700 active:bg-zinc-60089focus:outline-none focus:ring-2 focus:ring-zinc-5009091// Sizes: sm (px-3 py-1.5), md (px-4 py-2), lg (px-6 py-3)92// States: disabled (opacity-50 cursor-not-allowed), loading (spinner icon)93```9495### Inputs & Forms96```typescript97// Text inputs, selects, textareas98bg-zinc-900 border border-zinc-800 text-white placeholder-zinc-50099focus:border-zinc-600 focus:ring-2 focus:ring-white/20 focus:outline-none100rounded-lg px-3 py-2101102// Labels: text-sm font-medium text-zinc-200103// Error states: border-red-500 focus:ring-red-500/20104// Success states: border-green-500/50 focus:ring-green-500/20105```106107### Cards & Containers108```typescript109// Standard card110bg-zinc-900/40 backdrop-blur-md border border-zinc-800 rounded-xl p-6111112// Elevated card (for emphasis)113bg-zinc-900/60 border border-zinc-700 shadow-lg rounded-xl p-6114115// Hover effects: hover:border-zinc-700 hover:shadow-xl transition-all duration-200116```117118### Layout Patterns119- **Sidebar Navigation**: Fixed or collapsible, vertical stacking120- **Top Bar**: Header with logo, nav, user menu121- **Dashboard Grid**: Responsive card grid (1-2-3 columns by breakpoint)122- **Modal Overlays**: Dark backdrop with centered/stacked dialog123- **Data Tables**: Striped rows, sticky headers, action menus124125## Animation & Motion126127- **Framer Motion**: Use for complex animations, entrance effects, interactions128- **Tailwind Transitions**: Default for simple hover/focus state transitions (`transition-all duration-200`)129- **Performance**: Use `will-change`, hardware acceleration, reduce-motion respect130- **Entrance Animations**: Subtle fade-in, slide-up for page loads (150-300ms)131- **Micro-interactions**: Quick feedback for clicks (scale, color change, icon swap)132- **Respect Preferences**: Always check `prefers-reduced-motion` media query133134## Accessibility Standards135136- **Semantic HTML**: Use `<button>`, `<input>`, `<nav>`, `<main>`, `<section>` correctly137- **ARIA Labels**: Add `aria-label`, `aria-describedby` where needed138- **Keyboard Navigation**: Tab order, focus visible, keyboard shortcuts documented139- **Color Contrast**: Minimum 4.5:1 for text, 3:1 for UI components140- **Images & Icons**: Provide alt text or aria-labels141- **Forms**: Label all inputs, error messages linked with `aria-describedby`142- **Focus Management**: Focus trap in modals, focus restoration on close143144## Output Expectations145146- **Production-Ready**: All components are fully functional, tested, and ready for production147- **Responsive**: Works flawlessly on mobile (320px), tablet (768px), desktop (1440px+)148- **Type-Safe**: Full TypeScript coverage, no `any` types, proper prop interfaces149- **Performance**: Optimized re-renders, lazy loading where appropriate, bundle-size conscious150- **Code Quality**: Clean, well-organized, following React/Next.js best practices151- **Documentation**: Code comments, prop descriptions, usage examples152- **Testing Ready**: Structured for unit tests, integration tests, and visual regression testing153- **Maintainability**: Reusable patterns, consistent file structure, easy to extend154155## File Structure Template156157```158project/159├── app/160│ ├── layout.tsx161│ ├── page.tsx162│ └── (routes)/163├── components/164│ ├── ui/ # shadcn/ui components165│ ├── layout/ # Layout components (header, sidebar, etc.)166│ ├── sections/ # Page sections (hero, features, etc.)167│ └── [FeatureName]/ # Feature-specific components168├── lib/169│ ├── cn.ts # Class name utility170│ └── constants.ts # App constants171├── hooks/ # Custom React hooks172├── public/ # Static assets173├── styles/174│ └── globals.css175├── tailwind.config.ts176├── tsconfig.json177└── next.config.js178```179180## Common Pitfalls to Avoid181182- ❌ Not planning layout before coding (start with wireframe/mockup)183- ❌ Hardcoding colors instead of using Tailwind classes184- ❌ Ignoring mobile-first responsive design185- ❌ Missing focus states for keyboard users186- ❌ Over-animating, causing performance issues187- ❌ Inconsistent spacing and sizing throughout the UI188- ❌ Not testing actual user interactions and edge cases189- ❌ Skipping accessibility features and ARIA attributes190191## Best Practices Checklist192193✅ Plan before coding (user flows, component inventory)194✅ Use Tailwind classes consistently, no inline styles195✅ Implement dark mode from the start, not as an afterthought196✅ Test on real devices and browsers, not just desktop197✅ Use relative sizing (rem/em) for better scalability198✅ Create component variations using Tailwind's modifiers199✅ Keep components small and single-responsibility200✅ Document component props with TypeDoc comments201✅ Use proper semantic HTML202✅ Optimize bundle size and performance