[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-skill-samhvw8-better-auth-fr":3,"guides-for-samhvw8-better-auth":227,"similar-k174p3kc7w6nvxf7pzx7pgscm58667rw":228},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":26,"identity":195,"isFallback":200,"parentExtension":201,"providers":202,"relations":206,"repo":208,"workflow":224},1778054812528.7224,"k174p3kc7w6nvxf7pzx7pgscm58667rw",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":12,"sourceUrl":13,"tags":14},"TypeScript authentication framework (framework-agnostic). Features: email/password, OAuth (Google, GitHub, Discord), 2FA (TOTP, SMS), passkeys/WebAuthn, session management, RBAC, rate limiting, database adapters. Actions: implement, configure, secure authentication systems. Keywords: Better Auth, authentication, authorization, OAuth, email/password, 2FA, MFA, TOTP, passkeys, WebAuthn, session management, RBAC, rate limiting, database adapter, TypeScript auth, social login, Google auth, GitHub auth, Discord auth, email verification, password reset. Use when: implementing TypeScript auth, adding OAuth providers, setting up 2FA/MFA, managing sessions, configuring RBAC, building secure auth systems.",{},"Better Auth","https://github.com/samhvw8/dot-claude/tree/HEAD/skills/better-auth",[15,16,17,18,19,20,21,22,23,24,25],"typescript","authentication","authorization","oauth","2fa","passkeys","webauthn","session-management","rbac","rate-limiting","database-adapter",{"_creationTime":27,"_id":28,"extensionId":5,"locale":29,"result":30,"trustSignals":183,"workflow":193},1778054896678.3184,"kn7fcehcrsvnb334qhfrfed2z5866wk1","en",{"checks":31,"evaluatedAt":173,"extensionSummary":174,"promptVersionExtension":175,"promptVersionScoring":176,"rationale":177,"score":178,"summary":179,"tags":180,"targetMarket":181,"tier":182},[32,37,40,43,47,51,55,59,62,65,69,74,77,81,84,87,90,93,96,99,103,107,111,115,119,122,125,128,132,135,138,141,144,147,151,154,157,160,163,166,170],{"category":33,"check":34,"severity":35,"summary":36},"Practical Utility","Problem relevance","pass","The description clearly states the problem of implementing and securing authentication systems in TypeScript applications.",{"category":33,"check":38,"severity":35,"summary":39},"Unique selling proposition","The extension offers a comprehensive, framework-agnostic authentication solution with a wide range of features and a plugin ecosystem, providing value beyond basic LLM capabilities.",{"category":33,"check":41,"severity":35,"summary":42},"Production readiness","The extension appears production-ready, covering a complete authentication lifecycle from setup to advanced features and offering database adapters and framework integrations.",{"category":44,"check":45,"severity":35,"summary":46},"Scope","Single responsibility principle","The extension focuses on authentication and authorization, with clear documentation for various methods and features, maintaining a coherent domain.",{"category":44,"check":48,"severity":49,"summary":50},"Description quality","info","The description is accurate and detailed but slightly verbose and keyword-stuffed, which could be improved for conciseness.",{"category":52,"check":53,"severity":35,"summary":54},"Invocation","Scoped tools","The extension appears to use scoped tools for various authentication actions, as indicated by the configuration options and plugin structures.",{"category":56,"check":57,"severity":35,"summary":58},"Documentation","Configuration & parameter reference","The documentation provides detailed information on server and client setup, database integration, and various authentication methods, including parameters and options.",{"category":44,"check":60,"severity":35,"summary":61},"Tool naming","Tool names within the documentation and code examples are descriptive and follow common conventions (e.g., `signIn.social`, `signUp.email`).",{"category":44,"check":63,"severity":35,"summary":64},"Minimal I/O surface","Inputs and outputs appear well-defined, focusing on specific authentication tasks without excessive or unnecessary data exchange.",{"category":66,"check":67,"severity":35,"summary":68},"License","License usability","The license is MIT, a widely used and permissive open-source license.",{"category":70,"check":71,"severity":72,"summary":73},"Maintenance","Commit recency","not_applicable","Commit data is not available for this check.",{"category":70,"check":75,"severity":35,"summary":76},"Dependency Management","The extension relies on npm packages and is intended for use within a Node.js environment, implying standard dependency management practices.",{"category":78,"check":79,"severity":35,"summary":80},"Security","Secret Management","The documentation emphasizes the use of environment variables for secrets like API keys and database URLs, and mentions the need for a generated secret, indicating good practices.",{"category":78,"check":82,"severity":35,"summary":83},"Injection","The extension appears to handle user inputs and configurations securely, with no indications of loading untrusted data as executable instructions.",{"category":78,"check":85,"severity":35,"summary":86},"Transitive Supply-Chain Grenades","The extension does not appear to fetch external code or data at runtime, and all dependencies are managed through standard package managers.",{"category":78,"check":88,"severity":35,"summary":89},"Sandbox Isolation","The extension is designed to be used within a Node.js environment and does not seem to perform operations outside its intended scope or sandbox.",{"category":78,"check":91,"severity":35,"summary":92},"Sandbox escape primitives","No evidence of detached process spawns or deny-retry loops is present in the provided code and documentation.",{"category":78,"check":94,"severity":35,"summary":95},"Data Exfiltration","The extension focuses on authentication and does not appear to have any mechanisms for exfiltrating confidential data.",{"category":78,"check":97,"severity":35,"summary":98},"Hidden Text Tricks","No hidden text tricks or obfuscation techniques were found in the bundled files or documentation.",{"category":100,"check":101,"severity":35,"summary":102},"Hooks","Opaque code execution","The code appears to be in plain, readable TypeScript, with no signs of obfuscation, base64 payloads, or runtime code fetching.",{"category":104,"check":105,"severity":35,"summary":106},"Portability","Structural Assumption","The setup instructions are clear and guide the user to place files in common locations, minimizing assumptions about project structure.",{"category":108,"check":109,"severity":72,"summary":110},"Trust","Issues Attention","Issue data is not available for this check.",{"category":112,"check":113,"severity":35,"summary":114},"Versioning","Release Management","The SKILL.md file declares a version (`version: 2.0.0`), indicating proper release management.",{"category":116,"check":117,"severity":35,"summary":118},"Code Execution","Validation","While explicit validation library usage isn't detailed, the structure and focus on secure authentication suggest input validation is handled.",{"category":78,"check":120,"severity":35,"summary":121},"Unguarded Destructive Operations","The extension primarily handles data and user flows, not destructive operations like database migrations or infrastructure changes, without specific guards mentioned.",{"category":116,"check":123,"severity":35,"summary":124},"Error Handling","The documentation and client-side examples show error handling patterns, suggesting a robust approach to managing errors.",{"category":116,"check":126,"severity":72,"summary":127},"Logging","The extension focuses on authentication logic and does not inherently require local audit logging for its core functionality.",{"category":129,"check":130,"severity":35,"summary":131},"Compliance","GDPR","The extension handles user data for authentication but does not appear to submit personal data to third parties without explicit user action or consent, aligning with GDPR principles.",{"category":129,"check":133,"severity":35,"summary":134},"Target market","The extension is designed to be framework-agnostic and supports global authentication standards, making it suitable for a global target market.",{"category":104,"check":136,"severity":35,"summary":137},"Runtime stability","The extension is designed for Node.js and explicitly mentions framework compatibility, indicating good runtime stability and portability.",{"category":52,"check":139,"severity":35,"summary":140},"Precise Purpose","The description and usage instructions clearly define the extension's purpose: a TypeScript authentication framework, and specify when to use it.",{"category":52,"check":142,"severity":35,"summary":143},"Concise Frontmatter","The frontmatter in SKILL.md is concise and effectively summarizes the core capability and keywords.",{"category":56,"check":145,"severity":35,"summary":146},"Concise Body","The SKILL.md body is well-structured and uses progressive disclosure by linking to detailed reference files, keeping the main body concise.",{"category":148,"check":149,"severity":35,"summary":150},"Context","Progressive Disclosure","The documentation effectively uses `references/` files for detailed explanations of advanced features and database integrations, providing progressive disclosure.",{"category":148,"check":152,"severity":72,"summary":153},"Forked exploration","This skill is not an exploration or audit-style skill, so `context: fork` is not applicable.",{"category":33,"check":155,"severity":35,"summary":156},"Usage examples","The documentation provides numerous clear, end-to-end examples for basic and advanced features, demonstrating input, invocation, and expected outcomes.",{"category":33,"check":158,"severity":35,"summary":159},"Edge cases","The documentation addresses various failure modes and limitations within sections like 'Error Handling' and implicitly through detailed configuration options.",{"category":116,"check":161,"severity":72,"summary":162},"Tool Fallback","The extension does not rely on external tools like MCP servers; it functions as a library within a Node.js environment.",{"category":104,"check":164,"severity":35,"summary":165},"Stack assumptions","The documentation clearly states the stack assumption (TypeScript/Node.js) and provides setup instructions for various frameworks.",{"category":167,"check":168,"severity":35,"summary":169},"Safety","Halt on unexpected state","The error handling patterns and security best practices suggest that the skill will halt on unexpected states and report errors meaningfully.",{"category":104,"check":171,"severity":35,"summary":172},"Cross-skill coupling","The skill is self-contained and focuses on authentication, with no indication of implicit reliance on other skills.",1778054825946,"This framework provides email/password, OAuth, and advanced features like 2FA and passkeys for securing authentication systems. It includes database adapters and integrates with various JavaScript frameworks.","2.0.0","3.4.0","The extension is highly polished, offering a comprehensive and well-documented TypeScript authentication framework. It adheres to best practices for security, configuration, and usability, with clear examples and structure. The only minor point for improvement is the slightly verbose description and the lack of explicit mention of validation libraries, though it's implied by the secure nature of the code.",95,"A comprehensive and well-documented TypeScript authentication framework.",[15,16,17,18,19,20,21,22,23,24,25],"global","verified",{"codeQuality":184,"collectedAt":185,"documentation":186,"maintenance":188,"security":189,"testCoverage":192},{},1778054816347,{"descriptionLength":187,"readmeSize":8},704,{},{"hasNpmPackage":190,"license":191,"smitheryVerified":190},false,"MIT",{"hasCi":190,"hasTests":190},{"updatedAt":194},1778054896678,{"githubOwner":196,"githubRepo":197,"locale":29,"slug":198,"type":199},"samhvw8","dot-claude","better-auth","skill",true,null,{"extract":203,"llm":205},{"commitSha":204,"license":191},"28c76162116d2eedab131c0e1548fdc76a2999f7",{"promptVersionExtension":175,"promptVersionScoring":176,"score":178,"targetMarket":181,"tier":182},{"repoId":207},"kd79ad9dpqazy79y2s6rvajgjn865xek",{"_creationTime":209,"_id":207,"identity":210,"providers":212,"workflow":221},1777995558409.872,{"githubOwner":196,"githubRepo":197,"sourceUrl":211},"https://github.com/samhvw8/dot-claude",{"discover":213,"github":216},{"sources":214},[215],"skills-sh",{"closedIssues90d":8,"forks":8,"openIssues90d":217,"pushedAt":218,"readmeSize":8,"stars":219,"topics":220},1,1765248784000,10,[],{"discoverAt":222,"extractAt":223,"githubAt":223,"updatedAt":223},1777995558409,1778054814968,{"anyEnrichmentAt":225,"extractAt":226,"githubAt":225,"llmAt":194,"updatedAt":194},1778054813688,1778054812528,[],[229,260,282,309,337,369],{"_creationTime":230,"_id":231,"community":232,"display":233,"identity":245,"providers":248,"relations":253,"workflow":256},1778053930836.1216,"k179vaekcmae3hrhq6rhxzc03d86616j",{"reviewCount":8},{"description":234,"installMethods":235,"name":236,"sourceUrl":237,"tags":238},"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",[239,16,240,241,242,23,243,244],"clerk","b2b","saas","organizations","sso","nextjs",{"githubOwner":239,"githubRepo":246,"locale":29,"slug":247,"type":199},"skills","clerk-orgs",{"extract":249,"llm":251},{"commitSha":250,"license":191},"c1f6afc82a165988421166e68872cb41b892c0b0",{"promptVersionExtension":175,"promptVersionScoring":176,"score":252,"targetMarket":181,"tier":182},98,{"parentExtensionId":254,"repoId":255},"k172frdvq0x6yj945vg2ce7z9s867rrz","kd77f99t2sa8rvy3sj7yn73zp1864abx",{"anyEnrichmentAt":257,"extractAt":258,"githubAt":257,"llmAt":259,"updatedAt":259},1778053933098,1778053930836,1778054020038,{"_creationTime":261,"_id":262,"community":263,"display":264,"identity":274,"providers":276,"relations":279,"workflow":281},1778053930836.12,"k172gby83ypeqfbqh811nq5prx8678ej",{"reviewCount":8},{"description":265,"installMethods":266,"name":267,"sourceUrl":268,"tags":269},"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",[270,271,239,16,18,272,273],"expo","react-native","expo-router","securestore",{"githubOwner":239,"githubRepo":246,"locale":29,"slug":275,"type":199},"clerk-expo-patterns",{"extract":277,"llm":278},{"commitSha":250,"license":191},{"promptVersionExtension":175,"promptVersionScoring":176,"score":252,"targetMarket":181,"tier":182},{"parentExtensionId":280,"repoId":255},"k1743f7ms46548z8nzj1s5afxd866ek0",{"anyEnrichmentAt":257,"extractAt":258,"githubAt":257,"llmAt":259,"updatedAt":259},{"_creationTime":283,"_id":284,"community":285,"display":286,"identity":296,"providers":299,"relations":303,"workflow":305},1778053126504.8418,"k17dc7kqah7z38cwp8zgbpg3k5866g8y",{"reviewCount":8},{"description":287,"installMethods":288,"name":289,"sourceUrl":290,"tags":291},"Use this skill when the user wants to 'login/log in/sign in', 'authenticate', 'authorize', 'connect OKX account', 'set up credentials', 'first time setup', 'configure okx', '登录', '授权', '认证', '连接账户', '首次配置'. Also when any OKX CLI command fails with an auth error: 'Run okx auth login first', 'Session expired', 'not authenticated', 'requires_auth', '401 Unauthorized', 'token expired/not found', 'StorageNotFoundError', '会话过期', '未认证', '需要登录'. Also when the user asks about login status or the login was interrupted. Also when the user wants to install/update/check/remove the okx-auth binary — 'install/update/remove auth', 'download okx-auth', '安装/更新/卸载认证', 'auth binary status', 'Failed to spawn okx-auth'. Also use before using okx-cex-trade/portfolio/earn/bot for the first time. Do NOT use for market data queries (use okx-cex-market).",{},"OKX CEX Authentication","https://github.com/okx/agent-skills/tree/HEAD/skills/okx-cex-auth",[292,16,293,18,294,295],"okx","cli","api-key","configuration",{"githubOwner":292,"githubRepo":297,"locale":29,"slug":298,"type":199},"agent-skills","okx-cex-auth",{"extract":300,"llm":302},{"commitSha":301,"license":191},"2c10950e7d08ff4a6f92e29aa5a72fc1f6982c3b",{"promptVersionExtension":175,"promptVersionScoring":176,"score":252,"targetMarket":181,"tier":182},{"repoId":304},"kd762kyfecgcjapqdqxsv1ngw986551x",{"anyEnrichmentAt":306,"extractAt":307,"githubAt":306,"llmAt":308,"updatedAt":308},1778053126894,1778053126504,1778053154881,{"_creationTime":310,"_id":311,"community":312,"display":313,"identity":323,"providers":325,"relations":331,"workflow":333},1778054711476.062,"k17673bfzbxpw6pf8qgr007yxd867mz9",{"reviewCount":8},{"description":314,"installMethods":315,"name":316,"sourceUrl":317,"tags":318},"Implements OAuth 2.0/2.1 authorization flows in Fastify applications — configures authorization code with PKCE, client credentials, device flow, refresh token rotation, JWT validation, and token introspection/revocation endpoints. Use when setting up authentication, authorization, login flows, access tokens, API security, or securing Fastify routes with OAuth; also applies when troubleshooting token validation errors, mismatched redirect URIs, CSRF issues, scope problems, or RFC 6749/6750/7636/8252/8628 compliance questions.",{},"Fastify OAuth 2.0/2.1","https://github.com/mcollina/skills/tree/HEAD/skills/oauth",[18,319,320,16,17,321,322],"oauth2","security","jwt","fastify",{"githubOwner":324,"githubRepo":246,"locale":29,"slug":18,"type":199},"mcollina",{"extract":326,"llm":328},{"commitSha":327,"license":191},"5b2a81354b6d10325da0db9decc9ce5ecc714138",{"promptVersionExtension":175,"promptVersionScoring":176,"score":329,"targetMarket":181,"tier":330},45,"flagged",{"repoId":332},"kd7a9jywzfe3c5g5r1a62htmrn865rt1",{"anyEnrichmentAt":334,"extractAt":335,"githubAt":334,"llmAt":336,"updatedAt":336},1778054711844,1778054711476,1778054745098,{"_creationTime":338,"_id":339,"community":340,"display":341,"identity":351,"providers":355,"relations":362,"workflow":364},1777995614337.9844,"k17f0xfg2pkfqd1p5jjzh8sswh8645px",{"reviewCount":8},{"description":342,"installMethods":343,"name":344,"sourceUrl":345,"tags":346},"Scaffold an editable Tandem control panel app",{},"Tandem Panel Scaffold","https://github.com/frumu-ai/tandem/tree/HEAD/packages/create-tandem-panel",[347,293,348,15,349,350],"scaffolding","react","vite","ui",{"githubOwner":352,"githubRepo":353,"locale":29,"slug":354,"type":199},"frumu-ai","tandem","create-tandem-panel",{"extract":356,"llm":359,"smithery":361},{"commitSha":357,"license":358},"25c8ae7c2f8b20d576a2b8d44946ac2e0ff9408d","MIT OR Apache-2.0",{"promptVersionExtension":175,"promptVersionScoring":176,"score":360,"targetMarket":181,"tier":182},100,{"qualityScore":8,"totalActivations":8,"uniqueUsers":8,"useCount":8,"verified":190},{"repoId":363},"kd72pd305er4m7vecv9p6mnd4s865kea",{"anyEnrichmentAt":365,"extractAt":366,"githubAt":367,"llmAt":368,"smitheryAt":365,"updatedAt":368},1777995723550,1777995614338,1777995614791,1777995897177,{"_creationTime":370,"_id":371,"community":372,"display":373,"identity":382,"providers":385,"relations":390,"workflow":392},1778054425877.1958,"k171ck7gyw157xcvkrk6k0r9y1866w01",{"reviewCount":8},{"description":374,"name":375,"sourceUrl":376,"tags":377},"ESLint rules for React Hooks","ESLint Plugin React Hooks","https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks",[348,378,379,380,381,15],"eslint","linting","hooks","javascript",{"githubOwner":383,"githubRepo":348,"locale":29,"slug":384,"type":199},"facebook","eslint-plugin-react-hooks",{"extract":386,"llm":388},{"commitSha":387,"license":191},"9635257c1b557acc81f95b1e974a54c752e703a2",{"promptVersionExtension":175,"promptVersionScoring":176,"score":389,"targetMarket":181,"tier":182},99,{"repoId":391},"kd73v9dy7vwq94hgzc7eh43b9s865rhq",{"anyEnrichmentAt":393,"extractAt":394,"githubAt":393,"llmAt":395,"updatedAt":395},1778054428301,1778054425877,1778054588390]