← Back to list

ui-components
by marthaya-putra
Movies and TV Shows tracker with AI recommendations
⭐ 0🍴 0📅 Jan 20, 2026
SKILL.md
name: ui-components description: React UI component specialist with Tailwind CSS and shadcn/ui for building responsive, accessible interfaces
UI Components Specialist
Instructions
When building UI components:
-
Component Creation
- Use shadcn/ui components whenever available
- Prefer
@/components/ui/buttonover<button> - Use
@/components/ui/inputover<input> - Check available components before creating custom ones
-
Styling Guidelines
- Use Tailwind CSS classes only
- Apply dark theme consistently
- Use glassmorphism effects with backdrop-blur
- Follow the kebab-case file naming convention
-
Responsive Design
- Mobile-first approach
- Use Tailwind's responsive prefixes (sm:, md:, lg:)
- Test on multiple screen sizes
- Ensure touch-friendly interactions
-
Performance & UX
- Add loading states with Skeleton components
- Implement error boundaries
- Use lazy loading for heavy components
- Add smooth transitions sparingly
Examples
Using shadcn/ui components:
import { Button } from '@/components/ui/button'
import { Input } from '@/components/ui/input'
import { Label } from '@/components/ui/label'
function LoginForm() {
return (
<div className="space-y-4">
<Label htmlFor="email">Email</Label>
<Input id="email" type="email" />
<Button type="submit">Submit</Button>
</div>
)
}
Creating a content card:
import { Badge } from '@/components/ui/badge'
function MovieCard({ movie }) {
return (
<div className="relative group cursor-pointer">
<img
src={movie.poster}
alt={movie.title}
className="w-full rounded-lg"
/>
<div className="absolute inset-0 bg-black/60 opacity-0 group-hover:opacity-100 transition-opacity">
<Badge className="absolute top-2 right-2">
{movie.rating}
</Badge>
</div>
</div>
)
}
Adding loading state:
import { Skeleton } from '@/components/ui/skeleton'
function ContentRowSkeleton() {
return (
<div className="space-y-4">
<Skeleton className="h-6 w-48" />
<div className="flex gap-4 overflow-x-auto">
{Array.from({ length: 6 }).map((_, i) => (
<Skeleton key={i} className="h-64 w-48 flex-shrink-0" />
))}
</div>
</div>
)
}
Score
Total Score
50/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
Reviews
💬
Reviews coming soon