Agent skill

Temporal Date Window Resolver

by HarnessMD in HarnessMD/munder-difflin

Resolves a named time window like lastWeek, last30Days or lastQuarter into exact ISO start and end dates relative to the current moment, with no files written and no network calls.

MITAuto-check: notesDevelopment

Install Temporal Date Window Resolver

skills CLI
$ npx skills add HarnessMD/munder-difflin --skill temporal -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install HarnessMD/munder-difflin temporal --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/HarnessMD/munder-difflin.git skills-src && mkdir -p .claude/skills && cp -r skills-src/resources/skills/temporal .claude/skills/temporal && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
temporal
GitHub stars
8.6k
Token cost
~742 tokens
SKILL.md length
258 words
Files
2
Skills in repo
7
Repo updated
First seen
Licence
MIT

At a glance

Resolves a named time window like lastWeek, last30Days or lastQuarter into exact ISO start and end dates relative to the current moment, with no files written and no network calls.

  • Getting the exact date range for lastWeek or lastQuarter before running a report
  • Runs JavaScript scripts from its folder; calls node
  • Converting a relative time phrase into concrete start and end timestamps for a query
  • Checking what today or yesterday means in the current timezone

What it does

Running the bundled when.mjs script with no arguments dumps every supported window at once; a single window name narrows the output. Supported keywords cover today and yesterday, this and last versions of week, month, quarter and year, rolling windows like last7Days, last30Days, last90Days and last12Months, and an arbitrary lastNdays, lastNweeks or lastNmonths form such as last45days, plus short aliases like ytd, qtd, mtd and 7d.

The stated convention is that this* windows run from the period's start up to today, while last* windows are the complete prior period, such as the full previous calendar month rather than a rolling 30 days. Each resolved window prints both a human-readable line and a JSON record with inclusive local start and end dates, a half-open UTC range suited to timestamp comparisons, the span in days, the timezone and offset, and the instant the range was resolved, so a task can use exact dates without computing them by hand.

When your agent uses it

  • Getting the exact date range for lastWeek or lastQuarter before running a report
  • Converting a relative time phrase into concrete start and end timestamps for a query
  • Checking what today or yesterday means in the current timezone

Example prompts

  • “What are the exact dates for lastQuarter right now?”
  • “Resolve last45days into a start and end date I can use in a query.”
  • “/temporal thisMonth”

Requirements

  • Node.js, to run when.mjs
  • Pre-approved tools (allowed-tools): Bash

What it can do on your machine

Read from SKILL.md and the folder at commit 7d38335. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (JavaScript), which the agent can run.

    Shell commands in SKILL.md call:

    • node

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Temporal Date Window Resolver loads about 742 tokens when it runs. Until then it costs about 112 tokens; SKILL.md has 258 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~112
When it runs · the whole SKILL.md, loaded when a task matches
~742

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from HarnessMD/munder-difflin at commit 7d38335, republished under its MIT licence (© HarnessMD). 258 words, ~742 tokens.

Download SKILL.mdSave it as .claude/skills/temporal/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
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
bash
# 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
KeywordMeaning
today / yesterdaythe single civil day
thisWeek / lastWeekISO week (Mon-start); this = Mon→today, last = the full prior Mon→Sun
last7Days / last30Days / last90Daysrolling N-day window ending today (inclusive)
thisMonth / lastMonththis = 1st→today; last = the full prior calendar month
thisQuarter / lastQuarterthis = quarter-start→today; last = the full prior quarter
thisYear / lastYearthis = Jan 1→today (YTD); last = the full prior year
last12Monthsrolling 12 months ending today
lastNdays / lastNweeks / lastNmonthsarbitrary 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.

© HarnessMD, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in resources/skills/temporal of HarnessMD/munder-difflin.

  • SKILL.md
  • when.mjs

Open the folder on GitHubat commit 7d38335

Compare with similar skills

Temporal Date Window Resolver next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Temporal Date Window Resolver compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Temporal Date Window Resolver this skillHarnessMD/munder-difflin8.6k—~742Automated safety check: NotesMIT
Vercel Composition Patternssupabase/supabase111k59 repos~726Automated safety check: PassMIT
Finishing a Development Branchobra/superpowers296k5 repos~1.9kAutomated safety check: PassMIT
Typescript Advanced Typesrolling-scopes/rsschool-app10k25 repos~4.2kAutomated safety check: PassMPL-2.0
PR Babysitteropeninterpreter/openinterpreter69k3 repos~4.2kAutomated safety check: PassApache-2.0
Code Review ChecklistshareAI-lab/learn-claude-code78k5 repos~1.1kAutomated safety check: PassMIT

