i18n-and-timezones
Installation
SKILL.md
I18n + Time Zones
Two related areas Rails handles well by default but AI agents botch consistently. Strings get hardcoded.
Time.nowreturns server-local instead of UTC. DST changes break appointment booking. This skill encodes the defaults that prevent each class of bug.
The opinion
Externalize every user-visible string via
t(). Use the rails-i18n gem for built-in locales (date formats, currency, validation messages). Store all times as UTC in the database (Rails default). UseTime.current/Time.zone.now, neverTime.now. SetTime.zoneper-request based on user preference. Use thetime_in_zonehelper for display. Test DST transitions explicitly.