[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EBGMA79SNMKHHHT2H9YW60":3,"skill-same:01M6EBGMA79SNMKHHHT2H9YW60":77},{"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":32,"linkOnly":33,"markdownContent":34,"markdownBody":35,"frontMatter":36,"refName":54,"commitSha":55,"skillDirectory":56,"forksCount":57,"repositoryHtmlUrl":58,"repositoryHomepageUrl":59,"ownerHtmlUrl":60,"ownerBlogUrl":6,"ownerDescription":61,"updatedAt":62,"install":63,"resources":76},"01M6EBGMA79SNMKHHHT2H9YW60","TypeScript Language Patterns",null,"Modern TypeScript standards for type safety and maintainability. Use when working with types, interfaces, generics, enums, unions, or tsconfig settings.","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",66,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002FHoangNguyen0403\u002Fagent-skills-standard\u002Flanguage\u002FSKILL.md",[],[19,20,21,5,22,23,24,25,26,27,28,29,30,31],"typescript","language","patterns","Type Safety","Safety","json","settings","use","readonly","standards","tsx","maintainability","type","2026-11-10 10:12:30",false,"---\nname: TypeScript Language Patterns\ndescription: Modern TypeScript standards for type safety and maintainability. Use when working with types, interfaces, generics, enums, unions, or tsconfig settings.\nmetadata:\n  labels: [typescript, language, types, generics]\n  triggers:\n    files: ['**\u002F*.ts', '**\u002F*.tsx', 'tsconfig.json']\n    keywords:\n      [\n        type,\n        interface,\n        generic,\n        enum,\n        union,\n        intersection,\n        readonly,\n        const,\n        namespace,\n      ]\n---\n\n# TypeScript Language Patterns\n\n## **Priority: P0 (CRITICAL)**\n\n## Implementation Guidelines\n\n- **Type Annotations**: Explicit params\u002Freturns. Infer locals.\n- **Interfaces vs Types**: `interface` for APIs. `type` for unions.\n- **Strict Mode**: `strict: true`. Null Safety: `?.` and `??`.\n- **Enums**: Literal unions or `as const`. **No runtime `enum`**.\n- **Generics**: Reusable, type-safe code.\n- **Type Guards**: `typeof`, `instanceof`, predicates.\n- **Utility Types**: `Partial`, `Pick`, `Omit`, `Record`.\n- **Immutability**: `readonly` arrays\u002Fobjects. Const Assertions: `as const`, `satisfies`.\n- **Template Literals**: `on${Capitalize\u003Cstring>}`.\n- **Discriminated Unions**: Literal `kind` property.\n- **Advanced**: Mapped, Conditional, Indexed types.\n- **Access**: Default `public`. Use `private`\u002F`protected` or `#private`.\n- **Branded Types**: `string & { __brand: 'Id' }`.\n\n## Anti-Patterns\n\n- **No `any`**: NEVER use `any`. Use `unknown` or specific interfaces.\n- **No `Function`**: Use signature `() => void`.\n- **No `enum`**: Runtime cost.\n- **No `!`**: Use narrowing.\n- **NO LINT DISABLE**: PROHIBITED. Fix issues properly.\n\n## Testing\n\n- **Mocking**: Use `jest.Mocked\u003CT>` or `as unknown as T`.\n- **Checklist**: Check method existence, match error constants, satisfy required properties.\n- **References**: See [references\u002FTESTING.md](references\u002FTESTING.md) for common issues\u002Fsolutions.\n\n## Code\n\n```typescript\n\u002F\u002F Branded Type\ntype UserId = string & { __brand: 'Id' };\n\n\u002F\u002F Satisfies (Validate + Infer)\nconst cfg = { port: 3000 } satisfies Record\u003Cstring, number>;\n\n\u002F\u002F Discriminated Union\ntype Result\u003CT> = { kind: 'ok'; data: T } | { kind: 'err'; error: Error };\n```\n\n## Reference & Examples\n\nFor advanced type patterns and utility types:\nSee [references\u002FREFERENCE.md](references\u002FREFERENCE.md).\n\n## Related Topics\n\nbest-practices | security | tooling\n\n","# TypeScript Language Patterns\n\n## **Priority: P0 (CRITICAL)**\n\n## Implementation Guidelines\n\n- **Type Annotations**: Explicit params\u002Freturns. Infer locals.\n- **Interfaces vs Types**: `interface` for APIs. `type` for unions.\n- **Strict Mode**: `strict: true`. Null Safety: `?.` and `??`.\n- **Enums**: Literal unions or `as const`. **No runtime `enum`**.\n- **Generics**: Reusable, type-safe code.\n- **Type Guards**: `typeof`, `instanceof`, predicates.\n- **Utility Types**: `Partial`, `Pick`, `Omit`, `Record`.\n- **Immutability**: `readonly` arrays\u002Fobjects. Const Assertions: `as const`, `satisfies`.\n- **Template Literals**: `on${Capitalize\u003Cstring>}`.\n- **Discriminated Unions**: Literal `kind` property.\n- **Advanced**: Mapped, Conditional, Indexed types.\n- **Access**: Default `public`. Use `private`\u002F`protected` or `#private`.\n- **Branded Types**: `string & { __brand: 'Id' }`.\n\n## Anti-Patterns\n\n- **No `any`**: NEVER use `any`. Use `unknown` or specific interfaces.\n- **No `Function`**: Use signature `() => void`.\n- **No `enum`**: Runtime cost.\n- **No `!`**: Use narrowing.\n- **NO LINT DISABLE**: PROHIBITED. Fix issues properly.\n\n## Testing\n\n- **Mocking**: Use `jest.Mocked\u003CT>` or `as unknown as T`.\n- **Checklist**: Check method existence, match error constants, satisfy required properties.\n- **References**: See [references\u002FTESTING.md](references\u002FTESTING.md) for common issues\u002Fsolutions.\n\n## Code\n\n```typescript\n\u002F\u002F Branded Type\ntype UserId = string & { __brand: 'Id' };\n\n\u002F\u002F Satisfies (Validate + Infer)\nconst cfg = { port: 3000 } satisfies Record\u003Cstring, number>;\n\n\u002F\u002F Discriminated Union\ntype Result\u003CT> = { kind: 'ok'; data: T } | { kind: 'err'; error: Error };\n```\n\n## Reference & Examples\n\nFor advanced type patterns and utility types:\nSee [references\u002FREFERENCE.md](references\u002FREFERENCE.md).\n\n## Related Topics\n\nbest-practices | security | tooling\n\n",{"name":5,"metadata":37,"description":7},{"labels":38,"triggers":41},[19,20,39,40],"types","generics",{"files":42,"keywords":46},[43,44,45],"**\u002F*.ts","**\u002F*.tsx","tsconfig.json",[31,47,48,49,50,51,27,52,53],"interface","generic","enum","union","intersection","const","namespace","main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002FHoangNguyen0403\u002Fagent-skills-standard\u002Flanguage",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":64,"prompt":74,"zipAvailable":75},[65,68,71],{"tool":66,"command":67},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill \"TypeScript Language Patterns\"",{"tool":69,"command":70},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill \"TypeScript Language Patterns\"",{"tool":72,"command":73},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill \"TypeScript Language Patterns\"","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002FHoangNguyen0403\u002Fagent-skills-standard\u002Flanguage\u002FSKILL.md",true,[],[78,92,102,111,117,124],{"skillNo":79,"name":80,"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":81,"categories":82,"keywords":88,"publishedAt":32},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[83],{"categoryNo":84,"categoryName":85,"taxonomyType":86,"taxonomyTypeDesc":87},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[89,90,91],"model","model hierarchy","model hierarchy skill",{"skillNo":93,"name":94,"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":95,"categories":96,"keywords":98,"publishedAt":32},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[97],{"categoryNo":84,"categoryName":85,"taxonomyType":86,"taxonomyTypeDesc":87},[99,100,101],"MCP","zoom","zoom mcp",{"skillNo":103,"name":104,"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":105,"categories":106,"keywords":107,"publishedAt":32},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[108,109,110,100],"sdk","zoom apps sdk","apps",{"skillNo":112,"name":113,"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":114,"categories":115,"keywords":116,"publishedAt":32},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[113],{"skillNo":118,"name":119,"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":120,"categories":121,"keywords":123,"publishedAt":32},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[122],{"categoryNo":84,"categoryName":85,"taxonomyType":86,"taxonomyTypeDesc":87},[119],{"skillNo":125,"name":126,"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":127,"categories":128,"keywords":129,"publishedAt":32},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[126]]