Similar skills

  • Official

    React composition patterns that scale. An agent skill from supabase/supabase.

    111k GitHub starsUsed in 59 repos~726 tokens
    DevelopmentAuto-check passed
  • Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.

    296k GitHub starsUsed in 5 repos~1.9k tokens
    DevelopmentAuto-check passed
  • Typescript Advanced Types

    rolling-scopes/rsschool-app

    Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications.

    10k GitHub starsUsed in 25 repos~4.2k tokens
    DevelopmentAuto-check passed
  • PR Babysitter

    openinterpreter/openinterpreter

    Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.

    69k GitHub starsUsed in 3 repos~4.2k tokens
    DevelopmentAuto-check passed
  • Code Review Checklist

    shareAI-lab/learn-claude-code

    Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.

    78k GitHub starsUsed in 5 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Greploop

    onyx-dot-app/onyx

    Iteratively improves a PR (GitHub), MR (GitLab), or shelved changelist (Perforce) until Greptile gives it a 5/5 confidence score with zero unresolved comments.

    32k GitHub starsUsed in 4 repos~3.3k tokens
    DevelopmentAuto-check passed

More from HarnessMD/munder-difflin

  • Worker Capability Catalog

    HarnessMD/munder-difflin

    Read-only catalog that tells a spawned worker agent its environment variables, temporal date-range skills and how to call each integration.

    8.6k GitHub stars~1.4k tokensUpdated today
    Auto-check: notes
  • Read-Only Code Audit

    HarnessMD/munder-difflin

    Scans the working directory for ignored errors, hard-coded secrets, debt comments, dead exports and type gaps, and reports findings by severity without editing files.

    8.6k GitHub stars~350 tokensUpdated today
    Auto-check: notes
  • Munder Difflin Hive Sync

    HarnessMD/munder-difflin

    Runs the start-of-task routine for an agent working in a multi-agent hive: reads memory.md, processes new inbox messages and reminds the agent to record durable facts before ending.

    8.6k GitHub stars~331 tokensUpdated today
    Auto-check: notes
  • Today Date Resolver

    HarnessMD/munder-difflin

    Resolve "today" to a concrete ISO date range relative to your run time — today. Returns inclusive civil dates plus exact UTC instants so you have temporal…

    8.6k GitHub stars~285 tokensUpdated today
    Auto-check: notes
  • Yesterday Date Resolver

    HarnessMD/munder-difflin

    Resolve "yesterday" to a concrete ISO date range relative to your run time — yesterday. Returns inclusive civil dates plus exact UTC instants so you have…

    8.6k GitHub stars~290 tokensUpdated today
    Auto-check: notes
  • Md Fetch Summarize

    HarnessMD/munder-difflin

    Fetch a URL and return a concise markdown summary of its content.

    8.6k GitHub stars~259 tokensUpdated today
    Auto-check: notes

Categories

Questions about Temporal Date Window Resolver

What does Temporal Date Window Resolver do?

Resolves a named time window like lastWeek, last30Days or lastQuarter into exact ISO start and end dates relative to the current moment, with no files written and no network calls. mjs script with no arguments dumps every supported window at once; a single window name narrows the output. Supported keywords cover today and yesterday, this and last versions of week, month, quarter and year, rolling windows like last7Days, last30Days, last90Days and last12Months, and an arbitrary lastNdays, lastNweeks or lastNmonths form such as last45days, plus short aliases like ytd, qtd, mtd and 7d.

When should I use Temporal Date Window Resolver?

Temporal Date Window Resolver fits situations like: getting the exact date range for lastWeek or lastQuarter before running a report; converting a relative time phrase into concrete start and end timestamps for a query; checking what today or yesterday means in the current timezone.

How do I install Temporal Date Window Resolver in Claude Code?

Run `npx skills add HarnessMD/munder-difflin --skill temporal -a claude-code`. Or copy the skill folder (resources/skills/temporal in HarnessMD/munder-difflin) into .claude/skills/temporal in your project. Claude Code loads it when a task matches its description.

How do I install Temporal Date Window Resolver in Codex?

Run `npx skills add HarnessMD/munder-difflin --skill temporal -a codex`. Or copy the skill folder (resources/skills/temporal in HarnessMD/munder-difflin) into .agents/skills/temporal in your project. Codex loads it when a task matches its description.

Can I use Temporal Date Window Resolver in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add HarnessMD/munder-difflin --skill temporal -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/temporal, .gemini/skills/temporal, .github/skills/temporal and .opencode/skills/temporal in your project.

What does Temporal Date Window Resolver need to run?

Going by SKILL.md and its folder, Temporal Date Window Resolver needs JavaScript for the scripts in its folder and the command-line tools its instructions call (node). Our summary lists: Node.js, to run when.mjs. Its frontmatter pre-approves these tools: Bash.

Does Temporal Date Window Resolver access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Temporal Date Window Resolver safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Temporal Date Window Resolver use?

Temporal Date Window Resolver is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Temporal Date Window Resolver use?

About 742 tokens (SKILL.md is roughly 3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Temporal Date Window Resolver?

Skills that share tags, products or a category with Temporal Date Window Resolver: Vercel Composition Patterns (supabase/supabase, 111k stars), Finishing a Development Branch (obra/superpowers, 296k stars), Typescript Advanced Types (rolling-scopes/rsschool-app, 10k stars) and PR Babysitter (openinterpreter/openinterpreter, 69k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Temporal Date Window Resolver?

HarnessMD (a GitHub organization) maintains it in HarnessMD/munder-difflin, which has 8,567 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 8, 2026.

Source: HarnessMD/munder-difflin on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.