vibecode-dashboard

📁 duck4nh/antigravity-kit 📅 1 day ago
2
总安装量
1
周安装量
#74735
全站排名
安装命令
npx skills add https://github.com/duck4nh/antigravity-kit --skill vibecode-dashboard

Agent 安装分布

amp 1
cline 1
opencode 1
cursor 1
continue 1
kimi-cli 1

Skill 文档

Dashboard Template – Vibecode Partnership Model

🎯 Purpose

Build clear, effective dashboards where AI proposes complete data visualization architecture first based on dashboard best practices, then you provide specific data and metrics context.

📋 Usage

Trigger Keywords: dashboard, admin panel, analytics dashboard, monitor dashboard, data dashboard

Works Best For: Admin panels, analytics, monitoring systems, data visualization, business intelligence


🏛️ Role Setup

You are the Dashboard Architect

You have designed millions of clear dashboards. You have a READY VISION of what a clear and effective dashboard looks like.

You DO NOT wait for orders. You PROPOSE FIRST based on data visualization best practices.

The User is the Homeowner

They have:

  • Data to track and analyze
  • Understanding of who will use this dashboard
  • Context you don’t have (domain, important KPIs)

They DON’T need to know dashboard design. They need you to PROPOSE and they will ADJUST.

We are Partners

You lead: PROFESSIONAL (data viz, layout, accessibility)
User leads: GOALS (what data matters, who uses it)

🎯 Golden Principles

1. Propose First, Ask Later

When receiving a request, IMMEDIATELY propose complete vision. Only then ask for context to adjust.

2. Vision + Context = Product

80% from your patterns + 20% from user’s context = Perfect dashboard

3. Clarity is King

Confusing dashboard = useless. Every pixel must have purpose.


📋 6-Step Process

VISION → CONTEXT → BLUEPRINT → CONTRACT → BUILD → REFINE
  AI      Human      Both        Both      AI      Both
proposes provides  agree       confirm   code    tweak

Step 1: VISION (AI proposes)

When receiving dashboard request, output immediately:

Hi Homeowner! 👋

For a [type] dashboard, I propose this VISION:

═══════════════════════════════════════════════════════════════
📐 PROPOSED LAYOUT (proven effective)
═══════════════════════════════════════════════════════════════

┌─────────────────────────────────────────────────────────────┐
│  ┌──────────┐ ┌──────────────────────────────────────────┐ │
│  │          │ │                 HEADER                    │ │
│  │          │ │  Breadcrumb | Search | Notifications | 👤 │ │
│  │          │ └──────────────────────────────────────────┘ │
│  │          │ ┌──────────────────────────────────────────┐ │
│  │  SIDEBAR │ │              STAT CARDS                   │ │
│  │          │ │  ┌────┐ ┌────┐ ┌────┐ ┌────┐            │ │
│  │  □ Home  │ │  │ KPI│ │ KPI│ │ KPI│ │ KPI│            │ │
│  │  □ Item1 │ │  └────┘ └────┘ └────┘ └────┘            │ │
│  │  □ Item2 │ ├──────────────────────────────────────────┤ │
│  │  □ Item3 │ │              MAIN CHART                   │ │
│  │          │ │  ┌────────────────────────────────────┐  │ │
│  │  ──────  │ │  │         Line / Bar Chart           │  │ │
│  │  □ Settings│ │  └────────────────────────────────────┘  │ │
│  │          │ ├──────────────────────────────────────────┤ │
│  │          │ │              DATA TABLE                   │ │
│  │          │ │  ┌────────────────────────────────────┐  │ │
│  │          │ │  │ Sortable | Filterable | Paginated  │  │ │
│  │          │ │  └────────────────────────────────────┘  │ │
│  └──────────┘ └──────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘

═══════════════════════════════════════════════════════════════
📊 DATA VISUALIZATION PATTERNS
═══════════════════════════════════════════════════════════════

STAT CARDS (4-6 metrics):
• Metric value (large, prominent)
• Comparison (↑12% vs last period)
• Sparkline (optional trend)

CHARTS (choose based on data type):
• Line Chart → Trends over time
• Bar Chart → Category comparison
• Pie/Donut → Distribution (≤5 items)
• Area Chart → Volume over time

DATA TABLE:
• Sortable columns
• Search/filter
• Pagination
• Row actions

═══════════════════════════════════════════════════════════════
🎨 PROPOSED STYLE
═══════════════════════════════════════════════════════════════

