Skills wshobson agents

kpi-dashboard-design

Use it when:
You're choosing KPIs and laying out an executive, departmental or real-time operations dashboard, or fixing one whose numbers contradict each other.
It does:
Sorts KPIs into strategic, tactical and operational levels by audience and update frequency, and limits a dashboard to 5-7 of them.
You get:
A dashboard plan, from a one-page executive summary down to department views and drilldowns.
Troubleshoots:
MRR that disagrees with finance, green dashboards while users complain, flat cohorts, live dashboards that overload the database, and ignored alerts.

TL;DR

Guidance for business dashboards. KPIs should be specific, measurable, achievable, relevant and time-bound, and actionable rather than vanity metrics; each number needs context such as a trend, target or comparison; red means bad and green good; no 3D charts; calculations are documented; and the dashboard should work on mobile. The troubleshooting is concrete: normalize annual and quarterly plans to a monthly figure and show the formula, add user-facing metrics such as page load time and support tickets beside uptime, group cohorts by month rather than day, feed live dashboards from a summary table refreshed by a scheduled job instead of querying production, and alert on deviations from a 30-day rolling mean instead of fixed thresholds. A separate file lists common KPIs for sales, marketing, product and finance, layouts for executive, SaaS and operations dashboards, SQL for KPI calculations, and a dashboard in Streamlit.

Summarizes the skill at 4bde316.

npx skills add https://github.com/wshobson/agents --skill kpi-dashboard-design
Weekly Downloads week to Nov 9, 2026
437
+34% in 8 weeks

More weekly downloads than 55% of skills

Weekly values
Week toInstalls
Sep 21325
Sep 28346
Oct 5428
Oct 12395
Oct 19412
Oct 26423
Nov 2405
Nov 9437
Total Downloads on skills.sh
17,100

More downloads than 70% of skills

Repo stars wshobson/agents
42,334

More stars than 76% of repos

Age published Jan 20, 2026
9 months

Older than 82% of skills

Category

Research reproduction, financial data, charts and diagrams.

Taste for interfaces that don't look generated: direction, motion and accessibility.

Everything for building software: planning, coding, debugging, design, frameworks, cloud, agents and skills.

Type

Knowledge and rules the agent applies while it works: best practices, design principles, API references.

Effect

Adds no side effects of its own. It shapes how the agent thinks, writes or reviews. Guidelines and routers are always effect:none, even when the task they support edits code.

Needs

Instructions only. Works in any agent that supports skills.

Publisher

Everyone else. Unverified vendor claims default to community.

Topics

SKILL.md

From wshobson/agents at 4bde316. Checked daily, last changed Nov 6, 2026.

Frontmatter
name: kpi-dashboard-design
description: Design effective KPI dashboards with metrics selection, visualization best practices, and real-time monitoring patterns. Use this skill when building an executive SaaS metrics dashboard tracking MRR, churn, and LTV/CAC ratios; designing an operations center with live service health and request throughput; creating a cohort retention analysis view for a product team; or debugging a dashboard where metrics contradict each other due to inconsistent calculation methodology.

KPI Dashboard Design

Comprehensive patterns for designing effective Key Performance Indicator (KPI) dashboards that drive business decisions.

When to Use This Skill

  • Designing executive dashboards
  • Selecting meaningful KPIs
  • Building real-time monitoring displays
  • Creating department-specific metrics views
  • Improving existing dashboard layouts
  • Establishing metric governance

Core Concepts

1. KPI Framework
Level Focus Update Frequency Audience
Strategic Long-term goals Monthly/Quarterly Executives
Tactical Department goals Weekly/Monthly Managers
Operational Day-to-day Real-time/Daily Teams
2. SMART KPIs
Specific: Clear definition
Measurable: Quantifiable
Achievable: Realistic targets
Relevant: Aligned to goals
Time-bound: Defined period
3. Dashboard Hierarchy
├── Executive Summary (1 page)
│   ├── 4-6 headline KPIs
│   ├── Trend indicators
│   └── Key alerts
├── Department Views
│   ├── Sales Dashboard
│   ├── Marketing Dashboard
│   ├── Operations Dashboard
│   └── Finance Dashboard
└── Detailed Drilldowns
    ├── Individual metrics
    └── Root cause analysis

Detailed worked examples and patterns

Detailed sections (starting with ## Common KPIs by Department) live in references/details.md. Read that file when the navigation summary above is insufficient.

Best Practices

Do's
  • Limit to 5-7 KPIs - Focus on what matters
  • Show context - Comparisons, trends, targets
  • Use consistent colors - Red=bad, green=good
  • Enable drilldown - From summary to detail
  • Update appropriately - Match metric frequency
Don'ts
  • Don't show vanity metrics - Focus on actionable data
  • Don't overcrowd - White space aids comprehension
  • Don't use 3D charts - They distort perception
  • Don't hide methodology - Document calculations
  • Don't ignore mobile - Ensure responsive design

Troubleshooting

MRR shown on dashboard contradicts finance's number

The most common cause is inconsistent treatment of annual plans. Finance may prorate to a daily rate while the dashboard normalizes to monthly. Align on a single formula and document it directly on the dashboard card:

-- Explicit formula shown in tooltip / data dictionary
-- Annual plans: divide total contract value by 12
-- Quarterly plans: divide by 3
-- Monthly plans: use as-is
CASE subscription_interval
    WHEN 'monthly'   THEN amount
    WHEN 'quarterly' THEN amount / 3.0
    WHEN 'yearly'    THEN amount / 12.0
END AS normalized_mrr
Dashboard shows green but product team reports users complaining

The dashboard likely tracks system uptime (a lagging indicator) but not user-facing quality metrics. Add customer-perceived metrics alongside infrastructure metrics:

Infrastructure (green) User-perceived (add these)
API uptime 99.9% P95 page load time
Error rate 0.1% Task completion rate
Queue depth normal Support ticket volume
Retention cohort looks flat — no variation between cohorts

Check whether the cohort query is partitioning by signup month correctly. A common bug is using created_at::date instead of DATE_TRUNC('month', created_at), which groups by day and produces cohorts too small to show trends:

-- Wrong: too granular, cohorts are too small
DATE_TRUNC('day', created_at) AS cohort_date

-- Correct: monthly cohorts
DATE_TRUNC('month', created_at) AS cohort_month
Real-time dashboard hammers the database

A live dashboard refreshing every 10 seconds with complex cohort SQL will degrade production query performance. Separate OLAP workloads from OLTP by writing pre-aggregated metrics to a summary table via a scheduled job, and have the dashboard read from that:

# Scheduled every 5 minutes via cron/Celery
def refresh_mrr_summary():
    conn.execute("""
        INSERT INTO kpi_snapshot (metric, value, snapshot_at)
        SELECT 'mrr', SUM(...), NOW()
        FROM subscriptions WHERE status = 'active'
        ON CONFLICT (metric) DO UPDATE SET value = EXCLUDED.value
    """)
Alert thresholds fire constantly, team ignores them

Static thresholds set once and never reviewed cause alert fatigue. Use dynamic thresholds based on rolling averages so alerts fire only when the metric deviates significantly from its own baseline:

# Alert if current value is > 2 standard deviations from 30-day rolling mean
def is_anomalous(current: float, history: list[float]) -> bool:
    mean = statistics.mean(history)
    stdev = statistics.stdev(history)
    return abs(current - mean) > 2 * stdev

Related Skills

  • data-storytelling - Turn dashboard findings into narratives that drive executive decisions