What problem does it solve? Client-side authentication in Jac has subtle failure modes: jacSignup returns a dict while jacLogin returns a bool, signup alone never establishes a session, and missing awaits or tight variable scoping cause silent runtime errors that pass compilation. This Skill encodes the correct call order, return types, and guard patterns so auth code works on the first try. ## Core Features & Use Cases - Correct helper usage: Documents the exact return types of jacSignup (dict), jacLogin (bool), jacLogout (sync), and jacIsLoggedIn (sync) from @jac/runtime, with the pre-declaration pattern that avoids ReferenceError at runtime. - Signup-then-login flow: Enforces the mandatory three-step awaited sequence (jacSignup, jacLogin, then def:priv calls) so protected endpoints receive an authenticated session. - Route protection: Shows AuthGuard layout patterns for file-based route groups plus inline jacIsLoggedIn guards, and SSO login via jacSsoLogin with server-side provider configuration. - Use Case: When building a registration page that also saves a user profile via a def:priv endpoint, apply this Skill to order the awaits correctly and avoid the 401 Unauthorized that appears only at runtime. ## Quick Start Add a login and signup flow to my Jac app with an AuthGuard protecting the dashboard route.