LANGUAGES AND TOOLING / GitHub community
.NET Timezone
Resolves .NET timezone work through the right library first — TimeZoneConverter for cross-platform, NodaTime for recurring schedules and strict DST arithmetic — and ships both Windows and IANA identifiers on every answer, seven copy-paste code patterns, and the pitfall list from DateTimeKind.Unspecified to DST transitions that skip or repeat local times.
“.NET timezone handling guidance for C# applications. Use when working with TimeZoneInfo, DateTimeOffset, NodaTime, UTC conversion, daylight saving time, scheduling across timezones, cross-platform Windows/IANA timezone IDs, or when a .NET user needs the timezone for a city, address, region, or country and copy-paste-ready C# code.”
01 / THE REASONING
Why this made the selection.
- Routes every request through the right library before any code is written — TimeZoneConverter for cross-platform work, NodaTime when recurring schedules or strict DST rules are in play — instead of letting agents reach for TimeZoneInfo on the wrong platform.
- The pitfall list is the real failure set: DateTimeKind.Unspecified as a bug risk, storing DateTime.Now in databases, DST transitions that skip or repeat local times, and Windows versus IANA identifier divergence including between Azure environments.
- Ships both identifier systems on every answer — the Windows ID for TimeZoneInfo on Windows, the IANA ID for Linux, containers and NodaTime — with a reference index of common mappings and seven ready code patterns from Windows-only to ambiguous DST timestamps.
02 / THE REVIEW RECORD
What we actually inspected.
Source review has boundaries.
A clear record is more useful than a “safe” badge.
Material inspected
- skills/dotnet-timezone/SKILL.md
- skills/dotnet-timezone/references directory listing
- LICENSE (MIT)
- vercel-labs/skills@7407f3893ad4dceab546ac002c3ef806e4000c73:README.md
- LICENSE
Our findings
- The references directory is verified to contain the two documents the workflow depends on: timezone-index.md for Windows-to-IANA mappings and code-patterns.md for the seven implementation patterns.
- The response shape is bounded: a recommended approach in one sentence, the relevant identifiers, a minimal snippet, package guidance, and one pitfall warning — not an essay.
- Ambiguity is handled honestly: when a location matches multiple zones, the skill lists the candidates and asks the user to choose rather than guessing.
- Location handling requires both Windows and IANA identifiers, asks the user to resolve ambiguous matches, and separates recurring-schedule/DST patterns from API and data-transfer patterns.
Not established by this review
- No C# code was compiled or run against these patterns; the workflow was read, not executed.
- The timezone index was verified to exist, not audited entry by entry for correctness.
- Not executed: it was not installed or run.
The review applies to the material and revision named here. A newer upstream release can change its behavior.
03 / PUT IT TO WORK
Add a skill to your workflow.
DOCUMENTED COMMAND
npx skills add github/awesome-copilot/skills/dotnet-timezone --skill dotnet-timezone Run in your terminal to choose your AI tools, project or global scope, and installation method. This short command follows the current upstream version; the review covers the revision shown above.
Optional: install the reviewed revision
Keeps the original source and installer version where recorded, while leaving your AI tools and installation scope for you to choose.
npx skills add https://github.com/github/awesome-copilot/tree/7cce7cfb4b61196c36d7e8eb8475ae84b356b126/skills/dotnet-timezone --skill dotnet-timezone - Install the complete skill directory; the mapping index and code patterns must travel with the SKILL.md.
- Bring the location, identifier or scheduling scenario; the skill answers with identifiers plus a copy-paste snippet.
Before you start
- Node.js/npm for the installer
- An agent that supports the Agent Skills format
- A .NET codebase or a timezone question about one
04 / FOLLOW THE EVIDENCE
The source trail.
Our notes are separate from the original resource.
Check upstream before adopting a new version.
https://github.com/github/awesome-copilot/blob/7cce7cfb4b61196c36d7e8eb8475ae84b356b126/skills/dotnet-timezone/SKILL.md
Supports: summary, upstreamDescription, whySelected, bestFor, limitations, review, access
https://github.com/github/awesome-copilot/tree/7cce7cfb4b61196c36d7e8eb8475ae84b356b126/skills/dotnet-timezone/references
Supports: review, whySelected
- Upstream license (MIT) ↗Checked
https://github.com/github/awesome-copilot/blob/7cce7cfb4b61196c36d7e8eb8475ae84b356b126/LICENSE
Supports: license
https://github.com/vercel-labs/skills/blob/7407f3893ad4dceab546ac002c3ef806e4000c73/README.md
Supports: install
https://raw.githubusercontent.com/github/awesome-copilot/7cce7cfb4b61196c36d7e8eb8475ae84b356b126/skills/dotnet-timezone/SKILL.md
Supports: review.findings, bestFor