Skip to content
Agent Workspaces
Skill

/temporal

Resolve ANY named time window — today, yesterday, thisWeek, lastWeek, last7Days, last30Days, last90Days, thisMonth, lastMonth, thisQuarter, lastQuarter, thisYear, lastYear, last12Months — or an arbitrary range (lastNdays / lastNweeks / lastNmonths) to a concrete ISO date range

From plugin
munder-difflin
9.2k18 skills

Claude Code

$ npx -y skills add harnessmd/munder-difflin --skill temporal --agent claude-code

SKILL.md

temporal.SKILL.md
name: temporal
description: |
  Resolve ANY named time window — today, yesterday, thisWeek, lastWeek,
  last7Days, last30Days, last90Days, thisMonth, lastMonth, thisQuarter,
  lastQuarter, thisYear, lastYear, last12Months — or an arbitrary range
  (lastNdays / lastNweeks / lastNmonths) to a concrete ISO date range relative
  to your run time. Read-only: no writes, no network. Use whenever a task is
  time-scoped and you need exact start/end dates without computing them by hand.
allowed-tools:
  - Bash

/temporal — concrete date ranges, relative to now

This is the single source of truth for "what dates does *<window>* mean right now?". It resolves named windows to **concrete ISO date ranges relative to your run time** (`new Date()` at the moment you invoke it), so you never re-derive dates manually. It only reads the clock and prints — no files written, no network.

Run it

# all windows at once (a quick temporal-context dump)
node "$AGENT_DIR/.claude/skills/temporal/when.mjs"

# one or several specific windows
node "$AGENT_DIR/.claude/skills/temporal/when.mjs" last30Days thisQuarter

# JSON only (machine-readable), or list the supported keywords
node "$AGENT_DIR/.claude/skills/temporal/when.mjs" --json last7Days
node "$AGENT_DIR/.claude/skills/temporal/when.mjs" --list

If `$AGENT_DIR` is somehow unset, the script also lives under `~/.claude/skills/temporal/when.mjs`.

Windows

| Keyword | Meaning | | --- | --- | | `today` / `yesterday` | the single civil day | | `thisWeek` / `lastWeek` | ISO week (Mon-start); *this* = Mon→today, *last* = the full prior Mon→Sun | | `last7Days` / `last30Days` / `last90Days` | rolling N-day window ending today (inclusive) | | `thisMonth` / `lastMonth` | *this* = 1st→today; *last* = the full prior calendar month | | `thisQuarter` / `lastQuarter` | *this* = quarter-start→today; *last* = the full prior quarter | | `thisYear` / `lastYear` | *this* = Jan 1→today (YTD); *last* = the full prior year | | `last12Months` | rolling 12 months ending today | | `lastNdays` / `lastNweeks` / `lastNmonths` | arbitrary rolling window, e.g. `last45days`, `last2weeks`, `last6months` |

Aliases: `ytd`, `qtd`, `mtd`, `wtd`, `7d`, `30d`, `90d`, `12m`.

Convention: `this*` windows are **period-start → today** (to-date); `last*` named periods are the **full prior complete period**.

Output

Each window prints a human line plus a JSON record:

  • `start` / `end` — inclusive civil dates (`YYYY-MM-DD`) in your local timezone
  • `startUtc` / `endExclusiveUtc` — the same span as a half-open `[start, end)`

range of exact UTC instants, ideal for timestamp / `createdAt`-style queries

  • `days`, `inclusive`, `timezone`, `tzOffsetMinutes`, `asOf` — span, tz, and the

instant the range was resolved

Use the returned dates as the time bounds for the task. The named shortcuts `/today`, `/yesterday`, `/last30Days`, `/lastQuarter`, … each call this same resolver for their one window.

Read more
@chaitanyagiri
Ships withmunder-difflin

an open-source alternative to the dots, bots and muses of the world, run an office of claude code/codex like agents on your laptop, sandboxes or anywhere, uses your existing subscriptions

Stars on GitHub

Momentum

stars in total
9.2k
Star history of chaitanyagiri/munder-difflin on GitHub, a chart by star-history.com

Other skills on munder-difflin.

ian-xiaohei-illustrations

ian-xiaohei-illustrati…

生成 Ian 风格的中文正文配图。用于用户要求为中文文章、帖子、博客、Notion 文档、工作流文档、方法论、流程、结构、状态、隐喻或观点生成“怪诞”“小黑”“手绘”“正文配图”“文章插图”“配图建议”“shot…

last30Days

last30Days

Resolve "last30Days" to a concrete ISO date range relative to your run time — a rolling 30-day window ending today. Returns…

last7Days

last7Days

Resolve "last7Days" to a concrete ISO date range relative to your run time — a rolling 7-day window ending today. Returns…

lastMonth

lastMonth

Resolve "lastMonth" to a concrete ISO date range relative to your run time — the previous full calendar month. Returns inclusive…

lastQuarter

lastQuarter

Resolve "lastQuarter" to a concrete ISO date range relative to your run time — the previous full quarter. Returns inclusive civil…

More skills from other plugins.

paseo

paseo

Paseo reference for managing hosts, projects, workspaces, workspace scripts, agents, schedules, and heartbeats.

paseo9d23k
@getpaseo@getpaseoInstall Skill
10x
Auto-invoked

10x

Personalized audit that teaches the advanced Paradev (formerly Superset) features the user isn't using yet (automations, parallel…

paradevtoday16k
@superset-sh@superset-shInstall Skill
brainstorming

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

codeg1d4.4k
@xintaofei@xintaofeiInstall Skill

Questions about temporal.

Which coding agents can use temporal?
temporal installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.