agentleFS
ryanmacleanryanmaclean/skills/almanac/SKILL.md

almanac

Skill1 starsChanged 50 days agoMITView on GitHub

Almanac reference for dates, holidays, time zones, business days, and astronomical events. Use when checking if a date is a business day, calculating date differences, converting time zones, looking up holidays, or checking for astronomical events like solstices, equinoxes, and moon phases. Also for seasonal calculations, workday schedules, and calendar arithmetic.

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

7 rules. About 0 are common, 7 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈7

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Observed holidays: If a federal holiday falls on Saturday, it's observed on Friday.

    line 31
  2. Distinctive:

    Add/subtract business days (skip weekends and holidays)

    line 65
  3. Distinctive:

    Check if a date is a business day

    line 66
  4. Distinctive:

    Add/subtract days, weeks, months, years

    line 71
  5. Distinctive:

    When converting time zones:

    line 114
  6. Distinctive:

    Always specify source and target zones

    line 115
  7. Distinctive:

    Use UTC as the canonical intermediate format

    line 117

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

almanac — Date, Time, and Calendar Reference

Quick reference for calendar arithmetic, business days, holidays, and astronomical events.

Business Days

Business day: Monday-Friday, excluding holidays.

US Federal Holidays (2026):

  • New Year's Day: January 1
  • Martin Luther King Jr. Day: Third Monday in January
  • Presidents' Day: Third Monday in February
  • Memorial Day: Last Monday in May
  • Juneteenth: June 19
  • Independence Day: July 4
  • Labor Day: First Monday in September
  • Columbus Day: Second Monday in October
  • Veterans Day: November 11
  • Thanksgiving Day: Fourth Thursday in November
  • Christmas Day: December 25

Observed holidays: If a federal holiday falls on Saturday, it's observed on Friday. If on Sunday, observed on Monday.

Time Zones

ZoneUTC OffsetMajor Cities
UTC+0Greenwich
EST/EDT-5/-4New York, Eastern US
CST/CDT-6/-5Chicago, Central US
MST/MDT-7/-6Denver, Mountain US
PST/PDT-8/-7Los Angeles, Pacific US
JST+9Tokyo
CET/CEST+1/+2Berlin, Central Europe
BST+1London (summer)
GMT+0London (winter)

Astronomical Events (2026)

EventDate
Spring EquinoxMarch 20
Summer SolsticeJune 21
Autumn EquinoxSeptember 22
Winter SolsticeDecember 21

Moon phases (approximate):

  • New moon: Every 29.5 days
  • First quarter: ~7 days after new
  • Full moon: ~14-15 days after new
  • Last quarter: ~22 days after new

Date Calculations

Workday calculations:

  • Add/subtract business days (skip weekends and holidays)
  • Check if a date is a business day
  • Find next/previous business day

Date arithmetic:

  • Days between dates
  • Add/subtract days, weeks, months, years
  • Week of year (ISO 8601: week starts Monday, week 1 contains first Thursday)

Seasonal Information

Season (Northern Hemisphere)Months
SpringMarch, April, May
SummerJune, July, August
AutumnSeptember, October, November
WinterDecember, January, February

Scripts

ScriptUse
script/is-business-day.nu "2026-04-15"Check if date is a business day
script/add-business-days.nu "2026-04-15" 5Add 5 business days to date
script/days-between.nu "2026-04-01" "2026-04-15"Calculate days between dates
script/week-of-year.nu "2026-04-15"Get ISO week number for date
script/moon-phase.nu "2026-04-15"Get moon phase for date

Scripts return structured JSON or human-readable output based on flags.

Common Patterns

Check if today is a business day:

nu script/is-business-day.nu (date now | format date "%Y-%m-%d")

Calculate project deadline (10 business days from today):

nu script/add-business-days.nu (date now | format date "%Y-%m-%d") 10

Check if a deadline falls on a weekend:

nu script/is-business-day.nu "2026-04-12"  # Saturday

Time Zone Conversion

When converting time zones:

  1. Always specify source and target zones
  2. Account for DST transitions
  3. Use UTC as the canonical intermediate format

Example: Convert 2026-04-15 14:00 EST to JST

  • EST → UTC: +5 hours → 2026-04-15 19:00 UTC
  • UTC → JST: +9 hours → 2026-04-16 04:00 JST

Leap Years

A year is a leap year if:

  • Divisible by 4, but not by 100, OR
  • Divisible by 400

2024: leap year 2025: not 2026: not 2028: leap year

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.