← スキル一覧に戻る

design-system
by Atemndobs
⭐ 0🍴 0📅 2026年1月16日
SKILL.md
name: Design System description: Billboard-inspired design patterns for implementing UI components with video grids, chart layouts, and editorial typography
Design System Skill
Guidance for implementing Billboard-inspired UI patterns in the Fireside Tribe project.
Episodes/Video Grid Layout
Model after Billboard Video Page:
Featured Video Hero
<section className="relative w-full aspect-video max-h-[70vh]">
<Image src={episode.thumbnail} fill className="object-cover" />
<div className="absolute inset-0 bg-gradient-to-t from-black/90 via-black/50 to-transparent" />
<div className="absolute bottom-0 p-8 space-y-4">
<Badge>Featured</Badge>
<h1 className="text-4xl font-bold">{episode.title}</h1>
<p className="text-gray-300 max-w-2xl">{episode.description}</p>
</div>
</section>
Video Card Grid
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
{episodes.map((ep) => (
<VideoCard key={ep._id} episode={ep} />
))}
</div>
Video Card Component
<article className="group cursor-pointer">
<div className="relative aspect-video rounded-lg overflow-hidden">
<Image src={ep.thumbnail} fill className="object-cover transition-transform group-hover:scale-105" />
<div className="absolute bottom-2 right-2 bg-black/80 px-2 py-1 text-sm rounded">
{ep.duration}
</div>
</div>
<div className="mt-3 space-y-1">
<h3 className="font-semibold line-clamp-2 group-hover:text-red-500 transition-colors">
{ep.title}
</h3>
<p className="text-sm text-gray-400">{ep.publishedAt}</p>
</div>
</article>
Chart-Style Rankings
For featuring top episodes or artists:
<ol className="space-y-4">
{items.map((item, index) => (
<li key={item._id} className="flex items-center gap-4 p-4 bg-zinc-900 rounded-lg">
<span className="text-3xl font-bold text-gray-500 w-12 text-center">
{index + 1}
</span>
<Image src={item.image} width={64} height={64} className="rounded" />
<div className="flex-1">
<h4 className="font-semibold">{item.title}</h4>
<p className="text-sm text-gray-400">{item.subtitle}</p>
</div>
<div className="flex gap-2">
<Badge variant="outline">Peak: #{item.peak}</Badge>
<Badge variant="outline">Weeks: {item.weeks}</Badge>
</div>
</li>
))}
</ol>
Section Headers
Billboard-style section headers with "See All" links:
<div className="flex items-center justify-between mb-6">
<h2 className="text-2xl font-bold uppercase tracking-wide">{title}</h2>
<Link href={seeAllHref} className="text-red-500 hover:underline text-sm font-medium">
See All →
</Link>
</div>
Color Tokens
:root {
--background: #0a0a0a;
--surface: #171717;
--surface-elevated: #262626;
--accent: #ef4444;
--text-primary: #ffffff;
--text-secondary: #a3a3a3;
--text-muted: #525252;
}
Responsive Breakpoints
Follow TailwindCSS defaults:
sm: 640px (mobile landscape)md: 768px (tablet)lg: 1024px (desktop)xl: 1280px (wide desktop)
Motion Guidelines
Use Framer Motion with subtle, performant animations:
const cardVariants = {
hidden: { opacity: 0, y: 20 },
visible: { opacity: 1, y: 0, transition: { duration: 0.3 } },
};
<motion.div variants={cardVariants} initial="hidden" animate="visible">
{/* content */}
</motion.div>
スコア
総合スコア
50/100
リポジトリの品質指標に基づく評価
✓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
レビュー
💬
レビュー機能は近日公開予定です