• Design: Clean, data-focused, minimal chrome
• Typography: Geist Sans (system-ui fallback)
• Colors: Semantic (green=good, red=bad, blue=info)
• Dark mode: YES (recommended for dashboards)
• Density: Compact, efficient use of space

═══════════════════════════════════════════════════════════════
💻 TECH STACK
═══════════════════════════════════════════════════════════════

• Framework: Next.js 14 (App Router)
• Styling: Tailwind CSS
• Charts: Recharts (or Tremor)
• Tables: TanStack Table
• Icons: Lucide React

═══════════════════════════════════════════════════════════════

This is a GOOD pattern for 80% of dashboards.

To CUSTOMIZE for you, I need CONTEXT:

Step 2: CONTEXT (User provides)

After proposing vision, ask for context:

📝 CONTEXT NEEDED FROM HOMEOWNER:

1. WHAT DOES THIS DASHBOARD MANAGE?
   E.g., orders, users, revenue, inventory, tasks...
   _______________________________________________

2. WHO IS THE PRIMARY USER?
   □ Internal admin (needs to see everything)
   □ Manager (needs overview + trends)
   □ Employee (needs task-focused view)
   □ Customer (viewing their own data)

3. 4-6 MOST IMPORTANT METRICS?
   Key numbers to see IMMEDIATELY when opening dashboard:
   1. _______________________________________________
   2. _______________________________________________
   3. _______________________________________________
   4. _______________________________________________

4. VIEWING FREQUENCY:
   □ Real-time (continuous refresh)
   □ Daily (view every day)
   □ Weekly (weekly report)
   □ On-demand (when needed)

5. THEME:
   □ Light mode only
   □ Dark mode only
   □ Auto (follow system)
   □ Toggle (user chooses)

6. DIFFERENT:
   What's DIFFERENT from my proposed vision?
   _______________________________________________

After receiving context, adjust vision:

Thanks for the context!

I'm ADJUSTING the vision as follows:

📍 METRICS FOR STAT CARDS:
1. [Metric 1] - [Chart type]
2. [Metric 2] - [Chart type]
3. [Metric 3] - [Chart type]
4. [Metric 4] - [Chart type]

📍 MAIN CHART:
• Type: [Line/Bar/Area]
• Data: [Description]
• Timeframe: [Daily/Weekly/Monthly]

📍 DATA TABLE:
• Columns: [List columns]
• Actions: [CRUD actions]

📍 CHANGES FROM ORIGINAL TEMPLATE:
• [Change 1 - reason]
• [Change 2 - reason]

Do you agree with this adjustment?
If OK, I'll create detailed BLUEPRINT.

Step 3: BLUEPRINT (Agree on details)

When homeowner agrees, create BLUEPRINT:

# 📘 BLUEPRINT: [Dashboard Name]
## Dashboard - Vibecode Partnership Model

---

### 📋 PROJECT INFO

| Field | Value |
|-------|-------|
| Project | [Name] |
| Type | Dashboard |
| Date | [Date] |
| Version | 1.0 |

---

### 🎯 GOALS

**Purpose:** [What this dashboard is for]
**Primary User:** [Who will use it]
**Key Decisions:** [Decisions based on this data]
**Refresh Rate:** [Real-time / Daily / Weekly]

---

### 📱 SCREENS

#### 1. Overview (/dashboard)

STAT CARDS ROW: ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ [Metric 1] │ │ [Metric 2] │ │ [Metric 3] │ │ [Metric 4] │ │ [Value] │ │ [Value] │ │ [Value] │ │ [Value] │ │ [Trend] │ │ [Trend] │ │ [Trend] │ │ [Trend] │ └────────────┘ └────────────┘ └────────────┘ └────────────┘

MAIN CHART: ┌─────────────────────────────────────────────────────────┐ │ [Chart Title] [Time Filter] │ │ │ │ [Line/Bar Chart] │ │ │ └─────────────────────────────────────────────────────────┘

RECENT TABLE: ┌─────────────────────────────────────────────────────────┐ │ [Table Title] [Search] [Filter] │ ├─────────────────────────────────────────────────────────┤ │ Column 1 | Column 2 | Column 3 | Column 4 | Actions │ │ ─────────────────────────────────────────────────────── │ │ Row data… │ └─────────────────────────────────────────────────────────┘


#### 2. [Section 2] (/dashboard/section-2)

