frontend-design
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
Frontend Design
Build polished, native-feeling interfaces for Raamattu Nyt using shadcn/ui, Tailwind CSS, and React.
Tech Stack
- Components: shadcn/ui (Radix primitives)
- Styling: Tailwind CSS 3.4 with CSS variables
- Icons: Lucide React
- State: React Query + React Hook Form + Zod
Quick Patterns
Responsive Layout
// Mobile-first with desktop override
<div className="flex flex-col md:flex-row gap-4">
<div className="w-full md:w-1/3">Sidebar</div>
<div className="flex-1">Content</div>
</div>
Mobile Bottom Navigation
<nav className="fixed bottom-0 left-0 right-0 z-50 bg-background/95 backdrop-blur-md border-t md:hidden safe-area-bottom">
<div className="flex items-center justify-around h-16">
{/* 44px+ touch targets */}
</div>
</nav>
Sheet for Mobile, Dialog for Desktop
const isMobile = useIsMobile();
return isMobile ? (
<Sheet>
<SheetContent side="bottom" className="h-[85vh]">
{content}
</SheetContent>
</Sheet>
) : (
<Dialog>
<DialogContent className="max-w-lg">
{content}
</DialogContent>
</Dialog>
);
Touch-Optimized Button
<Button
className="h-12 px-6 active:scale-95 transition-transform"
variant="default"
>
Touch Me
</Button>
Mobile-Native Feel Checklist
- Bottom nav visible only on mobile (
md:hidden) - Touch targets min 44px (h-11/h-12)
-
active:scale-95on tappable elements - Safe area padding (
safe-area-bottomclass) - Backdrop blur on overlays (
bg-background/95 backdrop-blur-md) - Swipe gestures where appropriate
- No hover-only interactions on mobile
Design Tokens
/* Use semantic colors */
--background, --foreground
--primary, --primary-foreground
--muted, --muted-foreground
--destructive
--border, --ring
/* Border radius */
--radius: 0.5rem (8px)
When Building UI
- Read image inputs - Analyze screenshots/mockups for layout and style
-
Mobile-first - Start with mobile, add
md:breakpoint for desktop -
Use shadcn - Import from
@ui/not raw Radix - Native feel - Add touch feedback, proper spacing, animations
- Accessibility - ARIA labels, focus states, keyboard nav
References
- Component patterns: See references/components.md
- Mobile patterns: See references/mobile.md
- Forms & validation: See references/forms.md
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-01-26
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!