SKILL.md
Public Holidays Skill
"Is Monday a holiday in Germany?" is a five-second question that decides deploy schedules, invoice due dates, and vacation math — and Nager.Date answers it for 100+ countries over keyless HTTPS. This skill fetches, answers the actual question (a date, a plan, a long weekend), and respects the two traps: regional holidays that don't apply nationwide, and the countries whose holiday culture the API's global flag quietly encodes.
What This Skill Produces
- The answer — is/isn't a holiday, the next one coming, or the year's list — whichever was asked
- Local names alongside English — 元日 reads differently than "New Year's Day," and the local name is what colleagues will say
- Long-weekend candidates — holidays adjacent to weekends, the planning gold
- The command — exact curl, rerunnable
Required Inputs
Ask for these if not provided:
- Country (or countries) — ISO two-letter codes resolved from names; multi-country questions are batched, one call each
- Year — default the current year; "next 12 months" spans two calls
- The real question — a specific date, planning a trip, scheduling around a team, or hunting long weekends — the output shapes to it
Framework: The Calls and the Traps
- The year list:
curl -s "https://date.nager.at/api/v3/PublicHolidays/2026/JP"→ JSON array withdate,localName,name,global,counties,types. Next holidays:.../api/v3/NextPublicHolidays/DE. Specific-date check: fetch the year, match the date. Long weekends, precomputed:.../api/v3/LongWeekend/2026/DE— the API does the adjacency math itself. - The
globalflag is the regional trap:global: false+ acountiesarray means the holiday applies only in listed regions (Bavaria's extra days, Scotland vs England). Answering "Germany has a holiday" for a Bavaria-only day is the classic wrong answer — quote the regions.