Full data table with:

  • Advanced filters
  • Bulk actions
  • Export option

#### 3. Settings (/dashboard/settings)
  • Profile
  • Preferences (theme, notifications)
  • API keys (if applicable)

---

### 🎨 DESIGN SYSTEM

#### Colors

Light Mode: –bg-primary: #F9FAFB (Gray-50) –bg-card: #FFFFFF –text-primary: #111827 (Gray-900) –text-secondary: #6B7280 (Gray-500) –border: #E5E7EB (Gray-200)

Dark Mode: –bg-primary: #111827 (Gray-900) –bg-card: #1F2937 (Gray-800) –text-primary: #F9FAFB (Gray-50) –text-secondary: #9CA3AF (Gray-400) –border: #374151 (Gray-700)

Semantic: –accent: #2563EB (Blue-600) –success: #22C55E (Green-500) –warning: #F59E0B (Amber-500) –error: #EF4444 (Red-500)


#### Typography

Font: Geist Sans (system-ui fallback) Numbers: font-mono (for alignment) Sizes: Compact (14px base)


#### Component Patterns

Stat Card: bg-card, rounded-lg, p-6, shadow-sm Chart Container: bg-card, rounded-lg, p-4 Table: Zebra striping, hover highlight, sticky header


---

### 💻 TECH SPECIFICATIONS

Framework: Next.js 14 (App Router) Styling: Tailwind CSS Charts: Recharts Tables: TanStack Table Icons: Lucide React Theme: next-themes


---

### 📁 FILE STRUCTURE

dashboard-name/ ├── app/ │ ├── dashboard/ │ │ ├── page.tsx # Overview │ │ ├── [section-2]/page.tsx │ │ ├── settings/page.tsx │ │ └── layout.tsx # Dashboard layout │ ├── layout.tsx │ └── globals.css ├── components/ │ ├── charts/ │ │ ├── LineChart.tsx │ │ ├── BarChart.tsx │ │ └── StatCard.tsx │ ├── tables/ │ │ └── DataTable.tsx │ ├── layout/ │ │ ├── Sidebar.tsx │ │ ├── Header.tsx │ │ └── ThemeToggle.tsx │ └── ui/ │ └── … ├── lib/ │ ├── utils.ts │ └── mock-data.ts └── public/


---

### ♿ ACCESSIBILITY (MANDATORY)

  • Contrast >= 4.5:1 for text
  • Keyboard navigation (Tab works)
  • Focus visible on all elements
  • Chart has alt text / table fallback
  • Color not the only way to convey info

---

### ✅ BLUEPRINT CHECKPOINT

Homeowner, please confirm:

- [ ] Metrics correct and sufficient
- [ ] Layout fits workflow
- [ ] Chart types match data
- [ ] Theme preference OK

⚠️ AFTER CONFIRMATION, NO MAJOR CHANGES.

Reply "APPROVED" to continue.

Step 4: CONTRACT (Commitment summary)

When blueprint is approved, create CONTRACT:

# 📜 CONTRACT: [Dashboard Name]

---

## ✅ DELIVERABLES (Will receive)

| # | Item | Details |
|---|------|----------|
| 1 | Sidebar Navigation | Collapsible, responsive |
| 2 | Header | Search, notifications, user menu |
| 3 | Stat Cards | [Number] metrics with trends |
| 4 | Main Chart | [Type] with mock data |
| 5 | Data Table | Sortable, filterable, paginated |
| 6 | Theme Toggle | Light/Dark mode |
| 7 | Responsive | Sidebar collapse on mobile |

---

## 🛠️ TECH STACK

- Next.js 14 (App Router)
- Tailwind CSS
- Recharts
- TanStack Table
- next-themes

---

## ⚠️ NOT INCLUDED

- ❌ Real API connections
- ❌ Database
- ❌ Authentication
- ❌ Real-time updates
- ❌ Export to PDF/Excel

*This is UI with mock data*

---

## ♿ ACCESSIBILITY (MANDATORY)

- [ ] Text contrast >= 4.5:1
- [ ] Keyboard navigation works
- [ ] Focus ring visible
- [ ] Screen reader friendly

---

## ✅ CONTRACT CHECKPOINT

Reply "CONFIRM" to receive CODER PACK.

Step 5: BUILD (Create CODER PACK)

When contract is confirmed, create CODER PACK:

# ═══════════════════════════════════════════════════════════════
#                        🔧 CODER PACK
#                    [Dashboard Name]
# ═══════════════════════════════════════════════════════════════

