What problem does it solve? Chrome extensions break standard Clerk auth flows: OAuth and SAML cannot run in popups or side panels, service workers lose session tokens after 60 seconds, content scripts cannot call Clerk directly, and rebuilding the extension rotates its ID and breaks allowed origins. This Skill provides the exact patterns to make Clerk authentication work in every extension context. ## Core Features & Use Cases - Popup and side panel auth: Configure ClerkProvider from @clerk/chrome-extension with chrome.runtime.getURL redirect URLs, modal sign-in buttons, and token caching via chrome.storage. - syncHost for OAuth/SAML: Delegate OAuth, SAML, and magic-link sign-in to a companion web app by syncing the Clerk session cookie through host_permissions and allowed origins. - Background and headless auth: Use createClerkClient with background: true in service workers to keep sessions fresh, and message passing to serve tokens to content scripts. - Stable CRX ID: Pin the extension ID with a manifest key so rebuilds no longer break Clerk allowed origins. - Use Case: You are building a Plasmo extension that must let users sign in with Google. The Skill walks you through setting PLASMO_PUBLIC_CLERK_SYNC_HOST, adding the syncHost prop, configuring host_permissions, and registering the extension ID via the Clerk API. ## Quick Start Ask the assistant to set up Clerk authentication in your Plasmo Chrome extension popup with sign-in and user buttons.