[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-skill-clerk-clerk-astro-patterns-nl":3,"guides-for-clerk-clerk-astro-patterns":267,"similar-k170j22apn2kbgrpnbwbpf8d7d867qmx":268},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":20,"identity":185,"isFallback":189,"parentExtension":190,"providers":246,"relations":249,"repo":250,"workflow":266},1778053930836.1191,"k170j22apn2kbgrpnbwbpf8d7d867qmx",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":12,"sourceUrl":13,"tags":14},"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",[15,16,17,18,19],"astro","clerk","authentication","webdev","frameworks",{"_creationTime":21,"_id":22,"extensionId":5,"locale":23,"result":24,"trustSignals":173,"workflow":183},1778054020038.697,"kn78hb9csand65fmfrps4h3s798670vm","en",{"checks":25,"evaluatedAt":163,"extensionSummary":164,"promptVersionExtension":165,"promptVersionScoring":166,"rationale":167,"score":168,"summary":169,"tags":170,"targetMarket":171,"tier":172},[26,31,34,37,41,44,48,52,55,58,62,67,70,74,77,80,83,86,89,92,96,100,104,108,112,115,118,121,125,128,131,134,137,140,144,147,150,153,156,160],{"category":27,"check":28,"severity":29,"summary":30},"Practical Utility","Problem relevance","pass","The displayed description clearly names a concrete user problem: integrating Clerk authentication patterns within an Astro application, covering specific use cases like middleware, SSR pages, and API routes.",{"category":27,"check":32,"severity":29,"summary":33},"Unique selling proposition","The extension provides specific Astro-specific integrations and patterns for Clerk, going beyond a generic Clerk setup by detailing how to leverage Astro's rendering modes (SSR, static) and component architecture (islands) with Clerk's authentication.",{"category":27,"check":35,"severity":29,"summary":36},"Production readiness","The extension covers a complete lifecycle for integrating Clerk into Astro, including configuration, middleware setup, SSR page auth, API route auth, and client-side island component integration, with clear examples for each.",{"category":38,"check":39,"severity":29,"summary":40},"Scope","Single responsibility principle","The extension focuses solely on integrating Clerk authentication patterns within the Astro framework, without extending into unrelated domains like deployment or general testing.",{"category":38,"check":42,"severity":29,"summary":43},"Description quality","The displayed description is concise, readable, accurately reflects the capabilities demonstrated in the source code, and includes relevant trigger phrases.",{"category":45,"check":46,"severity":29,"summary":47},"Invocation","Scoped tools","The extension primarily leverages Clerk's SDK functions through its Astro integration, rather than exposing broad shell commands or arbitrary execution tools.",{"category":49,"check":50,"severity":29,"summary":51},"Documentation","Configuration & parameter reference","Environment variables (`PUBLIC_CLERK_PUBLISHABLE_KEY`, `CLERK_SECRET_KEY`) are clearly documented, and the setup instructions for `astro.config.mjs` and `src/middleware.ts` are explicit.",{"category":38,"check":53,"severity":29,"summary":54},"Tool naming","The extension doesn't expose user-facing tools directly but rather integrates Clerk's SDK components and functions, which are well-named within the Clerk ecosystem.",{"category":38,"check":56,"severity":29,"summary":57},"Minimal I/O surface","The extension focuses on integrating Clerk's authentication state and components, with inputs (environment variables) and outputs (auth object in locals) being appropriately scoped for authentication tasks.",{"category":59,"check":60,"severity":29,"summary":61},"License","License usability","The license is MIT, a permissive open-source license, clearly indicated in the README and SKILL.md frontmatter.",{"category":63,"check":64,"severity":65,"summary":66},"Maintenance","Commit recency","not_applicable","The extension is part of a larger repository, and commit recency for this specific skill cannot be determined in isolation from the repository's commit history. The trust signals indicate 'n/a'.",{"category":63,"check":68,"severity":29,"summary":69},"Dependency Management","The included template `package.json` pins dependencies like `astro` and `@clerk/astro` to specific versions, indicating good dependency management practices.",{"category":71,"check":72,"severity":29,"summary":73},"Security","Secret Management","Secrets are handled via environment variables as documented, and the extension itself does not echo resolved secret values into stdout or debug logs.",{"category":71,"check":75,"severity":29,"summary":76},"Injection","The extension integrates Clerk's SDK and does not appear to load or execute untrusted third-party data as instructions.",{"category":71,"check":78,"severity":29,"summary":79},"Transitive Supply-Chain Grenades","The extension relies on established npm packages and does not appear to fetch or execute remote code at runtime.",{"category":71,"check":81,"severity":29,"summary":82},"Sandbox Isolation","The extension configures Astro's output and adapter, which are standard practices and do not involve altering files outside the project folder.",{"category":71,"check":84,"severity":29,"summary":85},"Sandbox escape primitives","No detached-process spawns or deny-retry loops were detected in the provided code.",{"category":71,"check":87,"severity":29,"summary":88},"Data Exfiltration","The extension primarily handles authentication state and does not appear to exfiltrate user data or credentials to third parties.",{"category":71,"check":90,"severity":29,"summary":91},"Hidden Text Tricks","Bundled content is free of hidden-steering tricks, and descriptions use clean printable ASCII.",{"category":93,"check":94,"severity":29,"summary":95},"Hooks","Opaque code execution","The bundled scripts and configurations are in plain, readable source code and do not involve obfuscation or runtime fetching for execution.",{"category":97,"check":98,"severity":29,"summary":99},"Portability","Structural Assumption","The extension assumes standard Astro project structure and configuration, with clear instructions provided for setup, rather than relying on user-specific or OS-specific paths.",{"category":101,"check":102,"severity":65,"summary":103},"Trust","Issues Attention","Issue tracking data (opened/closed) is not available in the provided trust signals ('n/a'), making it impossible to evaluate maintainer engagement via this metric.",{"category":105,"check":106,"severity":29,"summary":107},"Versioning","Release Management","A meaningful version (`1.0.0`) is declared in the SKILL.md frontmatter, satisfying the release management requirement.",{"category":109,"check":110,"severity":29,"summary":111},"Code Execution","Validation","The extension utilizes Astro's built-in handling for environment variables and middleware configuration, which are standard and validated parts of the Astro ecosystem. Specific input validation for user-provided data within the extension's logic is not applicable as it primarily configures Clerk.",{"category":71,"check":113,"severity":29,"summary":114},"Unguarded Destructive Operations","The extension's purpose is to configure authentication and does not involve destructive operations like file deletion or infrastructure changes.",{"category":109,"check":116,"severity":29,"summary":117},"Error Handling","The extension relies on Astro's and Clerk's standard error handling mechanisms, which are expected to be robust and provide meaningful feedback.",{"category":109,"check":119,"severity":65,"summary":120},"Logging","The extension is a configuration and integration skill, not one that performs destructive actions or outbound calls requiring a local audit log.",{"category":122,"check":123,"severity":29,"summary":124},"Compliance","GDPR","The extension configures Clerk for authentication, and the responsibility for handling personal data with GDPR compliance lies with the user's implementation using Clerk, not the pattern skill itself.",{"category":122,"check":126,"severity":29,"summary":127},"Target market","The extension focuses on technical integration patterns for a web framework and does not contain regional or jurisdictional logic, therefore its target market is global.",{"category":97,"check":129,"severity":29,"summary":130},"Runtime stability","The extension assumes a standard Astro runtime environment and Node.js, with explicit dependencies listed, ensuring portability across compatible systems.",{"category":45,"check":132,"severity":29,"summary":133},"Precise Purpose","The description clearly states the extension's purpose (Astro patterns with Clerk) and provides explicit triggers for its use.",{"category":45,"check":135,"severity":29,"summary":136},"Concise Frontmatter","The frontmatter is concise, self-contained, and clearly summarizes the core capability and triggers.",{"category":49,"check":138,"severity":29,"summary":139},"Concise Body","The SKILL.md body is under 500 lines and effectively uses separate reference files for detailed procedures.",{"category":141,"check":142,"severity":29,"summary":143},"Context","Progressive Disclosure","The SKILL.md outlines the overall flow and uses relative paths to link into separate reference files for detailed sub-tasks, demonstrating good progressive disclosure.",{"category":141,"check":145,"severity":65,"summary":146},"Forked exploration","This skill is focused on configuration and pattern integration, not deep code exploration or auditing, so `context: fork` is not applicable.",{"category":27,"check":148,"severity":29,"summary":149},"Usage examples","Sufficient end-to-end examples are provided in the SKILL.md and reference files, covering setup, middleware, SSR pages, API routes, and island components, with plausible outcomes.",{"category":27,"check":151,"severity":29,"summary":152},"Edge cases","The documentation addresses common pitfalls such as missing middleware, incorrect output configuration, and issues with static vs. SSR rendering, providing clear symptom-to-fix mappings.",{"category":109,"check":154,"severity":65,"summary":155},"Tool Fallback","The skill does not rely on external tools like a custom MCP server; it integrates directly with Astro and Clerk's SDKs.",{"category":157,"check":158,"severity":29,"summary":159},"Safety","Halt on unexpected state","The skill's setup instructions imply a standard Astro project; deviations would likely result in clear build or runtime errors, and the provided examples guide users to correct configurations.",{"category":97,"check":161,"severity":29,"summary":162},"Cross-skill coupling","The skill is self-contained, focusing specifically on Clerk integration within Astro, and does not implicitly rely on other skills being loaded. It cross-references related Clerk skills appropriately.",1778053987550,"This skill demonstrates how to configure Clerk's authentication middleware and hooks within an Astro project. It provides detailed code examples for securing SSR pages and API routes, utilizing client-side authentication in React islands, and handling different rendering modes. The extension also clarifies crucial setup steps for Astro configuration and environment variables.","2.0.0","3.4.0","The extension is well-documented, provides clear and functional examples, and adheres to best practices for security and code quality. The only checks marked as not applicable are due to the nature of the extension itself (no destructive operations, no external tool dependencies). The documentation is comprehensive and addresses potential pitfalls effectively, leading to a high trust score.",98,"This extension provides comprehensive guidance and code examples for integrating Clerk authentication into Astro applications, covering middleware, SSR pages, API routes, and island components.",[15,16,17,18,19],"global","verified",{"codeQuality":174,"collectedAt":175,"documentation":176,"maintenance":178,"security":179,"testCoverage":182},{},1778053975075,{"descriptionLength":177,"readmeSize":8},241,{},{"hasNpmPackage":180,"license":181,"smitheryVerified":180},false,"MIT",{"hasCi":180,"hasTests":180},{"updatedAt":184},1778054020038,{"githubOwner":16,"githubRepo":186,"locale":23,"slug":187,"type":188},"skills","clerk-astro-patterns","skill",true,{"_creationTime":191,"_id":192,"community":193,"display":194,"identity":210,"parentExtension":212,"providers":240,"relations":244,"workflow":245},1778053930836.1162,"k1743f7ms46548z8nzj1s5afxd866ek0",{"reviewCount":8},{"description":195,"installMethods":196,"name":197,"sourceUrl":198,"tags":199},"Framework-specific Clerk integration patterns: middleware, hooks, SSR, composables, and advanced usage",{},"Clerk Skills","https://github.com/clerk/skills",[16,17,19,200,201,202,203,15,204,205,206,207,208,209],"nextjs","react","vue","nuxt","expo","swift","android","webhooks","billing","organizations",{"githubOwner":16,"githubRepo":186,"locale":23,"slug":19,"type":211},"plugin",{"_creationTime":213,"_id":214,"community":215,"display":216,"identity":224,"providers":227,"relations":235,"workflow":237},1778053930836.1133,"k176xntnjb9e2mv2a7hqvgmy7h866yhy",{"reviewCount":8},{"description":217,"installMethods":218,"name":197,"sourceUrl":198,"tags":219},"Official Clerk skills for AI coding agents",{},[16,17,220,221,222,223],"auth","developer-tools","ai-agent","coding",{"githubOwner":16,"githubRepo":186,"locale":23,"slug":225,"type":226},"clerk-skills","marketplace",{"extract":228,"llm":233},{"commitSha":229,"license":181,"marketplace":230},"c1f6afc82a165988421166e68872cb41b892c0b0",{"name":225,"pluginCount":231,"version":232},4,"1.0.0",{"promptVersionExtension":165,"promptVersionScoring":166,"score":234,"targetMarket":171,"tier":172},85,{"repoId":236},"kd77f99t2sa8rvy3sj7yn73zp1864abx",{"anyEnrichmentAt":238,"extractAt":239,"githubAt":238,"llmAt":184,"updatedAt":184},1778053933098,1778053930836,{"extract":241,"llm":242},{"commitSha":229},{"promptVersionExtension":165,"promptVersionScoring":166,"score":243,"targetMarket":171,"tier":172},92,{"parentExtensionId":214,"repoId":236},{"anyEnrichmentAt":238,"extractAt":239,"githubAt":238,"llmAt":184,"updatedAt":184},{"extract":247,"llm":248},{"commitSha":229,"license":181},{"promptVersionExtension":165,"promptVersionScoring":166,"score":168,"targetMarket":171,"tier":172},{"parentExtensionId":192,"repoId":236},{"_creationTime":251,"_id":236,"identity":252,"providers":253,"workflow":263},1777995558409.8354,{"githubOwner":16,"githubRepo":186,"sourceUrl":198},{"discover":254,"github":257},{"sources":255},[256],"skills-sh",{"closedIssues90d":8,"forks":258,"openIssues90d":8,"pushedAt":259,"readmeSize":260,"stars":261,"topics":262},2,1778011344000,5449,40,[],{"discoverAt":264,"extractAt":265,"githubAt":265,"updatedAt":265},1777995558409,1778053934643,{"anyEnrichmentAt":238,"extractAt":239,"githubAt":238,"llmAt":184,"updatedAt":184},[],[269,295,317,337,359,380],{"_creationTime":270,"_id":271,"community":272,"display":273,"identity":286,"providers":288,"relations":292,"workflow":294},1778053930836.1147,"k172fdk15qkgavq40ypr1pntcn866vss",{"reviewCount":8},{"description":274,"installMethods":275,"name":276,"sourceUrl":277,"tags":278},"Add Clerk authentication to any project by following the official quickstart guides.",{},"Clerk Setup","https://github.com/clerk/skills/tree/HEAD/skills/core/clerk-setup",[17,16,279,280,281,282,201,283,15,202,203,284,285],"web","setup","framework","next-js","express","remix","documentation",{"githubOwner":16,"githubRepo":186,"locale":23,"slug":287,"type":188},"clerk-setup",{"extract":289,"llm":290},{"commitSha":229,"license":181},{"promptVersionExtension":165,"promptVersionScoring":166,"score":291,"targetMarket":171,"tier":172},97,{"parentExtensionId":293,"repoId":236},"k172gaengd5qyr6gnkq7aq3291866mfa",{"anyEnrichmentAt":238,"extractAt":239,"githubAt":238,"llmAt":184,"updatedAt":184},{"_creationTime":296,"_id":297,"community":298,"display":299,"identity":309,"providers":311,"relations":314,"workflow":316},1778053930836.1216,"k179vaekcmae3hrhq6rhxzc03d86616j",{"reviewCount":8},{"description":300,"installMethods":301,"name":302,"sourceUrl":303,"tags":304},"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,305,306,209,307,308,200],"b2b","saas","rbac","sso",{"githubOwner":16,"githubRepo":186,"locale":23,"slug":310,"type":188},"clerk-orgs",{"extract":312,"llm":313},{"commitSha":229,"license":181},{"promptVersionExtension":165,"promptVersionScoring":166,"score":168,"targetMarket":171,"tier":172},{"parentExtensionId":315,"repoId":236},"k172frdvq0x6yj945vg2ce7z9s867rrz",{"anyEnrichmentAt":238,"extractAt":239,"githubAt":238,"llmAt":184,"updatedAt":184},{"_creationTime":318,"_id":319,"community":320,"display":321,"identity":330,"providers":332,"relations":335,"workflow":336},1778053930836.1182,"k17ehatrq8deqzjfzbyarqxe09866g81",{"reviewCount":8},{"description":322,"installMethods":323,"name":324,"sourceUrl":325,"tags":326},"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",[202,16,17,327,328,329],"composables","pinia","vue-router",{"githubOwner":16,"githubRepo":186,"locale":23,"slug":331,"type":188},"clerk-vue-patterns",{"extract":333,"llm":334},{"commitSha":229,"license":181},{"promptVersionExtension":165,"promptVersionScoring":166,"score":168,"targetMarket":171,"tier":172},{"parentExtensionId":192,"repoId":236},{"anyEnrichmentAt":238,"extractAt":239,"githubAt":238,"llmAt":184,"updatedAt":184},{"_creationTime":338,"_id":339,"community":340,"display":341,"identity":352,"providers":354,"relations":357,"workflow":358},1778053930836.1196,"k17ak27g3g09fy7wf40a461jmh866tny",{"reviewCount":8},{"description":342,"installMethods":343,"name":344,"sourceUrl":345,"tags":346},"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",[347,201,16,17,200,348,349,350,351],"tanstack","server","routes","guards","middleware",{"githubOwner":16,"githubRepo":186,"locale":23,"slug":353,"type":188},"clerk-tanstack-patterns",{"extract":355,"llm":356},{"commitSha":229,"license":181},{"promptVersionExtension":165,"promptVersionScoring":166,"score":168,"targetMarket":171,"tier":172},{"parentExtensionId":192,"repoId":236},{"anyEnrichmentAt":238,"extractAt":239,"githubAt":238,"llmAt":184,"updatedAt":184},{"_creationTime":360,"_id":361,"community":362,"display":363,"identity":373,"providers":375,"relations":378,"workflow":379},1778053930836.12,"k172gby83ypeqfbqh811nq5prx8678ej",{"reviewCount":8},{"description":364,"installMethods":365,"name":366,"sourceUrl":367,"tags":368},"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",[204,369,16,17,370,371,372],"react-native","oauth","expo-router","securestore",{"githubOwner":16,"githubRepo":186,"locale":23,"slug":374,"type":188},"clerk-expo-patterns",{"extract":376,"llm":377},{"commitSha":229,"license":181},{"promptVersionExtension":165,"promptVersionScoring":166,"score":168,"targetMarket":171,"tier":172},{"parentExtensionId":192,"repoId":236},{"anyEnrichmentAt":238,"extractAt":239,"githubAt":238,"llmAt":184,"updatedAt":184},{"_creationTime":381,"_id":382,"community":383,"display":384,"identity":392,"providers":394,"relations":397,"workflow":398},1778053930836.1187,"k17282mnt9phg4hntcyefpkcj1867hm4",{"reviewCount":8},{"description":385,"installMethods":386,"name":387,"sourceUrl":388,"tags":389},"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",[203,17,16,390,351,327,391],"ssr","server-routes",{"githubOwner":16,"githubRepo":186,"locale":23,"slug":393,"type":188},"clerk-nuxt-patterns",{"extract":395,"llm":396},{"commitSha":229,"license":181},{"promptVersionExtension":165,"promptVersionScoring":166,"score":168,"targetMarket":171,"tier":172},{"parentExtensionId":192,"repoId":236},{"anyEnrichmentAt":238,"extractAt":239,"githubAt":238,"llmAt":184,"updatedAt":184}]