What problem does it solve? Adding analytics instrumentation to an Astro SSR application often leads to unsafe direct window.umami access, inconsistent event naming, and oversized payloads. This Skill standardizes how Umami tracking events and session identification are implemented so instrumentation stays typed, SSR-safe, and consistent. ## Core Features & Use Cases - Typed tracking helpers: Uses track and identify from ~/features/umami/tracking with typed overloads for page views, named events, and event data. - SSR-safe instrumentation: Helpers no-op when window.umami is unavailable, so tracking code is safe in server-rendered Astro code. - Payload guardrails: Enforces Umami data constraints (string/number/boolean values, small objects) and consistent kebab-case or snake_case event naming. - Use Case: When adding a "contact form submitted" event to an Astro page, apply this Skill to wire the event through the existing typed helpers instead of touching window.umami directly, then validate with npm run check. ## Quick Start Add a typed Umami tracking event for the contact form submission using the helpers in src/features/umami/tracking.