← Back to list

frontend-design
by Async-IO
MCP/A2A/Rest Fitness Intelligence platform.
⭐ 16🍴 2📅 Jan 24, 2026
SKILL.md
name: frontend-design description: Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. user-invocable: true
Pierre Frontend Design Skill
When generating UI components or modifying frontend code, follow these principles.
Design System Quick Reference
Brand Colors (use these, never raw hex)
pierre-violet: #7C3AED → Primary actions, intelligence, AI
pierre-cyan: #06B6D4 → Data flow, connectivity
gradient-pierre → Violet to Cyan (hero elements)
Three Pillars (semantic):
pierre-activity: #10B981 → Fitness, movement, energy
pierre-nutrition: #F59E0B → Food, fuel, nourishment
pierre-recovery: #6366F1 → Rest, sleep, restoration
Typography
- Headings:
text-pierre-gray-900 font-semibold - Body:
text-pierre-gray-700 - Secondary:
text-pierre-gray-500 - Code:
font-mono text-sm bg-pierre-gray-100 px-2 py-1 rounded
Spacing Scale
Use only: 1, 2, 3, 4, 5, 6, 8, 10, 12, 16, 20, 24 (Tailwind units)
Component Requirements
ALWAYS Use Design System Components
| Need | Use | Import from |
|---|---|---|
| Clickable action | <Button variant="..."> | ./ui |
| Content container | <Card> | ./ui |
| Status indicator | <Badge variant="..."> | ./ui |
| Form input | <Input> or .input-field class | ./ui |
| Overlay | <Modal> | ./ui |
| Confirmation | <ConfirmDialog> | ./ui |
| Loading | .pierre-spinner class | CSS |
Button Variants
primary- Main actions (purple)gradient- Hero/CTA (violet→cyan)secondary- Secondary actions (white/gray)danger- Destructive actions (red)success- Positive actions (green)outline- Tertiary actions (transparent)
Badge Variants
success- Active, connected, healthywarning- Pending, attention needederror- Failed, disconnected, errorinfo- Processing, informationaltrial,starter,professional,enterprise- API tiers
Generation Rules
DO
- Import components from
./uibarrel export - Use
pierre-*color classes - Apply
pierre-spinnerfor all loading states - Use
Cardfor any elevated container - Use
Badgefor any status text - Follow spacing scale strictly
NEVER
- Use raw
<button>elements - Use raw
<div className="border...">for card-like content - Create custom spinners
- Use raw hex colors like
bg-[#7C3AED] - Use non-pierre colors like
text-purple-600 - Mix spacing values outside the scale
Code Patterns
Standard Component Structure
import { Button, Card, CardHeader, Badge } from './ui';
export const FeatureComponent: React.FC<Props> = ({ data }) => {
return (
<Card>
<CardHeader title="Title" subtitle="Description" />
<div className="space-y-4">
{/* Content */}
</div>
<div className="flex justify-end gap-2 mt-6">
<Button variant="secondary">Cancel</Button>
<Button variant="primary">Save</Button>
</div>
</Card>
);
};
List Item Pattern
{items.map((item) => (
<Card key={item.id} className="p-4">
<div className="flex items-start justify-between">
<div className="flex-1">
<h3 className="text-lg font-medium text-pierre-gray-900">{item.name}</h3>
<Badge variant={item.isActive ? 'success' : 'error'}>
{item.isActive ? 'Active' : 'Inactive'}
</Badge>
</div>
<Button variant="secondary" size="sm">Edit</Button>
</div>
</Card>
))}
Loading State
{isLoading ? (
<div className="flex items-center justify-center h-64">
<div className="pierre-spinner" />
</div>
) : (
<Content />
)}
Empty State
<div className="text-center py-12 text-pierre-gray-500">
<p className="text-lg mb-2">No items yet</p>
<p className="text-sm">Create your first item to get started</p>
<Button variant="primary" className="mt-4">Create Item</Button>
</div>
Accessibility Requirements
- Focus states: Use
.focus-ringutility - Color contrast: 4.5:1 minimum for text
- Touch targets: 44x44px minimum
- Keyboard navigation: All interactive elements must be focusable
- ARIA labels: Required for icon-only buttons
After Writing UI Code
Always invoke the design-system-guardian agent to validate compliance.
Score
Total Score
65/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
✓最近の活動
1ヶ月以内に更新
+10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
✓タグ
1つ以上のタグが設定されている
+5
Reviews
💬
Reviews coming soon

