Skip to content
Jan Arvin Mito / Amito

← All specifications

Dashboards that support a decision

Connect each metric to a decision, with clear definitions, dates, and missing-data behavior.

Jan Arvin Mito · Version 1.0.0 · Updated

Decisions to make

User taskpurpose
Name the person, the task they need to finish, and the observable outcome. Keep one primary task.
Primary actionprimaryAction
Specify the action label, when it is available, what it changes, and how success is confirmed.
Loadingloading
Describe what stays visible during a request, how progress is communicated, and how repeated actions are prevented.
Empty stateempty
Distinguish a first visit, no results, and unavailable data where relevant. Give a useful next step.
Error and recoveryerror
State where errors appear, which input is preserved, and how someone retries or recovers without repeating completed work.
Keyboard and focuskeyboard
Define native controls, tab order, focus visibility, focus after updates, and any Escape or arrow-key behavior.
Labels and feedbackaccessibility
Name controls and errors clearly, describe screen-reader announcements, and keep meaning available without relying only on color.
Narrow and wide layoutsresponsive
Describe how content reflows at 320px, what remains visible, and the maximum reading width on wide screens. Do not shrink text to make it fit.
Completionsuccess
Specify the visible result, whether focus moves, and how the user continues or undoes the action when supported.
Decisions and next actionsdecisions
State the decisions this screen supports and the action someone can take from each relevant result. Remove metrics with no purpose.
Metric definitionsmetrics
Define each metric, source, unit, time range, comparison, and freshness. Separate zero from missing or unavailable data.
Filters and supporting detaildrilldown
Specify filter scope, reset behavior, accessible chart alternatives, and how a person reaches supporting records without losing context.

Check the result

  • Show unavailable data: label it as unavailable instead of presenting a misleading zero.
  • Change a date range: make the scope and comparison period clear wherever results change.
  • Read a chart without color or a pointer: the important values and comparisons remain available in text or a table.
  • Open supporting records and return: preserve the user's filter context where promised.

These are starting requirements, not a certification or a substitute for testing with people. Record a reason when a behavior does not apply.

Use with an agent

Connect Amito to your AI assistant, fetch spec:dashboard, and describe the behavior for each decision above. Ask the agent to run validate_design_spec to find missing decisions and placeholders.

Specification starter
{
  "pattern": "dashboard",
  "decisions": {
    "purpose": "",
    "primaryAction": "",
    "loading": "",
    "empty": "",
    "error": "",
    "keyboard": "",
    "accessibility": "",
    "responsive": "",
    "success": "",
    "decisions": "",
    "metrics": "",
    "drilldown": ""
  }
}