← Back to Graph
AgentGraph

Skill · Version 1.0.0

Reliable time-series charts

Makes trends and period comparisons understandable by handling time zones, missing measurements and incomplete periods explicitly.

time-series-temporal-aggregation

See how it helps

When is it useful?

Use when a daily or monthly chart could suggest a change caused by calendar boundaries or incomplete data.

What does it help you do?

  • Aligns reporting periods to the chosen time zone, including daylight-saving changes.
  • Shows missing measurements as gaps and distinguishes them from genuine zero activity.
  • Labels unfinished periods and moving averages so comparisons retain their meaning.

Try asking this

Build a daily sales chart for Budapest time. Mark today as incomplete, show missing imports as gaps and compare equivalent weekdays from the previous period.

Detailed documentation

Read the skill’s original instructions, examples and checks in their authored language.

Details…Show less

Time Series & Temporal Aggregation

Use this skill when building time-series charts, date-range comparisons, rolling windows, or multi-granularity temporal views.

Explicit Timezone & Bucket Alignment

  1. Bucket in the Target Display Timezone, Not Accidental Browser Local Time:
    • Store and transmit timestamps in UTC ISO-8601 or epoch milliseconds, and bucket daily/weekly/monthly aggregations explicitly in the agreed reporting timezone (e.g., workspace timezone or UTC) using timezone-aware calendar arithmetic (Intl.DateTimeFormat, Temporal, or server-side AT TIME ZONE).
    • Display the active reporting timezone (UTC, Europe/Budapest, etc.) next to the date range picker.
  2. Handle Irregular Calendar Lengths & DST Transitions:
    • Account for 23-hour and 25-hour Daylight Saving Time days when plotting hourly series.
    • When comparing months (28–31 days) or leap years, clarify whether comparisons align by day-of-month index, elapsed days, or day-of-week (e.g., aligning Monday to Monday so weekend dips do not create false weekday anomalies).

Missing Buckets, Partial Periods & Rolling Windows

  • Never Fill Missing Time Buckets with 0 Unconditionally:
    • Distinguish sparse event streams (where zero rows in a bucket genuinely mean 0 orders/clicks in that hour, provided ingestion was healthy) from missing telemetry/measurements (where no sample was recorded, which must remain null and render as a gap).
  • Mark Incomplete Current Periods ("Partial Bucket"):
    • When viewing daily/weekly/monthly series that include the current in-progress bucket (today, this week, this month), style the trailing segment distinctly (dashed line, hatched bar, or "In progress" badge) so a partial day/month is never mistaken for a sudden cliff drop.
  • Labeled Smoothing & Moving Averages:
    • Never replace raw volatility with a smoothed curve (basis spline or moving average) without telling the viewer. Plot raw points/bars as muted context and overlay the explicitly labeled rolling window (7-day moving average) on top.

Checklist

  • Are time buckets aligned to the explicit reporting timezone rather than implicit browser local time?
  • Are missing measurements (null gaps) distinguished from observed 0 counts?
  • Is the current in-progress time bucket visually marked as partial so it does not look like a sudden drop?
  • Are period-over-period overlays (YoY, MoM, prior period) aligned sensibly for weekday/calendar shifts?

Included files 1

  • SKILL.md