[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-skill-clerk-clerk-chrome-extension-patterns-bn":3,"guides-for-clerk-clerk-chrome-extension-patterns":270,"similar-k1722ah4fhx2d8wht9q7963ee18670p6":271},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":21,"identity":186,"isFallback":190,"parentExtension":191,"providers":249,"relations":252,"repo":253,"workflow":269},1778053930836.1206,"k1722ah4fhx2d8wht9q7963ee18670p6",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":12,"sourceUrl":13,"tags":14},"Chrome Extension auth with @clerk/chrome-extension -- popup/sidepanel setup, syncHost for OAuth/SAML via web app, createClerkClient for service workers and headless extensions, stable CRX ID. Triggers on: Chrome extension auth, Plasmo clerk, popup sign-in, syncHost, background service worker token, createClerkClient, headless extension.",{},"Clerk Chrome Extension Patterns","https://github.com/clerk/skills/tree/HEAD/skills/frameworks/clerk-chrome-extension-patterns",[15,16,17,18,19,20],"chrome-extension","clerk","authentication","plasmo","sdk","documentation",{"_creationTime":22,"_id":23,"extensionId":5,"locale":24,"result":25,"trustSignals":174,"workflow":184},1778054020038.7063,"kn72cmqbshbr421dxt06q0teyh866ya3","en",{"checks":26,"evaluatedAt":164,"extensionSummary":165,"promptVersionExtension":166,"promptVersionScoring":167,"rationale":168,"score":169,"summary":170,"tags":171,"targetMarket":172,"tier":173},[27,32,35,38,42,45,50,54,57,60,64,68,71,75,78,81,84,87,90,93,97,101,105,109,113,116,119,122,126,129,132,135,138,141,145,148,151,154,157,161],{"category":28,"check":29,"severity":30,"summary":31},"Practical Utility","Problem relevance","pass","The description clearly states the user problem: setting up authentication for Chrome extensions using Clerk, addressing specific challenges like popup/sidepanel limitations and service worker integration.",{"category":28,"check":33,"severity":30,"summary":34},"Unique selling proposition","The extension provides specific patterns for integrating Clerk auth into Chrome extensions, addressing limitations of popup/service worker contexts and offering solutions like syncHost and createClerkClient, which go beyond basic authentication.",{"category":28,"check":36,"severity":30,"summary":37},"Production readiness","The extension provides comprehensive guidance and code examples for various Chrome extension authentication scenarios, including setup, syncHost, headless extensions, and content scripts, covering the complete lifecycle for these patterns.",{"category":39,"check":40,"severity":30,"summary":41},"Scope","Single responsibility principle","The extension focuses specifically on patterns for handling Clerk authentication within Chrome extensions, covering popups, side panels, service workers, and content scripts without venturing into unrelated domains.",{"category":39,"check":43,"severity":30,"summary":44},"Description quality","The description accurately and concisely reflects the capabilities detailed in the SKILL.md file, covering setup, syncHost, createClerkClient, and other relevant patterns for Chrome extension authentication with Clerk.",{"category":46,"check":47,"severity":48,"summary":49},"Invocation","Scoped tools","not_applicable","This extension does not expose specific tools; it provides documentation and code examples for integrating Clerk authentication within a Chrome extension.",{"category":51,"check":52,"severity":30,"summary":53},"Documentation","Configuration & parameter reference","Environment variables like PLASMO_PUBLIC_CLERK_PUBLISHABLE_KEY and CLERK_FRONTEND_API are clearly documented with their purpose and usage within the provided code examples and instructions.",{"category":39,"check":55,"severity":48,"summary":56},"Tool naming","This extension does not define user-facing tools; it provides documentation and code examples.",{"category":39,"check":58,"severity":48,"summary":59},"Minimal I/O surface","This extension does not expose tools with input/output parameters; it provides documentation and code examples.",{"category":61,"check":62,"severity":30,"summary":63},"License","License usability","The extension is licensed under the MIT license, which is a permissive open-source license.",{"category":65,"check":66,"severity":48,"summary":67},"Maintenance","Commit recency","Commit history is not available for this evaluation.",{"category":65,"check":69,"severity":30,"summary":70},"Dependency Management","The extension uses Plasmo and standard React dependencies, which are typically managed with lockfiles, indicating good dependency management practices.",{"category":72,"check":73,"severity":30,"summary":74},"Security","Secret Management","Secrets like publishable keys are expected to be managed via environment variables (.env files) and are not hardcoded in the provided code examples, following best practices.",{"category":72,"check":76,"severity":30,"summary":77},"Injection","The provided code examples focus on integrating Clerk's SDK and do not exhibit patterns that load or execute untrusted third-party data as instructions.",{"category":72,"check":79,"severity":30,"summary":80},"Transitive Supply-Chain Grenades","The extension relies on standard npm packages and Plasmo's build process, with no indication of runtime script fetching or execution from external, unverified sources.",{"category":72,"check":82,"severity":30,"summary":83},"Sandbox Isolation","The code examples provided are standard Chrome extension patterns using Plasmo and do not attempt to access or modify files outside the expected extension/project directories.",{"category":72,"check":85,"severity":30,"summary":86},"Sandbox escape primitives","No detached-process spawns or retry loops around denied tool calls are present in the provided code examples.",{"category":72,"check":88,"severity":30,"summary":89},"Data Exfiltration","The code examples handle sensitive keys via environment variables and do not include any outbound calls to undocumented or suspicious domains for data exfiltration.",{"category":72,"check":91,"severity":30,"summary":92},"Hidden Text Tricks","The bundled files and documentation do not contain any hidden-steering tricks, invisible characters, or obfuscated content.",{"category":94,"check":95,"severity":30,"summary":96},"Hooks","Opaque code execution","The provided code is plain JavaScript/TypeScript and does not involve obfuscation, base64 payloads, eval, or runtime script fetching.",{"category":98,"check":99,"severity":30,"summary":100},"Portability","Structural Assumption","The code examples use standard Plasmo project structure and environment variables, avoiding assumptions about specific user project layouts outside the bundle.",{"category":102,"check":103,"severity":48,"summary":104},"Trust","Issues Attention","Issue tracking data is not available for this repository.",{"category":106,"check":107,"severity":30,"summary":108},"Versioning","Release Management","A version number (2.0.0) is declared in the SKILL.md frontmatter.",{"category":110,"check":111,"severity":30,"summary":112},"Code Execution","Validation","The provided code snippets demonstrate standard SDK usage and environment variable checks, implying that the underlying Clerk SDK and Plasmo handle validation. Explicit validation schemas are not shown but are not required for this type of documentation skill.",{"category":72,"check":114,"severity":30,"summary":115},"Unguarded Destructive Operations","The extension focuses on authentication patterns and does not involve destructive operations like database migrations or infrastructure changes.",{"category":110,"check":117,"severity":30,"summary":118},"Error Handling","The code examples include basic error handling, such as throwing errors for missing environment variables and using try-catch blocks in service worker message listeners.",{"category":110,"check":120,"severity":30,"summary":121},"Logging","The code includes console.error logging for potential errors in the background service worker, providing basic auditability.",{"category":123,"check":124,"severity":30,"summary":125},"Compliance","GDPR","The extension itself handles authentication tokens and does not appear to directly process or submit personal data beyond what is necessary for authentication, with sensitive keys managed via environment variables.",{"category":123,"check":127,"severity":30,"summary":128},"Target market","The extension provides patterns for Chrome extensions, which are globally applicable, and does not contain any regional-specific logic or language constraints.",{"category":98,"check":130,"severity":30,"summary":131},"Runtime stability","The extension uses standard Chrome extension APIs and Plasmo, which are designed for cross-platform compatibility. No specific OS or shell assumptions are made.",{"category":46,"check":133,"severity":30,"summary":134},"Precise Purpose","The description clearly outlines the purpose (Chrome Extension auth with Clerk) and the specific contexts (popup, sidepanel, service worker, headless) where it should be used.",{"category":46,"check":136,"severity":30,"summary":137},"Concise Frontmatter","The frontmatter is concise and effectively summarizes the skill's core capability and triggers.",{"category":51,"check":139,"severity":30,"summary":140},"Concise Body","The SKILL.md body is well-structured, uses progressive disclosure via references, and stays within a reasonable length.",{"category":142,"check":143,"severity":30,"summary":144},"Context","Progressive Disclosure","The SKILL.md effectively uses relative paths to link to detailed explanations in `references/` files for specific patterns.",{"category":142,"check":146,"severity":48,"summary":147},"Forked exploration","This extension provides documentation and patterns, not a workflow that involves deep exploration requiring forked context.",{"category":28,"check":149,"severity":30,"summary":150},"Usage examples","Multiple, ready-to-use code examples are provided for various scenarios like popup setup, syncHost, createClerkClient, and headless extensions.",{"category":28,"check":152,"severity":30,"summary":153},"Edge cases","The documentation addresses common pitfalls and limitations, such as redirect loops, OAuth in popups, stale auth states, and token expiration, providing fixes for each.",{"category":110,"check":155,"severity":48,"summary":156},"Tool Fallback","This extension does not rely on external tools like MCP servers; it uses standard Chrome extension APIs and the Clerk SDK.",{"category":158,"check":159,"severity":30,"summary":160},"Safety","Halt on unexpected state","The code includes checks for missing environment variables, which would halt execution and report an error, aligning with halting on unexpected state.",{"category":98,"check":162,"severity":30,"summary":163},"Cross-skill coupling","The extension provides standalone patterns for Chrome extension authentication with Clerk and does not implicitly rely on other skills being loaded.",1778054004895,"This extension provides detailed patterns for setting up Clerk authentication in Chrome extensions, including popup/sidepanel configurations, service worker integration using createClerkClient, and syncing auth state with web apps via syncHost. It covers headless extensions and content script communication, along with essential setup steps and common pitfalls.","2.0.0","3.4.0","This extension provides excellent documentation and practical code examples for integrating Clerk authentication into Chrome extensions, covering various scenarios and addressing common pitfalls. It adheres to security best practices and is well-structured.",95,"A comprehensive guide and code examples for implementing Clerk authentication within Chrome extensions.",[15,16,17,18,19,20],"global","verified",{"codeQuality":175,"collectedAt":176,"documentation":177,"maintenance":179,"security":180,"testCoverage":183},{},1778053988244,{"descriptionLength":178,"readmeSize":8},338,{},{"hasNpmPackage":181,"license":182,"smitheryVerified":181},false,"MIT",{"hasCi":181,"hasTests":181},{"updatedAt":185},1778054020038,{"githubOwner":16,"githubRepo":187,"locale":24,"slug":188,"type":189},"skills","clerk-chrome-extension-patterns","skill",true,{"_creationTime":192,"_id":193,"community":194,"display":195,"identity":213,"parentExtension":215,"providers":243,"relations":247,"workflow":248},1778053930836.1162,"k1743f7ms46548z8nzj1s5afxd866ek0",{"reviewCount":8},{"description":196,"installMethods":197,"name":198,"sourceUrl":199,"tags":200},"Framework-specific Clerk integration patterns: middleware, hooks, SSR, composables, and advanced usage",{},"Clerk Skills","https://github.com/clerk/skills",[16,17,201,202,203,204,205,206,207,208,209,210,211,212],"frameworks","nextjs","react","vue","nuxt","astro","expo","swift","android","webhooks","billing","organizations",{"githubOwner":16,"githubRepo":187,"locale":24,"slug":201,"type":214},"plugin",{"_creationTime":216,"_id":217,"community":218,"display":219,"identity":227,"providers":230,"relations":238,"workflow":240},1778053930836.1133,"k176xntnjb9e2mv2a7hqvgmy7h866yhy",{"reviewCount":8},{"description":220,"installMethods":221,"name":198,"sourceUrl":199,"tags":222},"Official Clerk skills for AI coding agents",{},[16,17,223,224,225,226],"auth","developer-tools","ai-agent","coding",{"githubOwner":16,"githubRepo":187,"locale":24,"slug":228,"type":229},"clerk-skills","marketplace",{"extract":231,"llm":236},{"commitSha":232,"license":182,"marketplace":233},"c1f6afc82a165988421166e68872cb41b892c0b0",{"name":228,"pluginCount":234,"version":235},4,"1.0.0",{"promptVersionExtension":166,"promptVersionScoring":167,"score":237,"targetMarket":172,"tier":173},85,{"repoId":239},"kd77f99t2sa8rvy3sj7yn73zp1864abx",{"anyEnrichmentAt":241,"extractAt":242,"githubAt":241,"llmAt":185,"updatedAt":185},1778053933098,1778053930836,{"extract":244,"llm":245},{"commitSha":232},{"promptVersionExtension":166,"promptVersionScoring":167,"score":246,"targetMarket":172,"tier":173},92,{"parentExtensionId":217,"repoId":239},{"anyEnrichmentAt":241,"extractAt":242,"githubAt":241,"llmAt":185,"updatedAt":185},{"extract":250,"llm":251},{"commitSha":232,"license":182},{"promptVersionExtension":166,"promptVersionScoring":167,"score":169,"targetMarket":172,"tier":173},{"parentExtensionId":193,"repoId":239},{"_creationTime":254,"_id":239,"identity":255,"providers":256,"workflow":266},1777995558409.8354,{"githubOwner":16,"githubRepo":187,"sourceUrl":199},{"discover":257,"github":260},{"sources":258},[259],"skills-sh",{"closedIssues90d":8,"forks":261,"openIssues90d":8,"pushedAt":262,"readmeSize":263,"stars":264,"topics":265},2,1778011344000,5449,40,[],{"discoverAt":267,"extractAt":268,"githubAt":268,"updatedAt":268},1777995558409,1778053934643,{"anyEnrichmentAt":241,"extractAt":242,"githubAt":241,"llmAt":185,"updatedAt":185},[],[272,295,315,333,355,376],{"_creationTime":273,"_id":274,"community":275,"display":276,"identity":286,"providers":288,"relations":292,"workflow":294},1778053930836.1216,"k179vaekcmae3hrhq6rhxzc03d86616j",{"reviewCount":8},{"description":277,"installMethods":278,"name":279,"sourceUrl":280,"tags":281},"Clerk Organizations for B2B SaaS - create multi-tenant apps with org switching, role-based access, verified domains, and enterprise SSO. Use for team workspaces, RBAC, org-based routing, member management.",{},"Clerk Organizations","https://github.com/clerk/skills/tree/HEAD/skills/features/clerk-orgs",[16,17,282,283,212,284,285,202],"b2b","saas","rbac","sso",{"githubOwner":16,"githubRepo":187,"locale":24,"slug":287,"type":189},"clerk-orgs",{"extract":289,"llm":290},{"commitSha":232,"license":182},{"promptVersionExtension":166,"promptVersionScoring":167,"score":291,"targetMarket":172,"tier":173},98,{"parentExtensionId":293,"repoId":239},"k172frdvq0x6yj945vg2ce7z9s867rrz",{"anyEnrichmentAt":241,"extractAt":242,"githubAt":241,"llmAt":185,"updatedAt":185},{"_creationTime":296,"_id":297,"community":298,"display":299,"identity":308,"providers":310,"relations":313,"workflow":314},1778053930836.1182,"k17ehatrq8deqzjfzbyarqxe09866g81",{"reviewCount":8},{"description":300,"installMethods":301,"name":302,"sourceUrl":303,"tags":304},"Vue 3 patterns with Clerk — composables (useAuth, useUser, useClerk, useOrganization), Vue Router guards, Pinia auth store integration. Triggers on: vue clerk, useAuth vue, clerk composables, vue router clerk guard, pinia auth clerk. For Nuxt, use clerk-nuxt-patterns instead.",{},"Vue Patterns","https://github.com/clerk/skills/tree/HEAD/skills/frameworks/clerk-vue-patterns",[204,16,17,305,306,307],"composables","pinia","vue-router",{"githubOwner":16,"githubRepo":187,"locale":24,"slug":309,"type":189},"clerk-vue-patterns",{"extract":311,"llm":312},{"commitSha":232,"license":182},{"promptVersionExtension":166,"promptVersionScoring":167,"score":291,"targetMarket":172,"tier":173},{"parentExtensionId":193,"repoId":239},{"anyEnrichmentAt":241,"extractAt":242,"githubAt":241,"llmAt":185,"updatedAt":185},{"_creationTime":316,"_id":317,"community":318,"display":319,"identity":326,"providers":328,"relations":331,"workflow":332},1778053930836.1191,"k170j22apn2kbgrpnbwbpf8d7d867qmx",{"reviewCount":8},{"description":320,"installMethods":321,"name":322,"sourceUrl":323,"tags":324},"Astro patterns with Clerk — middleware, SSR pages, island components, API routes, static vs SSR rendering. Triggers on: astro clerk, clerk astro middleware, astro protected page, clerk island component, astro API route auth, clerk astro SSR.",{},"Clerk Astro Patterns","https://github.com/clerk/skills/tree/HEAD/skills/frameworks/clerk-astro-patterns",[206,16,17,325,201],"webdev",{"githubOwner":16,"githubRepo":187,"locale":24,"slug":327,"type":189},"clerk-astro-patterns",{"extract":329,"llm":330},{"commitSha":232,"license":182},{"promptVersionExtension":166,"promptVersionScoring":167,"score":291,"targetMarket":172,"tier":173},{"parentExtensionId":193,"repoId":239},{"anyEnrichmentAt":241,"extractAt":242,"githubAt":241,"llmAt":185,"updatedAt":185},{"_creationTime":334,"_id":335,"community":336,"display":337,"identity":348,"providers":350,"relations":353,"workflow":354},1778053930836.1196,"k17ak27g3g09fy7wf40a461jmh866tny",{"reviewCount":8},{"description":338,"installMethods":339,"name":340,"sourceUrl":341,"tags":342},"TanStack React Start auth patterns with @clerk/tanstack-react-start - createServerFn, beforeLoad guards, loaders, Vinxi server. Triggers on: TanStack auth, createServerFn clerk, beforeLoad protection, TanStack Start middleware.",{},"TanStack React Start Patterns","https://github.com/clerk/skills/tree/HEAD/skills/frameworks/clerk-tanstack-patterns",[343,203,16,17,202,344,345,346,347],"tanstack","server","routes","guards","middleware",{"githubOwner":16,"githubRepo":187,"locale":24,"slug":349,"type":189},"clerk-tanstack-patterns",{"extract":351,"llm":352},{"commitSha":232,"license":182},{"promptVersionExtension":166,"promptVersionScoring":167,"score":291,"targetMarket":172,"tier":173},{"parentExtensionId":193,"repoId":239},{"anyEnrichmentAt":241,"extractAt":242,"githubAt":241,"llmAt":185,"updatedAt":185},{"_creationTime":356,"_id":357,"community":358,"display":359,"identity":369,"providers":371,"relations":374,"workflow":375},1778053930836.12,"k172gby83ypeqfbqh811nq5prx8678ej",{"reviewCount":8},{"description":360,"installMethods":361,"name":362,"sourceUrl":363,"tags":364},"Expo / React Native patterns with Clerk — SecureStore token cache, OAuth deep linking, useAuth in native, Expo Router protected routes, push notifications with user context. Triggers on: expo clerk, clerk react native, SecureStore token cache, expo router auth, OAuth deep link clerk, mobile auth clerk.",{},"Clerk Expo Patterns","https://github.com/clerk/skills/tree/HEAD/skills/frameworks/clerk-expo-patterns",[207,365,16,17,366,367,368],"react-native","oauth","expo-router","securestore",{"githubOwner":16,"githubRepo":187,"locale":24,"slug":370,"type":189},"clerk-expo-patterns",{"extract":372,"llm":373},{"commitSha":232,"license":182},{"promptVersionExtension":166,"promptVersionScoring":167,"score":291,"targetMarket":172,"tier":173},{"parentExtensionId":193,"repoId":239},{"anyEnrichmentAt":241,"extractAt":242,"githubAt":241,"llmAt":185,"updatedAt":185},{"_creationTime":377,"_id":378,"community":379,"display":380,"identity":388,"providers":390,"relations":393,"workflow":394},1778053930836.1187,"k17282mnt9phg4hntcyefpkcj1867hm4",{"reviewCount":8},{"description":381,"installMethods":382,"name":383,"sourceUrl":384,"tags":385},"Nuxt 3 auth patterns with @clerk/nuxt - middleware, composables, server API routes, SSR. Triggers on: Nuxt auth, useAuth composable, clerkMiddleware Nuxt, server API Clerk, Nuxt route protection.",{},"Clerk Nuxt Patterns","https://github.com/clerk/skills/tree/HEAD/skills/frameworks/clerk-nuxt-patterns",[205,17,16,386,347,305,387],"ssr","server-routes",{"githubOwner":16,"githubRepo":187,"locale":24,"slug":389,"type":189},"clerk-nuxt-patterns",{"extract":391,"llm":392},{"commitSha":232,"license":182},{"promptVersionExtension":166,"promptVersionScoring":167,"score":291,"targetMarket":172,"tier":173},{"parentExtensionId":193,"repoId":239},{"anyEnrichmentAt":241,"extractAt":242,"githubAt":241,"llmAt":185,"updatedAt":185}]