[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6NRTE3WVVANKF3XNMP1YYAP":3,"skill-same:01M6NRTE3WVVANKF3XNMP1YYAP":67},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":46,"commitSha":47,"skillDirectory":48,"forksCount":49,"repositoryHtmlUrl":50,"repositoryHomepageUrl":6,"ownerHtmlUrl":51,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":52,"install":53,"resources":66},"01M6NRTE3WVVANKF3XNMP1YYAP","nextjs-supabase-auth",null,"Expert integration of Supabase Auth with Next.js App Router Use when: supabase auth next, authentication next.js, login supabase, auth middleware, protected route.","vntopicai\u002Fai-planner","vntopicai","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F201040886?v=4","01M6NRHDP3KC0J2F22TSFZH796","01M6NRHDT0JGWD7J4Z10Y0NHHS",1,"MIT","https:\u002F\u002Fgithub.com\u002Fvntopicai\u002Fai-planner\u002Fblob\u002Fmain\u002Ffixtures\u002Flocal-skills\u002Fnextjs-supabase-auth\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"supabase","nextjs","nextjs supabase auth","auth","router","app router","spawner","login","with","middleware","app","next","route","expert","use","js","Next.js","integration","apache","authentication","2026-11-10 10:12:30",false,"---\nname: nextjs-supabase-auth\ndescription: \"Expert integration of Supabase Auth with Next.js App Router Use when: supabase auth next, authentication next.js, login supabase, auth middleware, protected route.\"\nrisk: none\nsource: \"vibeship-spawner-skills (Apache 2.0)\"\ndate_added: \"2026-02-27\"\n---\n\n# Next.js + Supabase Auth\n\nYou are an expert in integrating Supabase Auth with Next.js App Router.\nYou understand the server\u002Fclient boundary, how to handle auth in middleware,\nServer Components, Client Components, and Server Actions.\n\nYour core principles:\n1. Use @supabase\u002Fssr for App Router integration\n2. Handle tokens in middleware for protected routes\n3. Never expose auth tokens to client unnecessarily\n4. Use Server Actions for auth operations when possible\n5. Understand the cookie-based session flow\n\n## Capabilities\n\n- nextjs-auth\n- supabase-auth-nextjs\n- auth-middleware\n- auth-callback\n\n## Requirements\n\n- nextjs-app-router\n- supabase-backend\n\n## Patterns\n\n### Supabase Client Setup\n\nCreate properly configured Supabase clients for different contexts\n\n### Auth Middleware\n\nProtect routes and refresh sessions in middleware\n\n### Auth Callback Route\n\nHandle OAuth callback and exchange code for session\n\n## Anti-Patterns\n\n### ❌ getSession in Server Components\n\n### ❌ Auth State in Client Without Listener\n\n### ❌ Storing Tokens Manually\n\n## Related Skills\n\nWorks well with: `nextjs-app-router`, `supabase-backend`\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n","# Next.js + Supabase Auth\n\nYou are an expert in integrating Supabase Auth with Next.js App Router.\nYou understand the server\u002Fclient boundary, how to handle auth in middleware,\nServer Components, Client Components, and Server Actions.\n\nYour core principles:\n1. Use @supabase\u002Fssr for App Router integration\n2. Handle tokens in middleware for protected routes\n3. Never expose auth tokens to client unnecessarily\n4. Use Server Actions for auth operations when possible\n5. Understand the cookie-based session flow\n\n## Capabilities\n\n- nextjs-auth\n- supabase-auth-nextjs\n- auth-middleware\n- auth-callback\n\n## Requirements\n\n- nextjs-app-router\n- supabase-backend\n\n## Patterns\n\n### Supabase Client Setup\n\nCreate properly configured Supabase clients for different contexts\n\n### Auth Middleware\n\nProtect routes and refresh sessions in middleware\n\n### Auth Callback Route\n\nHandle OAuth callback and exchange code for session\n\n## Anti-Patterns\n\n### ❌ getSession in Server Components\n\n### ❌ Auth State in Client Without Listener\n\n### ❌ Storing Tokens Manually\n\n## Related Skills\n\nWorks well with: `nextjs-app-router`, `supabase-backend`\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n",{"name":5,"risk":43,"source":44,"date_added":45,"description":7},"none","vibeship-spawner-skills (Apache 2.0)","2026-02-27","main","c6237323cdebe9c0193c97f1a338cb169728d78d","fixtures\u002Flocal-skills\u002Fnextjs-supabase-auth",0,"https:\u002F\u002Fgithub.com\u002Fvntopicai\u002Fai-planner","https:\u002F\u002Fgithub.com\u002Fvntopicai","2026-05-13 18:29:40",{"source":8,"skillName":5,"commands":54,"prompt":64,"zipAvailable":65},[55,58,61],{"tool":56,"command":57},"npx","npx skills add vntopicai\u002Fai-planner --skill nextjs-supabase-auth",{"tool":59,"command":60},"bunx","bunx skills add vntopicai\u002Fai-planner --skill nextjs-supabase-auth",{"tool":62,"command":63},"pnpm","pnpm dlx skills add vntopicai\u002Fai-planner --skill nextjs-supabase-auth","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fvntopicai\u002Fai-planner\u002Fblob\u002Fmain\u002Ffixtures\u002Flocal-skills\u002Fnextjs-supabase-auth\u002FSKILL.md",true,[],[68,110,121,137,164,188],{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":90,"publishedAt":38},"01M6NRX0GTVS1XTC035TQFBD6R","ui-ux-pro-max","Frontend UI\u002FUX design intelligence - activate FIRST when user requests beautiful, stunning, gorgeous, or aesthetic interfaces. The primary skill for design decisions before implementation. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check frontend UI\u002FUX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient.","https:\u002F\u002Fgithub.com\u002Fvntopicai\u002Fai-planner\u002Fblob\u002Fmain\u002Ffixtures\u002Flocal-skills\u002Fui-ux-pro-max\u002FSKILL.md",[74,79,82,85],{"categoryNo":75,"categoryName":76,"taxonomyType":77,"taxonomyTypeDesc":78},"01JBSEEDCAT000000000000009","前端开发","SCENARIO","使用场景",{"categoryNo":80,"categoryName":81,"taxonomyType":77,"taxonomyTypeDesc":78},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":83,"categoryName":84,"taxonomyType":77,"taxonomyTypeDesc":78},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":86,"categoryName":87,"taxonomyType":88,"taxonomyTypeDesc":89},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[91,92,93,94,95,96,97,98,99,100,28,101,102,103,104,105,106,107,108,109],"ui ux","ux","ui","ui ux pro max","max","pro","Tailwind","mode","card","chart","tsx","fix","projects","improve","Charts","Animation","actions","design","frontend",{"skillNo":111,"name":112,"nameZh":6,"description":113,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":114,"categories":115,"keywords":117,"publishedAt":38},"01M6NRWHBP9GJK3QP0SDZ5JKMZ","template-skill","Replace with description of the skill and when Claude should use it.","https:\u002F\u002Fgithub.com\u002Fvntopicai\u002Fai-planner\u002Fblob\u002Fmain\u002Ffixtures\u002Flocal-skills\u002Ftemplate-skill\u002FSKILL.md",[116],{"categoryNo":83,"categoryName":84,"taxonomyType":77,"taxonomyTypeDesc":78},[118,119,26,120,32],"template skill","template","it",{"skillNo":122,"name":123,"nameZh":6,"description":124,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":130,"publishedAt":38},"01M6NRW447KC6JHJETVDTS0D25","research","Use when you need to research, analyze, and plan technical solutions that are scalable, secure, and maintainable.","https:\u002F\u002Fgithub.com\u002Fvntopicai\u002Fai-planner\u002Fblob\u002Fmain\u002Ffixtures\u002Flocal-skills\u002Fresearch\u002FSKILL.md",[127],{"categoryNo":128,"categoryName":129,"taxonomyType":77,"taxonomyTypeDesc":78},"01JBSEEDCAT000000000000021","资料检索与研究",[123,131,132,133,134,32,135,136],"secure","plan","analyze","technical","Scalable","you",{"skillNo":138,"name":139,"nameZh":6,"description":140,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":141,"categories":142,"keywords":143,"publishedAt":38},"01M6NRVG7DA75KBK2XKCHQW8YT","Problem-Solving Techniques","Apply systematic problem-solving techniques for complexity spirals (simplification cascades), innovation blocks (collision-zone thinking), recurring patterns (meta-pattern recognition), assumption constraints (inversion exercise), scale uncertainty (scale game), and dispatch when stuck. Techniques derived from Microsoft Amplifier project patterns adapted for immediate application.","https:\u002F\u002Fgithub.com\u002Fvntopicai\u002Fai-planner\u002Fblob\u002Fmain\u002Ffixtures\u002Flocal-skills\u002Fproblem-solving\u002FSKILL.md",[],[144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163],"techniques","Problem Solving Techniques","problem","problem solving","uncertainty","simplification","apply","inversion","for","Inversion Exercise","project","problem-solving","thinking","Scale Game","complexity","recurring","game","exercise","Meta","when stuck",{"skillNo":165,"name":166,"nameZh":6,"description":167,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":168,"categories":169,"keywords":170,"publishedAt":38},"01M6NRV95P9DA08M92S4BHRG1M","payment-integration","Implement payment integrations with SePay (Vietnamese payment gateway with VietQR, bank transfers, cards) and Polar (global SaaS monetization platform with subscriptions, usage-based billing, automated benefits). Use when integrating payment processing, implementing checkout flows, managing subscriptions, handling webhooks, processing bank transfers, generating QR codes, automating benefit delivery, or building billing systems. Supports authentication (API keys, OAuth2), product management, customer portals, tax compliance (Polar as MoR), and comprehensive SDK integrations (Node.js, PHP, Python, Go, Laravel, Next.js).","https:\u002F\u002Fgithub.com\u002Fvntopicai\u002Fai-planner\u002Fblob\u002Fmain\u002Ffixtures\u002Flocal-skills\u002Fpayment-integration\u002FSKILL.md",[],[171,172,35,173,174,175,37,176,177,178,179,180,181,182,183,184,185,186,187,29],"payment","payment integration","laravel","api","product","customer","node","implementing","api keys","bank","transfers","qr","flows","billing","processing","checkout","delivery",{"skillNo":189,"name":190,"nameZh":6,"description":191,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":192,"categories":193,"keywords":194,"publishedAt":38},"01M6NRV5BXB7JXQXWBHQJZ36AJ","nodejs-best-practices","Node.js development principles and decision-making. Framework selection, async patterns, security, and architecture. Teaches thinking, not copying.","https:\u002F\u002Fgithub.com\u002Fvntopicai\u002Fai-planner\u002Fblob\u002Fmain\u002Ffixtures\u002Flocal-skills\u002Fnodejs-best-practices\u002FSKILL.md",[],[195,196,197,198,199,200,201,202,156,203,204,205,177,206,33,207,208,209,210],"best practices","nodejs","nodejs best practices","selection","unknown","principles","decision-making","patterns","community","async","framework selection","decision","framework","development","architecture","security"]