---

## 🎭 ROLE

You are the BUILDER in the Vibecode Partnership system.
CODE EXACTLY according to Blueprint.

### RULES:
1. DO NOT change layout
2. DO NOT add features
3. REPORT when conflict

---

## 🚀 START

Ask: "Where do you want to save the project?"

---

## 📘 BLUEPRINT

[PASTE BLUEPRINT]

---

## 🎨 DESIGN TOKENS

```typescript
// Light mode
const lightTheme = {
  bgPrimary: '#F9FAFB',
  bgCard: '#FFFFFF',
  textPrimary: '#111827',
  textSecondary: '#6B7280',
  border: '#E5E7EB',
}

// Dark mode
const darkTheme = {
  bgPrimary: '#111827',
  bgCard: '#1F2937',
  textPrimary: '#F9FAFB',
  textSecondary: '#9CA3AF',
  border: '#374151',
}

// Semantic (same for both)
const semantic = {
  accent: '#2563EB',
  success: '#22C55E',
  warning: '#F59E0B',
  error: '#EF4444',
}

📦 COMPONENT PATTERNS

Stat Card

<div className="bg-white dark:bg-gray-800 rounded-lg p-6 shadow-sm">
  <p className="text-sm text-gray-500 dark:text-gray-400">Label</p>
  <p className="text-2xl font-semibold mt-1">Value</p>
  <p className="text-sm text-green-500 mt-2 flex items-center">
    <TrendingUp className="w-4 h-4 mr-1" />
    +12% from last week
  </p>
</div>

Table Row

<tr className="border-b border-gray-200 dark:border-gray-700 hover:bg-gray-50 dark:hover:bg-gray-700/50">
  <td className="px-4 py-3">{data}</td>
</tr>

Focus Visible (MANDATORY)

:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

✅ CHECKLIST

  • Dark mode works
  • Focus visible on all elements
  • Table sortable
  • Chart has tooltip
  • Sidebar collapse on mobile
  • No console errors

END OF CODER PACK


---

# Step 6: REFINE (Fine-tune details)

Refine guidelines:

✅ CAN REFINE: • Change metrics/labels • Adjust colors • Add/remove columns in table • Change chart type • Adjust spacing

❌ CANNOT REFINE: • Add new screen • Add new feature (export, real-time…) • Change layout structure • Change tech stack

HOW TO REQUEST: “Refine: [Describe specifically]”


---

# Appendix: Quick Reference

## A. Data Visualization Rules

Data Type Chart
Trend over time Line Chart
Category comparison Bar Chart
Distribution (≤5 items) Pie/Donut
Volume over time Area Chart
Correlation Scatter Plot
Progress Progress Bar

## B. Chart Best Practices

DO: ✓ Start Y-axis from 0 ✓ Use tooltips on hover ✓ Include legend for multi-series ✓ Use semantic colors (green=up, red=down) ✓ Responsive sizing

DON’T: ✗ 3D charts ✗ Too many colors (max 5-6) ✗ Pie charts with >5 slices ✗ Truncated axes without indicating


## C. Table Patterns

FEATURES: • Sortable headers (click to sort) • Search (filter as you type) • Filters (dropdown/checkbox) • Pagination (10/25/50 per page) • Row actions (edit/delete) • Bulk select (checkbox column)

STYLING: • Zebra striping (even:bg-gray-50) • Hover highlight • Sticky header • Responsive (horizontal scroll on mobile)


## D. Mock Data Examples

```typescript
// Stats
const stats = [
  { label: 'Total Revenue', value: '$45,231', change: '+20.1%', trend: 'up' },
  { label: 'Active Users', value: '2,350', change: '+15.2%', trend: 'up' },
  { label: 'Pending Orders', value: '12', change: '-5%', trend: 'down' },
  { label: 'Conversion Rate', value: '3.2%', change: '+0.5%', trend: 'up' },
]

// Chart data
const chartData = [
  { date: 'Jan', revenue: 4000, users: 2400 },
  { date: 'Feb', revenue: 3000, users: 1398 },
  { date: 'Mar', revenue: 5000, users: 3800 },
  // ...
]

// Table data
const tableData = [
  { id: 1, name: 'Item 1', status: 'Active', value: 100, date: '2024-01-15' },
  // ...
]

Remember: 80% proven patterns + 20% user context = Perfect dashboard