[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-skill-bilalmk-betterauth-fastapi-jwt-bridge-de":3,"guides-for-bilalmk-betterauth-fastapi-jwt-bridge":225,"similar-k17egn5b8273m7m7f702japa9s867met":226},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":25,"identity":192,"isFallback":197,"parentExtension":198,"providers":199,"relations":204,"repo":206,"workflow":222},1778054086261.0847,"k17egn5b8273m7m7f702japa9s867met",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":12,"sourceUrl":13,"tags":14},"Implement secure authentication bridge between Better Auth (Next.js frontend) and FastAPI (Python backend) using JWKS JWT token verification. Use this skill when users need to (1) Integrate Better Auth with FastAPI backend, (2) Implement JWT authentication with JWKS verification, (3) Set up user isolation and authorization in FastAPI endpoints, (4) Configure frontend to send authenticated API requests, or (5) Troubleshoot Better Auth + FastAPI authentication issues.",{},"Better Auth + FastAPI JWT Bridge","https://github.com/bilalmk/todo_correct/tree/HEAD/.claude/skills/custom/betterauth-fastapi-jwt-bridge",[15,16,17,18,19,20,21,22,23,24],"authentication","jwt","jwks","nextjs","react","typescript","fastapi","python","security","web-development",{"_creationTime":26,"_id":27,"extensionId":5,"locale":28,"result":29,"trustSignals":181,"workflow":190},1778054163453.6797,"kn78tywj9fk7jr4d2gtj0wygk98665ev","en",{"checks":30,"evaluatedAt":171,"extensionSummary":172,"promptVersionExtension":173,"promptVersionScoring":174,"rationale":175,"score":176,"summary":177,"tags":178,"targetMarket":179,"tier":180},[31,36,39,42,46,49,54,58,61,64,68,73,76,80,83,86,89,92,95,98,101,105,109,113,117,120,123,126,130,133,136,139,142,145,149,152,155,158,161,164,168],{"category":32,"check":33,"severity":34,"summary":35},"Practical Utility","Problem relevance","pass","The description clearly names a concrete user problem: implementing a secure authentication bridge between Better Auth and FastAPI using JWKS JWT token verification.",{"category":32,"check":37,"severity":34,"summary":38},"Unique selling proposition","The extension provides a concrete implementation for a specific integration scenario (Better Auth + FastAPI JWT), addressing a clear need beyond basic LLM capabilities.",{"category":32,"check":40,"severity":34,"summary":41},"Production readiness","The bundle includes detailed instructions, code templates, and troubleshooting guides for integrating Better Auth with FastAPI, covering the full lifecycle of setting up JWT authentication.",{"category":43,"check":44,"severity":34,"summary":45},"Scope","Single responsibility principle","The extension focuses specifically on the authentication bridge between Better Auth and FastAPI using JWT and JWKS, without extending into unrelated domains.",{"category":43,"check":47,"severity":34,"summary":48},"Description quality","The provided description accurately reflects the extension's functionality and use cases, clearly outlining the integration of Better Auth with FastAPI using JWKS JWT verification.",{"category":50,"check":51,"severity":52,"summary":53},"Invocation","Scoped tools","not_applicable","This extension does not define explicit tools; it provides guidance and code snippets for integration.",{"category":55,"check":56,"severity":34,"summary":57},"Documentation","Configuration & parameter reference","The SKILL.md and README.md provide clear configuration details for both frontend and backend, including environment variables and database requirements.",{"category":43,"check":59,"severity":52,"summary":60},"Tool naming","This extension does not define explicit tools with names.",{"category":43,"check":62,"severity":52,"summary":63},"Minimal I/O surface","This extension does not define explicit tools/commands with input/output schemas.",{"category":65,"check":66,"severity":34,"summary":67},"License","License usability","The extension explicitly states it is licensed under the MIT License, which is a permissive OSS license.",{"category":69,"check":70,"severity":71,"summary":72},"Maintenance","Commit recency","critical","There are no commits on the default branch, indicating the extension is likely unmaintained and potentially outdated.",{"category":69,"check":74,"severity":34,"summary":75},"Dependency Management","The project uses standard package managers (npm for frontend, pip for backend) with lockfiles, and includes instructions for dependency installation.",{"category":77,"check":78,"severity":34,"summary":79},"Security","Secret Management","Secrets like BETTER_AUTH_SECRET are handled via environment variables and `.env` files, with clear instructions not to commit them.",{"category":77,"check":81,"severity":34,"summary":82},"Injection","The extension provides code snippets and guidance but does not load or execute untrusted external data in a way that would be susceptible to injection.",{"category":77,"check":84,"severity":34,"summary":85},"Transitive Supply-Chain Grenades","All code and dependencies are bundled or installed via standard package managers; there are no runtime downloads or remote execution of arbitrary code.",{"category":77,"check":87,"severity":34,"summary":88},"Sandbox Isolation","The provided code snippets are intended for integration within existing Next.js and FastAPI applications and do not perform operations outside of their intended scope.",{"category":77,"check":90,"severity":34,"summary":91},"Sandbox escape primitives","No detached-process spawns or retry loops around denied tool calls are present in the provided code snippets.",{"category":77,"check":93,"severity":34,"summary":94},"Data Exfiltration","The code does not contain any imperative instructions to read and submit confidential data to a third party; outbound calls are standard API requests within the defined architecture.",{"category":77,"check":96,"severity":34,"summary":97},"Hidden Text Tricks","The bundled files do not contain any hidden-steering tricks, invisible Unicode characters, or other obfuscation techniques.",{"category":77,"check":99,"severity":34,"summary":100},"Opaque code execution","The provided code is in plain, readable JavaScript/TypeScript and Python, with no obfuscation, base64 payloads, or runtime fetched scripts.",{"category":102,"check":103,"severity":34,"summary":104},"Portability","Structural Assumption","The instructions are clear about where to place files and how to configure environment variables, minimizing assumptions about project structure beyond standard Next.js/FastAPI setups.",{"category":106,"check":107,"severity":52,"summary":108},"Trust","Issues Attention","No GitHub repository or issue tracker information was provided for evaluation.",{"category":110,"check":111,"severity":71,"summary":112},"Versioning","Release Management","There is no version information available in the manifest files (SKILL.md, package.json) and no GitHub releases or CHANGELOG. The install instructions reference 'HEAD', making version pinning impossible.",{"category":114,"check":115,"severity":34,"summary":116},"Code Execution","Validation","The frontend uses Zod for schema validation, and the backend uses Pydantic, ensuring robust input validation.",{"category":77,"check":118,"severity":34,"summary":119},"Unguarded Destructive Operations","The extension provides code for authentication and API integration, which are not inherently destructive operations and do not require special guards beyond standard security practices.",{"category":114,"check":121,"severity":34,"summary":122},"Error Handling","The provided code snippets demonstrate proper error handling for API requests, JWT verification, and database interactions, including detailed troubleshooting guides.",{"category":114,"check":124,"severity":34,"summary":125},"Logging","The backend code includes logging for JWT verification and API requests, and the documentation mentions structured logging for production.",{"category":127,"check":128,"severity":34,"summary":129},"Compliance","GDPR","The extension handles authentication tokens and user identifiers, but does not appear to process personal data in a way that requires specific GDPR sanitization beyond standard security practices.",{"category":127,"check":131,"severity":34,"summary":132},"Target market","The extension provides generic authentication and API integration code that is applicable globally, with no specific regional or jurisdictional logic detected.",{"category":102,"check":134,"severity":34,"summary":135},"Runtime stability","The code uses standard libraries and practices for Next.js/FastAPI, with clear instructions for environment setup, ensuring good portability across POSIX-compliant systems.",{"category":50,"check":137,"severity":34,"summary":138},"Precise Purpose","The description clearly states the purpose (implementing an authentication bridge) and provides specific use cases and triggers for its application.",{"category":50,"check":140,"severity":34,"summary":141},"Concise Frontmatter","The frontmatter in SKILL.md is concise, providing a clear summary of the extension's core capability and specific triggers.",{"category":55,"check":143,"severity":34,"summary":144},"Concise Body","The SKILL.md content is well-structured, with detailed explanations in referenced markdown files, keeping the main document concise.",{"category":146,"check":147,"severity":34,"summary":148},"Context","Progressive Disclosure","The extension utilizes separate markdown files for detailed troubleshooting, advanced topics, and asset templates, following a progressive disclosure pattern.",{"category":146,"check":150,"severity":52,"summary":151},"Forked exploration","This extension does not involve deep code review or exploration; it provides integration guidance.",{"category":32,"check":153,"severity":34,"summary":154},"Usage examples","The SKILL.md and assets/ directory provide comprehensive, ready-to-use code examples for frontend, backend, and testing, covering the main capabilities.",{"category":32,"check":156,"severity":34,"summary":157},"Edge cases","The troubleshooting guide in references/troubleshooting.md extensively covers various failure modes (database, JWKS, token verification, frontend integration) with symptoms and solutions.",{"category":114,"check":159,"severity":52,"summary":160},"Tool Fallback","This extension does not rely on optional external tools like MCP servers; it uses standard libraries and language runtimes.",{"category":102,"check":162,"severity":34,"summary":163},"Stack assumptions","The extension clearly states its stack assumptions (Next.js, FastAPI, Python, Node.js, PostgreSQL) and provides setup instructions.",{"category":165,"check":166,"severity":34,"summary":167},"Safety","Halt on unexpected state","The troubleshooting guide details common error states and provides solutions, implying that unexpected states will halt the process with informative errors.",{"category":102,"check":169,"severity":34,"summary":170},"Cross-skill coupling","The extension focuses solely on the Better Auth to FastAPI bridge and does not implicitly rely on other skills; cross-skill coordination is not applicable here.",1778054101397,"This extension facilitates a secure authentication bridge between a Next.js frontend using Better Auth and a FastAPI backend. It details how to implement JWT verification using JWKS, set up user isolation, and configure frontend API clients. The provided code snippets and documentation cover database schema requirements, token handling, and common troubleshooting scenarios.","2.0.0","3.4.0","The extension is well-documented with clear code examples and extensive troubleshooting guides, demonstrating a high level of practical utility. However, the critical finding regarding the lack of versioning and commit recency significantly impacts its trust tier, suggesting potential maintenance issues.",85,"Provides comprehensive guidance and code templates for integrating Better Auth with a FastAPI backend using JWKS JWT verification.",[15,16,17,18,19,20,21,22,23,24],"global","flagged",{"codeQuality":182,"collectedAt":183,"documentation":184,"maintenance":186,"security":187,"testCoverage":189},{},1778054089832,{"descriptionLength":185,"readmeSize":8},470,{},{"hasNpmPackage":188,"smitheryVerified":188},false,{"hasCi":188,"hasTests":188},{"updatedAt":191},1778054163453,{"githubOwner":193,"githubRepo":194,"locale":28,"slug":195,"type":196},"bilalmk","todo_correct","betterauth-fastapi-jwt-bridge","skill",true,null,{"extract":200,"llm":203},{"commitSha":201,"license":202},"8b43aa04bd5c53e3cda46469b953684519a84ea7","MIT",{"promptVersionExtension":173,"promptVersionScoring":174,"score":176,"targetMarket":179,"tier":180},{"repoId":205},"kd75ecf652eb91ha327s8bqbex865z6v",{"_creationTime":207,"_id":205,"identity":208,"providers":210,"workflow":219},1777995558409.9006,{"githubOwner":193,"githubRepo":194,"sourceUrl":209},"https://github.com/bilalmk/todo_correct",{"discover":211,"github":214},{"sources":212},[213],"skills-sh",{"closedIssues90d":8,"forks":8,"openIssues90d":215,"pushedAt":216,"readmeSize":217,"stars":215,"topics":218},1,1769509251000,14662,[],{"discoverAt":220,"extractAt":221,"githubAt":221,"updatedAt":221},1777995558409,1778054088050,{"anyEnrichmentAt":223,"extractAt":224,"githubAt":223,"llmAt":191,"updatedAt":191},1778054086910,1778054086261,[],[227,259,287,318,344,367],{"_creationTime":228,"_id":229,"community":230,"display":231,"identity":243,"providers":246,"relations":252,"workflow":255},1778053930836.1196,"k17ak27g3g09fy7wf40a461jmh866tny",{"reviewCount":8},{"description":232,"installMethods":233,"name":234,"sourceUrl":235,"tags":236},"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",[237,19,238,15,18,239,240,241,242],"tanstack","clerk","server","routes","guards","middleware",{"githubOwner":238,"githubRepo":244,"locale":28,"slug":245,"type":196},"skills","clerk-tanstack-patterns",{"extract":247,"llm":249},{"commitSha":248,"license":202},"c1f6afc82a165988421166e68872cb41b892c0b0",{"promptVersionExtension":173,"promptVersionScoring":174,"score":250,"targetMarket":179,"tier":251},98,"verified",{"parentExtensionId":253,"repoId":254},"k1743f7ms46548z8nzj1s5afxd866ek0","kd77f99t2sa8rvy3sj7yn73zp1864abx",{"anyEnrichmentAt":256,"extractAt":257,"githubAt":256,"llmAt":258,"updatedAt":258},1778053933098,1778053930836,1778054020038,{"_creationTime":260,"_id":261,"community":262,"display":263,"identity":273,"providers":277,"relations":281,"workflow":283},1778053622473.6711,"k176a0bfcr2ba1tesnxq87tpkd867bnw",{"reviewCount":8},{"description":264,"installMethods":265,"name":266,"sourceUrl":267,"tags":268},"Extension from jwynia/agent-skills",{},"React PWA","https://github.com/jwynia/agent-skills/tree/HEAD/skills/tech/frontend/pwa/react-pwa",[269,19,270,271,20,272,24],"pwa","vite","javascript","service-worker",{"githubOwner":274,"githubRepo":275,"locale":28,"slug":276,"type":196},"jwynia","agent-skills","react-pwa",{"extract":278,"llm":280},{"commitSha":279,"license":202},"e02ec7e226a6e4f8419fd3b88a1d8e472d421b32",{"promptVersionExtension":173,"promptVersionScoring":174,"score":250,"targetMarket":179,"tier":251},{"repoId":282},"kd7efn3mprpa8rd8vm5hw5ebzx864fph",{"anyEnrichmentAt":284,"extractAt":285,"githubAt":284,"llmAt":286,"updatedAt":286},1778053625386,1778053622473,1778054012696,{"_creationTime":288,"_id":289,"community":290,"display":291,"identity":300,"providers":304,"relations":311,"workflow":313},1777995614337.9844,"k17f0xfg2pkfqd1p5jjzh8sswh8645px",{"reviewCount":8},{"description":292,"installMethods":293,"name":294,"sourceUrl":295,"tags":296},"Scaffold an editable Tandem control panel app",{},"Tandem Panel Scaffold","https://github.com/frumu-ai/tandem/tree/HEAD/packages/create-tandem-panel",[297,298,19,20,270,299],"scaffolding","cli","ui",{"githubOwner":301,"githubRepo":302,"locale":28,"slug":303,"type":196},"frumu-ai","tandem","create-tandem-panel",{"extract":305,"llm":308,"smithery":310},{"commitSha":306,"license":307},"25c8ae7c2f8b20d576a2b8d44946ac2e0ff9408d","MIT OR Apache-2.0",{"promptVersionExtension":173,"promptVersionScoring":174,"score":309,"targetMarket":179,"tier":251},100,{"qualityScore":8,"totalActivations":8,"uniqueUsers":8,"useCount":8,"verified":188},{"repoId":312},"kd72pd305er4m7vecv9p6mnd4s865kea",{"anyEnrichmentAt":314,"extractAt":315,"githubAt":316,"llmAt":317,"smitheryAt":314,"updatedAt":317},1777995723550,1777995614338,1777995614791,1777995897177,{"_creationTime":319,"_id":320,"community":321,"display":322,"identity":330,"providers":333,"relations":338,"workflow":340},1778054425877.1958,"k171ck7gyw157xcvkrk6k0r9y1866w01",{"reviewCount":8},{"description":323,"name":324,"sourceUrl":325,"tags":326},"ESLint rules for React Hooks","ESLint Plugin React Hooks","https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks",[19,327,328,329,271,20],"eslint","linting","hooks",{"githubOwner":331,"githubRepo":19,"locale":28,"slug":332,"type":196},"facebook","eslint-plugin-react-hooks",{"extract":334,"llm":336},{"commitSha":335,"license":202},"9635257c1b557acc81f95b1e974a54c752e703a2",{"promptVersionExtension":173,"promptVersionScoring":174,"score":337,"targetMarket":179,"tier":251},99,{"repoId":339},"kd73v9dy7vwq94hgzc7eh43b9s865rhq",{"anyEnrichmentAt":341,"extractAt":342,"githubAt":341,"llmAt":343,"updatedAt":343},1778054428301,1778054425877,1778054588390,{"_creationTime":345,"_id":346,"community":347,"display":348,"identity":359,"providers":361,"relations":364,"workflow":366},1778053930836.1216,"k179vaekcmae3hrhq6rhxzc03d86616j",{"reviewCount":8},{"description":349,"installMethods":350,"name":351,"sourceUrl":352,"tags":353},"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",[238,15,354,355,356,357,358,18],"b2b","saas","organizations","rbac","sso",{"githubOwner":238,"githubRepo":244,"locale":28,"slug":360,"type":196},"clerk-orgs",{"extract":362,"llm":363},{"commitSha":248,"license":202},{"promptVersionExtension":173,"promptVersionScoring":174,"score":250,"targetMarket":179,"tier":251},{"parentExtensionId":365,"repoId":254},"k172frdvq0x6yj945vg2ce7z9s867rrz",{"anyEnrichmentAt":256,"extractAt":257,"githubAt":256,"llmAt":258,"updatedAt":258},{"_creationTime":368,"_id":369,"community":370,"display":371,"identity":380,"providers":382,"relations":385,"workflow":386},1778053930836.1177,"k1706mzzj3z6wcvjthvn3haek1867nkj",{"reviewCount":8},{"description":372,"installMethods":373,"name":374,"sourceUrl":375,"tags":376},"React Router v7 patterns with Clerk — rootAuthLoader, getAuth in loaders, clerkMiddleware, protected routes, SSR user data, org switching. Triggers on: react-router auth, rootAuthLoader, getAuth loader, react-router protected route, loader authentication, SSR auth react-router.",{},"Clerk React Router Patterns","https://github.com/clerk/skills/tree/HEAD/skills/frameworks/clerk-react-router-patterns",[377,238,15,19,378,379],"react-router","ssr","patterns",{"githubOwner":238,"githubRepo":244,"locale":28,"slug":381,"type":196},"clerk-react-router-patterns",{"extract":383,"llm":384},{"commitSha":248,"license":202},{"promptVersionExtension":173,"promptVersionScoring":174,"score":250,"targetMarket":179,"tier":251},{"parentExtensionId":253,"repoId":254},{"anyEnrichmentAt":256,"extractAt":257,"githubAt":256,"llmAt":258,"updatedAt":258}]