[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DRX5RTNPJDWY9F9X7Q4BKY":3,"skill-same:01M6DRX5RTNPJDWY9F9X7Q4BKY":114},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":33,"linkOnly":34,"markdownContent":35,"markdownBody":36,"frontMatter":37,"refName":38,"commitSha":39,"skillDirectory":40,"forksCount":41,"repositoryHtmlUrl":42,"repositoryHomepageUrl":6,"ownerHtmlUrl":43,"ownerBlogUrl":6,"ownerDescription":44,"updatedAt":45,"install":46,"resources":59},"01M6DRX5RTNPJDWY9F9X7Q4BKY","templatecentral:standards",null,"Use when reviewing code quality, naming conventions, validation patterns, drift, or full-stack type contracts in a templateCentral project.","cljiahao\u002Ftemplatecentral","cljiahao","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F35331421?v=4","01M6DRV6NWCVVF2JTATHZRHMR7","Clarence Lee","01M6DRV6T9A7R49YGTJ3Z5FB3Z",4,"MIT","https:\u002F\u002Fgithub.com\u002Fcljiahao\u002Ftemplatecentral\u002Fblob\u002Fmain\u002Fskills\u002Fstandards\u002FSKILL.md",[],[19,5,20,21,22,23,24,25,26,27,28,29,30,31,32],"standards","code quality","code","validation","stack","quality","use","contracts","patterns","drift","conventions","project","full","type","2026-11-10 10:12:30",false,"---\nname: templatecentral:standards\ndescription: Use when reviewing code quality, naming conventions, validation patterns, drift, or full-stack type contracts in a templateCentral project.\n---\n\n**Step 1** — From `AGENTS.md` and the request, identify the operation and stack.\n\n| Operation | Description | Path |\n|---|---|---|\n| `code-standards` | Naming, exports, component patterns, comment hygiene | `code-standards\u002F\u003Cstack>.md` (load `code-standards\u002Fcomments.md` first) |\n| `validation-patterns` | Zod\u002FPydantic schemas | `validation-patterns\u002F\u003Cstack>.md` (load `validation-patterns\u002Fpatterns.md` first) |\n| `drift-check` | Detect implementation drift | `drift-check\u002Fimplementation.md` |\n| `full-stack-pairing` | Sync frontend\u002Fbackend contracts | `full-stack-pairing\u002Fimplementation.md` |\n\nStacks: `fastapi`, `nestjs`, `nextjs`, `vite-react`\n\n**Step 2** — Run `cat \"\u003Cskill-dir>\u002F\u003Cpath>\"`. `\u003Cskill-dir>` is this skill's directory, shown as \"Base directory for this skill\" when it loads; substitute the absolute path (it is **not** a shell variable).\n\n**Step 3** — Follow the loaded guide exactly.\n","**Step 1** — From `AGENTS.md` and the request, identify the operation and stack.\n\n| Operation | Description | Path |\n|---|---|---|\n| `code-standards` | Naming, exports, component patterns, comment hygiene | `code-standards\u002F\u003Cstack>.md` (load `code-standards\u002Fcomments.md` first) |\n| `validation-patterns` | Zod\u002FPydantic schemas | `validation-patterns\u002F\u003Cstack>.md` (load `validation-patterns\u002Fpatterns.md` first) |\n| `drift-check` | Detect implementation drift | `drift-check\u002Fimplementation.md` |\n| `full-stack-pairing` | Sync frontend\u002Fbackend contracts | `full-stack-pairing\u002Fimplementation.md` |\n\nStacks: `fastapi`, `nestjs`, `nextjs`, `vite-react`\n\n**Step 2** — Run `cat \"\u003Cskill-dir>\u002F\u003Cpath>\"`. `\u003Cskill-dir>` is this skill's directory, shown as \"Base directory for this skill\" when it loads; substitute the absolute path (it is **not** a shell variable).\n\n**Step 3** — Follow the loaded guide exactly.\n",{"name":5,"description":7},"main","bcc00e4a4707d0b2d67cd41ca77dd8ef1a13a339","skills\u002Fstandards",1,"https:\u002F\u002Fgithub.com\u002Fcljiahao\u002Ftemplatecentral","https:\u002F\u002Fgithub.com\u002Fcljiahao","Aim To be a Full Stack Dev","2026-11-12 17:09:26",{"source":8,"skillName":5,"commands":47,"prompt":57,"zipAvailable":58},[48,51,54],{"tool":49,"command":50},"npx","npx skills add cljiahao\u002Ftemplatecentral --skill \"templatecentral:standards\"",{"tool":52,"command":53},"bunx","bunx skills add cljiahao\u002Ftemplatecentral --skill \"templatecentral:standards\"",{"tool":55,"command":56},"pnpm","pnpm dlx skills add cljiahao\u002Ftemplatecentral --skill \"templatecentral:standards\"","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fcljiahao\u002Ftemplatecentral\u002Fblob\u002Fmain\u002Fskills\u002Fstandards\u002FSKILL.md",true,[60,66,70,74,78,82,86,90,94,98,102,106,110],{"path":61,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":64,"sourceHtmlUrl":65},"code-standards\u002Fcomments.md","REFERENCE","参考文档",4464,"https:\u002F\u002Fgithub.com\u002Fcljiahao\u002Ftemplatecentral\u002Fblob\u002Fmain\u002Fskills\u002Fstandards\u002Fcode-standards\u002Fcomments.md",{"path":67,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":68,"sourceHtmlUrl":69},"code-standards\u002Ffastapi.md",6163,"https:\u002F\u002Fgithub.com\u002Fcljiahao\u002Ftemplatecentral\u002Fblob\u002Fmain\u002Fskills\u002Fstandards\u002Fcode-standards\u002Ffastapi.md",{"path":71,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":72,"sourceHtmlUrl":73},"code-standards\u002Fnestjs.md",6502,"https:\u002F\u002Fgithub.com\u002Fcljiahao\u002Ftemplatecentral\u002Fblob\u002Fmain\u002Fskills\u002Fstandards\u002Fcode-standards\u002Fnestjs.md",{"path":75,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":76,"sourceHtmlUrl":77},"code-standards\u002Fnextjs.md",4661,"https:\u002F\u002Fgithub.com\u002Fcljiahao\u002Ftemplatecentral\u002Fblob\u002Fmain\u002Fskills\u002Fstandards\u002Fcode-standards\u002Fnextjs.md",{"path":79,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":80,"sourceHtmlUrl":81},"code-standards\u002Fvite-react.md",4948,"https:\u002F\u002Fgithub.com\u002Fcljiahao\u002Ftemplatecentral\u002Fblob\u002Fmain\u002Fskills\u002Fstandards\u002Fcode-standards\u002Fvite-react.md",{"path":83,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":84,"sourceHtmlUrl":85},"drift-check\u002Fimplementation.md",3835,"https:\u002F\u002Fgithub.com\u002Fcljiahao\u002Ftemplatecentral\u002Fblob\u002Fmain\u002Fskills\u002Fstandards\u002Fdrift-check\u002Fimplementation.md",{"path":87,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":88,"sourceHtmlUrl":89},"full-stack-pairing\u002Fimplementation.md",13260,"https:\u002F\u002Fgithub.com\u002Fcljiahao\u002Ftemplatecentral\u002Fblob\u002Fmain\u002Fskills\u002Fstandards\u002Ffull-stack-pairing\u002Fimplementation.md",{"path":91,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":92,"sourceHtmlUrl":93},"index.json",546,"https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Flinux-fs-hidden-dotfile-detect\u002Findex.json",{"path":95,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":96,"sourceHtmlUrl":97},"validation-patterns\u002Ffastapi.md",7643,"https:\u002F\u002Fgithub.com\u002Fcljiahao\u002Ftemplatecentral\u002Fblob\u002Fmain\u002Fskills\u002Fstandards\u002Fvalidation-patterns\u002Ffastapi.md",{"path":99,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":100,"sourceHtmlUrl":101},"validation-patterns\u002Fnestjs.md",5773,"https:\u002F\u002Fgithub.com\u002Fcljiahao\u002Ftemplatecentral\u002Fblob\u002Fmain\u002Fskills\u002Fstandards\u002Fvalidation-patterns\u002Fnestjs.md",{"path":103,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":104,"sourceHtmlUrl":105},"validation-patterns\u002Fnextjs.md",13814,"https:\u002F\u002Fgithub.com\u002Fcljiahao\u002Ftemplatecentral\u002Fblob\u002Fmain\u002Fskills\u002Fstandards\u002Fvalidation-patterns\u002Fnextjs.md",{"path":107,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":108,"sourceHtmlUrl":109},"validation-patterns\u002Fpatterns.md",5597,"https:\u002F\u002Fgithub.com\u002Fcljiahao\u002Ftemplatecentral\u002Fblob\u002Fmain\u002Fskills\u002Fstandards\u002Fvalidation-patterns\u002Fpatterns.md",{"path":111,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":112,"sourceHtmlUrl":113},"validation-patterns\u002Fvite-react.md",10029,"https:\u002F\u002Fgithub.com\u002Fcljiahao\u002Ftemplatecentral\u002Fblob\u002Fmain\u002Fskills\u002Fstandards\u002Fvalidation-patterns\u002Fvite-react.md",[115,126,141,147,162,168],{"skillNo":116,"name":117,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":125,"publishedAt":33},"01M6DRX95TVDEYBWJ6A0REWRV9","test","https:\u002F\u002Fgithub.com\u002Fcljiahao\u002Ftemplatecentral\u002Fblob\u002Fmain\u002Fskills\u002Ftest\u002FSKILL.md",[120],{"categoryNo":121,"categoryName":122,"taxonomyType":123,"taxonomyTypeDesc":124},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[117],{"skillNo":127,"name":128,"nameZh":6,"description":129,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":130,"categories":131,"keywords":132,"publishedAt":33},"01M6DRWE3SBMKPSNR56DTG86PR","templatecentral:scaffold","Use when creating a new FastAPI, NestJS, Next.js, or Vite+React project from scratch.","https:\u002F\u002Fgithub.com\u002Fcljiahao\u002Ftemplatecentral\u002Fblob\u002Fmain\u002Fskills\u002Fscaffold\u002FSKILL.md",[],[128,133,134,135,136,137,25,138,139,140,30],"scaffold","react","Next.js","js","fastapi","vite","nestjs","next",{"skillNo":142,"name":143,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":146,"publishedAt":33},"01M6DRWBRR9KTWFA2NB8RKGV8E","review","https:\u002F\u002Fgithub.com\u002Fcljiahao\u002Ftemplatecentral\u002Fblob\u002Fmain\u002Fskills\u002Freview\u002FSKILL.md",[],[143],{"skillNo":148,"name":149,"nameZh":6,"description":150,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":156,"publishedAt":33},"01M6DRW7FKBS1RCW536BFXKDZX","templatecentral:migrate","Use when adopting or upgrading a project, switching its DB access layer, or extracting a Next.js backend — FastAPI, NestJS, Next.js, Vite + React.","https:\u002F\u002Fgithub.com\u002Fcljiahao\u002Ftemplatecentral\u002Fblob\u002Fmain\u002Fskills\u002Fmigrate\u002FSKILL.md",[153],{"categoryNo":154,"categoryName":155,"taxonomyType":123,"taxonomyTypeDesc":124},"01JBSEEDCAT000000000000010","后端与接口",[157,149,138,25,139,140,30,158,159,160,134,135,136,161,137],"migrate","switching","db","backend","access",{"skillNo":163,"name":164,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":165,"categories":166,"keywords":167,"publishedAt":33},"01M6DRW5C5ABZ9262NAXXK6Y7V","cleanup","https:\u002F\u002Fgithub.com\u002Fcljiahao\u002Ftemplatecentral\u002Fblob\u002Fmain\u002Fskills\u002Fcleanup\u002FSKILL.md",[],[164],{"skillNo":169,"name":170,"nameZh":6,"description":171,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":172,"categories":173,"keywords":174,"publishedAt":33},"01M6DRVK1GB0P3T3XSX1175SZC","templatecentral:add","Use when adding any capability to a FastAPI, NestJS, Next.js, or Vite+React project — auth, database, tests, components, logging, and more.","https:\u002F\u002Fgithub.com\u002Fcljiahao\u002Ftemplatecentral\u002Fblob\u002Fmain\u002Fskills\u002Fadd\u002FSKILL.md",[],[170,139,134,175,176,177,135,136,137,25,138,140,30,178,179],"auth","database","logging","tests","components"]