Project Metrics Dashboard Design
You are designing a single, focused dashboard, not a full BI tool.
The goal: present the smallest set of widgets that lets a product or engineering lead answer, in under 10 seconds:
- “Is the product healthy?”
- “Are customers using it as expected?”
- “Is anything on fire right now?”
Avoid anything that feels decorative, chatty, or “AI-generated.” Favor a restrained, product-like UI.
When to use this skill
Use this skill when the user asks for:
- Dashboards summarizing software or SaaS product health
- Views of usage, reliability, performance, or status (e.g., uptime, incidents, error rates)
- Executive/IC dashboards for product managers, engineering managers, SREs, or support leaders
Do not use this skill for:
- Marketing/financial dashboards
- Highly exploratory data-science notebooks
- Pixel-perfect visual design mockups (this skill focuses on structure and content, not exact CSS)
Inputs you should gather (from the user or context)
Before proposing a dashboard, infer or ask (only if needed):
- Audience & role
- Product leadership, team leads, engineers, SRE/ops, support, or executives.
- Primary decision(s)
- Examples: “Ship more features?”, “Improve reliability?”, “Grow active users?”, “Reduce incidents?”
- Key entities
- What are we measuring? (tenants, users, environments, regions, services, teams, releases, etc.)
- Available metrics
- Usage: signups, DAU/WAU/MAU, active accounts, feature usage.
- Reliability: uptime %, incidents, error rates, latency, failed jobs.
- Status: deployment state, incident state, backlog/queues, SLA/SLOs.
- Default time range
- Common defaults: last 7 days, last 30 days, or current release window.
- Constraints
- Screen size (desktop vs embedded panel), theming requirements, data refresh cadence.
Document assumptions clearly if data or definitions are missing.
Output expectations
When this skill is active, you should produce:
- A clear description of the dashboard’s structure:
- Sections, widget list, and their order.
- For each widget: type, fields, key metric, and interaction.
- Exact, concise labels for:
- Dashboard title
- Section titles
- Widget titles, axes, filters
- Any SQL/metrics definitions or pseudo-schema you can infer (if requested).
- A short note on how someone would use the dashboard to answer core questions.
Do not output visual fluff, emoji, or long narrative text. Keep it product-spec level.
Design principles
1. Focus on decisions, not data
- Start from 2–4 primary questions the dashboard must answer.
- For each question, define 1–3 metrics that directly answer it.
- Exclude metrics that are merely “nice to have” or loosely related.
- If a metric doesn’t drive a realistic action, omit it or move it to a secondary view.
2. Information hierarchy & layout
Design assuming a typical desktop viewport (e.g., ~1280–1440px wide):
Top row – Health KPIs (always visible)
- 3–6 compact KPI tiles with single numbers and tiny trends, e.g.:
- Uptime % (last 30 days)
- Active users / orgs (last 7 or 30 days)
- Error rate or failed requests %
- P95 latency
- Open incidents / current severity
- Each tile: short title, main value, small trend indicator (sparkline or delta).
Middle row – Trends & comparisons
- 2–3 charts showing how key metrics evolve over time:
- Usage over time (line/area chart).
- Reliability trend (incidents, error rate, latency).
- Optional comparison by environment/region/plan.
Bottom row – Detailed status
- Tables or lists for:
- Current incidents or alerts (service, severity, status, owner, started_at).
- Service-level status (service name, uptime, last deploy, error rate).
- Optional queue/backlog metrics (jobs pending, age, SLA risk).
General layout rules:
- Left-to-right, top-to-bottom: most important at top-left.
- Avoid more than 8–10 widgets on a single view; merge or remove if you exceed this.
- Group related widgets into clear sections with short, neutral headers (e.g., “Usage”, “Reliability”, “Incidents”), not playful or marketing-style language.
3. Widgets & visualizations
For each widget, you must specify:
- Type: KPI tile, line chart, bar chart, table, or status list.
- Primary metric: one main number or trend.
- Context: comparison period or target (e.g., vs previous 7 days, vs SLO).
- Interaction: what filters/drill-downs apply.
Chart guidelines:
- Use line/area charts for time-series (usage, latency, errors).
- Use bar charts for categorical comparisons (by region, plan, environment, team).
- Use tables for detailed status, incidents, and drill-down data.
- Use single KPIs for uptime, error rates, or counts that should be scanned quickly.
Avoid:
- Pie/donut charts for more than 3–4 categories.
- 3D charts, heavy gradients, and non-standard visual encodings.
- Overlapping multiple measures in a way that makes reading trends difficult.
4. Filters & interactions (modern, but restrained)
Design filters for common, high-signal pivots only:
- Global filters (top of dashboard):
- Time range (e.g., Last 24h, 7d, 30d, 90d).
- Environment (prod, staging, sandbox).
- Region or customer segment (e.g., NA/EU/APAC, plan tier).
- Local filters (per chart, only as needed):
- Service name, feature, team, release version.
Guidelines:
- Keep the number of global filters small (2–4 maximum).
- Prefer simple dropdowns, pill toggles, or segmented controls.
- Ensure filters are consistent across widgets: same time range applies to all KPIs and charts by default.
- When describing drill-downs, be explicit:
- Example: “Clicking a bar in ‘Errors by Service’ filters the incident table below to that service and time range.”
5. Copy & labeling
Use short, neutral, product-like text:
- Titles:
API uptime (last 30 days) instead of How stable has our API been recently?
- Axes:
Requests per minute, Active orgs, P95 latency (ms).
Do not:
- Use emoji or playful language in titles, labels, or tooltips.
- Add helper text like “Here are some insights you might find useful.”
- Repeat the same sub-header above each visualization (“Overview”, “Summary”, etc.).
Do:
- Use consistent naming for the same metric across widgets.
- Indicate units and aggregation explicitly (
per minute, per day, %, ms).
- Explain non-obvious metrics in one concise sentence near the widget, if needed.
6. Visual style
The skill should steer design toward:
- High data-ink ratio: minimal borders, gridlines, and non-data decoration.
- Limited color palette: neutrals for baseline, one accent color for alerts/status.
- Color encodes meaning, not decoration:
- Green: healthy/on-track, Red: error/critical, Amber: warning.
- Consistent spacing: even padding and alignment between widgets.
- Minimal chrome: avoid drop shadows, gradients, neumorphism, and skeuomorphic dials.
- No colored left borders on cards: the
border-left: 3px solid <color> pattern on cards/alerts is a telltale sign of AI-generated UI. Use subtle background tints, inline status badges, or icons instead.
If theming is requested (e.g., light/dark mode), treat it as a separate concern from content and structure.
Metrics menu for software projects
Use this as a menu to construct dashboards. Do not include everything; choose what best fits the user’s goals.
Product usage
Consider:
- Active users / orgs
- Daily/weekly/monthly active users.
- % of accounts active in the last N days.
- Feature usage
- Top features by usage.
- Adoption of new or key features.
- Engagement
- Sessions per user, events per user, time in app.
- Funnel completion rates for key flows (e.g., setup, integration, configuration).
Reliability & performance
Consider:
- Uptime and availability
- Uptime % by service over 7/30/90 days.
- SLO/SLA breaches.
- Errors
- Error rate (% of requests failing).
- Errors by endpoint/service, errors by region.
- Latency
- P50/P95/P99 latency for critical endpoints.
- Latency by region, plan, or environment.
- Incidents
- Count of incidents by severity.
- Mean time to detect (MTTD), mean time to resolve (MTTR).
Delivery, status, and operations
Consider:
- Deployments
- Deploys per day/week.
- Current deployed version per service.
- Rollbacks in the period.
- Operational queues
- Jobs queued vs processed.
- Long-running or stuck jobs.
- Support & tickets (if relevant)
- Open tickets by severity.
- Time to first response, time to resolution.
For each metric, decide whether it belongs as:
- A top-level KPI (high-level health).
- A trend chart (monitor movement over time).
- A detail table (investigation and follow-up).
Avoiding the “generative UI” look
When generating dashboard specs or markup, explicitly avoid:
- Emoji, ASCII art, or whimsical icons in titles, labels, or legends.
- Phrases like “Here’s a neat chart I made for you” or “Let’s explore your data.”
- Redundant subheadings such as:
- “Section 1: Overview” immediately followed by a card titled “Overview.”
- Over-nesting:
- More than two levels of tabs or accordions.
- Multiple carousels of charts.
- Overly verbose descriptions of each widget.
- Keep annotations 1–2 sentences max, only where truly needed.
- Auto-generated-feeling “insights paragraphs” unless the user specifically asks for written insights.
Instead, favor:
- Plain, professional labels and section titles.
- A small set of clearly explained widgets.
- Straightforward, actionable annotations (e.g., “Error rate exceeded SLO on 3 of the last 7 days.”).
Step-by-step workflow for the agent
When asked to design or refine a project dashboard:
- Clarify the core questions and audience.
- Infer from context or ask for 2–4 core questions.
- List candidate metrics grouped into usage, reliability, and status.
- Select and prioritize:
- Choose at most 6 KPIs, 3 charts, and 1–2 tables for the first version.
- Define layout and hierarchy:
- Arrange in the 3-layer structure: Health KPIs → Trends → Detailed status.
- Specify widgets precisely:
- For each widget, specify:
- Type (KPI, line chart, bar chart, table).
- Query/fields.
- Time range and filters.
- Exact title and labels.
- Check for noise and redundancy:
- Remove or merge low-value or overlapping widgets.
- Simplify labels and ensure consistent naming.
- Describe how to use the dashboard:
- 3–5 bullet points explaining typical workflows (e.g., morning health check, incident review, release validation).
Always optimize for clarity, scan-ability, and decision support over decoration.
1---2name: project-metrics-dashboard3description: Design concise, professional dashboards for software projects that surface usage, uptime, and status metrics without a “generative UI” look. Use this skill when a user asks for a modern dashboard, product/engineering health view, or status overview for a SaaS or software system.4---56# Project Metrics Dashboard Design78You are designing a **single, focused dashboard**, not a full BI tool.910The goal: present the **smallest set of widgets** that lets a product or engineering lead answer, in under 10 seconds:1112- “Is the product healthy?”13- “Are customers using it as expected?”14- “Is anything on fire right now?”1516Avoid anything that feels decorative, chatty, or “AI-generated.” Favor a restrained, product-like UI.1718---1920## When to use this skill2122Use this skill when the user asks for:2324- Dashboards summarizing **software or SaaS product health**25- Views of **usage, reliability, performance, or status** (e.g., uptime, incidents, error rates)26- Executive/IC dashboards for **product managers, engineering managers, SREs, or support leaders**2728Do **not** use this skill for:2930- Marketing/financial dashboards31- Highly exploratory data-science notebooks32- Pixel-perfect visual design mockups (this skill focuses on **structure and content**, not exact CSS)3334---3536## Inputs you should gather (from the user or context)3738Before proposing a dashboard, infer or ask (only if needed):39401. **Audience & role**41 - Product leadership, team leads, engineers, SRE/ops, support, or executives.422. **Primary decision(s)**43 - Examples: “Ship more features?”, “Improve reliability?”, “Grow active users?”, “Reduce incidents?”443. **Key entities**45 - What are we measuring? (tenants, users, environments, regions, services, teams, releases, etc.)464. **Available metrics**47 - Usage: signups, DAU/WAU/MAU, active accounts, feature usage.48 - Reliability: uptime %, incidents, error rates, latency, failed jobs.49 - Status: deployment state, incident state, backlog/queues, SLA/SLOs.505. **Default time range**51 - Common defaults: last 7 days, last 30 days, or current release window.526. **Constraints**53 - Screen size (desktop vs embedded panel), theming requirements, data refresh cadence.5455Document assumptions clearly if data or definitions are missing.5657---5859## Output expectations6061When this skill is active, you should produce:6263- A **clear description** of the dashboard’s structure:64 - Sections, widget list, and their order.65 - For each widget: type, fields, key metric, and interaction.66- **Exact, concise labels** for:67 - Dashboard title68 - Section titles69 - Widget titles, axes, filters70- Any **SQL/metrics definitions or pseudo-schema** you can infer (if requested).71- A short note on **how someone would use** the dashboard to answer core questions.7273Do **not** output visual fluff, emoji, or long narrative text. Keep it product-spec level.7475---7677## Design principles7879### 1. Focus on decisions, not data8081- Start from 2–4 **primary questions** the dashboard must answer.82- For each question, define **1–3 metrics** that directly answer it.83- Exclude metrics that are merely “nice to have” or loosely related.84- If a metric doesn’t drive a realistic action, **omit it or move it to a secondary view**.8586### 2. Information hierarchy & layout8788Design assuming a typical desktop viewport (e.g., ~1280–1440px wide):89901. **Top row – Health KPIs (always visible)**91 - 3–6 compact KPI tiles with single numbers and tiny trends, e.g.:92 - Uptime % (last 30 days)93 - Active users / orgs (last 7 or 30 days)94 - Error rate or failed requests %95 - P95 latency96 - Open incidents / current severity97 - Each tile: short title, main value, small trend indicator (sparkline or delta).98992. **Middle row – Trends & comparisons**100 - 2–3 charts showing how key metrics evolve over time:101 - Usage over time (line/area chart).102 - Reliability trend (incidents, error rate, latency).103 - Optional comparison by environment/region/plan.1041053. **Bottom row – Detailed status**106 - Tables or lists for:107 - Current incidents or alerts (service, severity, status, owner, started_at).108 - Service-level status (service name, uptime, last deploy, error rate).109 - Optional queue/backlog metrics (jobs pending, age, SLA risk).110111General layout rules:112113- **Left-to-right, top-to-bottom**: most important at top-left.114- Avoid more than **8–10 widgets** on a single view; merge or remove if you exceed this.115- Group related widgets into **clear sections** with short, neutral headers (e.g., “Usage”, “Reliability”, “Incidents”), not playful or marketing-style language.116117### 3. Widgets & visualizations118119For each widget, you must specify:120121- **Type**: KPI tile, line chart, bar chart, table, or status list.122- **Primary metric**: one main number or trend.123- **Context**: comparison period or target (e.g., vs previous 7 days, vs SLO).124- **Interaction**: what filters/drill-downs apply.125126Chart guidelines:127128- Use **line/area charts** for time-series (usage, latency, errors).129- Use **bar charts** for categorical comparisons (by region, plan, environment, team).130- Use **tables** for detailed status, incidents, and drill-down data.131- Use **single KPIs** for uptime, error rates, or counts that should be scanned quickly.132133Avoid:134135- Pie/donut charts for more than 3–4 categories.136- 3D charts, heavy gradients, and non-standard visual encodings.137- Overlapping multiple measures in a way that makes reading trends difficult.138139### 4. Filters & interactions (modern, but restrained)140141Design filters for **common, high-signal pivots** only:142143- **Global filters** (top of dashboard):144 - Time range (e.g., Last 24h, 7d, 30d, 90d).145 - Environment (prod, staging, sandbox).146 - Region or customer segment (e.g., NA/EU/APAC, plan tier).147- **Local filters** (per chart, only as needed):148 - Service name, feature, team, release version.149150Guidelines:151152- Keep the number of global filters **small** (2–4 maximum).153- Prefer **simple dropdowns, pill toggles, or segmented controls**.154- Ensure filters are **consistent across widgets**: same time range applies to all KPIs and charts by default.155- When describing drill-downs, be explicit:156 - Example: “Clicking a bar in ‘Errors by Service’ filters the incident table below to that service and time range.”157158### 5. Copy & labeling159160Use **short, neutral, product-like text**:161162- Titles: `API uptime (last 30 days)` instead of `How stable has our API been recently?`163- Axes: `Requests per minute`, `Active orgs`, `P95 latency (ms)`.164165Do **not**:166167- Use emoji or playful language in titles, labels, or tooltips.168- Add helper text like “Here are some insights you might find useful.”169- Repeat the same sub-header above each visualization (“Overview”, “Summary”, etc.).170171Do:172173- Use consistent naming for the same metric across widgets.174- Indicate units and aggregation explicitly (`per minute`, `per day`, `%`, `ms`).175- Explain non-obvious metrics in **one concise sentence** near the widget, if needed.176177### 6. Visual style178179The skill should steer design toward:180181- **High data-ink ratio**: minimal borders, gridlines, and non-data decoration.182- **Limited color palette**: neutrals for baseline, one accent color for alerts/status.183- Color encodes **meaning**, not decoration:184 - Green: healthy/on-track, Red: error/critical, Amber: warning.185- **Consistent spacing**: even padding and alignment between widgets.186- **Minimal chrome**: avoid drop shadows, gradients, neumorphism, and skeuomorphic dials.187- **No colored left borders on cards**: the `border-left: 3px solid <color>` pattern on cards/alerts is a telltale sign of AI-generated UI. Use subtle background tints, inline status badges, or icons instead.188189If theming is requested (e.g., light/dark mode), treat it as a **separate concern** from content and structure.190191---192193## Metrics menu for software projects194195Use this as a menu to construct dashboards. Do not include everything; choose what best fits the user’s goals.196197### Product usage198199Consider:200201- **Active users / orgs**202 - Daily/weekly/monthly active users.203 - % of accounts active in the last N days.204- **Feature usage**205 - Top features by usage.206 - Adoption of new or key features.207- **Engagement**208 - Sessions per user, events per user, time in app.209 - Funnel completion rates for key flows (e.g., setup, integration, configuration).210211### Reliability & performance212213Consider:214215- **Uptime and availability**216 - Uptime % by service over 7/30/90 days.217 - SLO/SLA breaches.218- **Errors**219 - Error rate (% of requests failing).220 - Errors by endpoint/service, errors by region.221- **Latency**222 - P50/P95/P99 latency for critical endpoints.223 - Latency by region, plan, or environment.224- **Incidents**225 - Count of incidents by severity.226 - Mean time to detect (MTTD), mean time to resolve (MTTR).227228### Delivery, status, and operations229230Consider:231232- **Deployments**233 - Deploys per day/week.234 - Current deployed version per service.235 - Rollbacks in the period.236- **Operational queues**237 - Jobs queued vs processed.238 - Long-running or stuck jobs.239- **Support & tickets (if relevant)**240 - Open tickets by severity.241 - Time to first response, time to resolution.242243For each metric, decide whether it belongs as:244245- A **top-level KPI** (high-level health).246- A **trend chart** (monitor movement over time).247- A **detail table** (investigation and follow-up).248249---250251## Avoiding the “generative UI” look252253When generating dashboard specs or markup, **explicitly avoid**:254255- Emoji, ASCII art, or whimsical icons in titles, labels, or legends.256- Phrases like “Here’s a neat chart I made for you” or “Let’s explore your data.”257- Redundant subheadings such as:258 - “Section 1: Overview” immediately followed by a card titled “Overview.”259- Over-nesting:260 - More than **two levels** of tabs or accordions.261 - Multiple carousels of charts.262- Overly verbose descriptions of each widget.263 - Keep annotations 1–2 sentences max, only where truly needed.264- Auto-generated-feeling “insights paragraphs” unless the user specifically asks for written insights.265266Instead, favor:267268- Plain, professional labels and section titles.269- A small set of clearly explained widgets.270- Straightforward, actionable annotations (e.g., “Error rate exceeded SLO on 3 of the last 7 days.”).271272---273274## Step-by-step workflow for the agent275276When asked to design or refine a project dashboard:2772781. **Clarify the core questions and audience.**279 - Infer from context or ask for 2–4 core questions.2802. **List candidate metrics** grouped into usage, reliability, and status.2813. **Select and prioritize**:282 - Choose at most 6 KPIs, 3 charts, and 1–2 tables for the first version.2834. **Define layout and hierarchy**:284 - Arrange in the 3-layer structure: Health KPIs → Trends → Detailed status.2855. **Specify widgets precisely**:286 - For each widget, specify:287 - Type (KPI, line chart, bar chart, table).288 - Query/fields.289 - Time range and filters.290 - Exact title and labels.2916. **Check for noise and redundancy**:292 - Remove or merge low-value or overlapping widgets.293 - Simplify labels and ensure consistent naming.2947. **Describe how to use the dashboard**:295 - 3–5 bullet points explaining typical workflows (e.g., morning health check, incident review, release validation).296297Always optimize for **clarity, scan-ability, and decision support** over decoration.