---
name: Last 30 Days
slug: last-30-days-2
category: AI Engineering
description: "Last 30 Days resolves a rolling 30-day window ending today to concrete ISO date ranges, including UTC instants, so agents have accurate temporal bounds without manual date math. Use it before any 'last 30 days' or trailing-month task like monthly trends or recent activity."
github: "https://github.com/chaitanyagiri/munder-difflin/tree/main/resources/skills/last30Days"
language: TypeScript
stars: 2178
forks: 253
install: "npx degit https://github.com/chaitanyagiri/munder-difflin/tree/main/resources/skills/last30Days ~/.claude/skills/last30Days"
installs_to: ~/.claude/skills/last30Days
source_path: resources/skills/last30Days/SKILL.md
collection_size: 17
category_size: 2451
collection_url: "https://dirskills.com/collections/chaitanyagiri/munder-difflin"
added: 2026-08-19T07:25:42.991Z
last_synced: 2026-08-19T07:25:42.991Z
canonical_url: "https://dirskills.com/skills/last-30-days-2"
---

# Last 30 Days

Last 30 Days resolves a rolling 30-day window ending today to concrete ISO date ranges, including UTC instants, so agents have accurate temporal bounds without manual date math. Use it before any 'last 30 days' or trailing-month task like monthly trends or recent activity.

**Install:**

```bash
npx degit https://github.com/chaitanyagiri/munder-difflin/tree/main/resources/skills/last30Days ~/.claude/skills/last30Days
```

## README

## /last30Days

Get the concrete date range for **a rolling 30-day window ending today** by running the bundled resolver:

```bash
node "$AGENT_DIR/.claude/skills/temporal/when.mjs" last30Days
```

It prints a human-readable line plus a JSON record:

- `start` / `end` — inclusive civil dates (`YYYY-MM-DD`) in your local timezone
- `startUtc` / `endExclusiveUtc` — the same window as a half-open `[start, end)`
  range of exact UTC instants, for timestamp-based queries
- `days`, `timezone`, `asOf` — the span, your timezone, and when this resolved

Use the returned dates as the time bounds for the task at hand. **Do not derive
dates by hand** — this resolver is the source of truth. For the full window list
or an arbitrary range (e.g. `last45days`, `last6months`), see the `/temporal` skill.
