[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EBWN7D8EC6FJK86GQ91EGG":3,"skill-same:01M6EBWN7D8EC6FJK86GQ91EGG":145},{"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":43,"ownerHtmlUrl":44,"ownerBlogUrl":6,"ownerDescription":45,"updatedAt":46,"install":47,"resources":60},"01M6EBWN7D8EC6FJK86GQ91EGG","swift-language",null,"Standards for Optionals, Protocols, Extensions, and Type Safety. Use when working with Swift Optionals, Protocols, Extensions, or type-safe APIs. (triggers: **\u002F*.swift, protocol, extension, optional, guard, enum)","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",67,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002FHoangNguyen0403\u002Fagent-skills-standard\u002Fswift-language\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32],"swift","language","swift language","safe","protocol","protocols","Type Safety","Safety","guard","use","standards","triggers","type","extension","2026-11-10 10:12:30",false,"---\nname: swift-language\ndescription: 'Standards for Optionals, Protocols, Extensions, and Type Safety. Use when working with Swift Optionals, Protocols, Extensions, or type-safe APIs. (triggers: **\u002F*.swift, protocol, extension, optional, guard, enum)'\n---\n\n# Swift Language Standards\n\n## **Priority: P0**\n\n## Implementation Guidelines\n\n### Optionals & Safety\n\n- **Never Force Unwrap**: Use **guard let**, **if let**, or **nil coalescing (??)** to safely unwrap.\n- **Nil Comparison**: Use `value != nil` instead of `if let _ = value`.\n- **Implicitly Unwrapped**: Avoid `Type!`. Use proper `Type?`.\n\n### Protocols & Extensions\n\n- **Protocols as Blueprints**: Protocols define a **blueprint**; classes inherit implementation.\n- **Composition over Inheritance**: **Prefer protocol composition** with structs for better decoupling and performance.\n- **Extensions**: Implement **conformance** in an extension: **`extension MyType: MyProtocol { ... }`**. Use extensions for clean code organization, not storage (do **not** use extensions for **stored properties**).\n- **Protocol Witnesses**: Explicitly implement all required members to satisfy the witness table.\n\n### Type Safety\n\n- **Avoid `Any`**: Use generics or associated types instead for compile-time safety.\n- **Enums**: Prefer enums with **associated values** over multiple Optionals. Extract values via a **switch** statement (e.g., `case .success(let value):`).\n- **Value Types**: **Default to struct** for **value semantics** and thread safety. Use `class` only when **reference identity** is necessary or for inheritance. Structs are copied; classes are shared.\n\n## Anti-Patterns\n\n- **No ! operator**: Use safe unwrapping.\n- **No -1 for failure**: Use Optional.\n- **No force cast (as!)**: Use conditional cast (as?).\n\n## References\n\n- [Optionals & Protocols](references\u002Fimplementation.md)\n\n","# Swift Language Standards\n\n## **Priority: P0**\n\n## Implementation Guidelines\n\n### Optionals & Safety\n\n- **Never Force Unwrap**: Use **guard let**, **if let**, or **nil coalescing (??)** to safely unwrap.\n- **Nil Comparison**: Use `value != nil` instead of `if let _ = value`.\n- **Implicitly Unwrapped**: Avoid `Type!`. Use proper `Type?`.\n\n### Protocols & Extensions\n\n- **Protocols as Blueprints**: Protocols define a **blueprint**; classes inherit implementation.\n- **Composition over Inheritance**: **Prefer protocol composition** with structs for better decoupling and performance.\n- **Extensions**: Implement **conformance** in an extension: **`extension MyType: MyProtocol { ... }`**. Use extensions for clean code organization, not storage (do **not** use extensions for **stored properties**).\n- **Protocol Witnesses**: Explicitly implement all required members to satisfy the witness table.\n\n### Type Safety\n\n- **Avoid `Any`**: Use generics or associated types instead for compile-time safety.\n- **Enums**: Prefer enums with **associated values** over multiple Optionals. Extract values via a **switch** statement (e.g., `case .success(let value):`).\n- **Value Types**: **Default to struct** for **value semantics** and thread safety. Use `class` only when **reference identity** is necessary or for inheritance. Structs are copied; classes are shared.\n\n## Anti-Patterns\n\n- **No ! operator**: Use safe unwrapping.\n- **No -1 for failure**: Use Optional.\n- **No force cast (as!)**: Use conditional cast (as?).\n\n## References\n\n- [Optionals & Protocols](references\u002Fimplementation.md)\n\n",{"name":5,"description":7},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002FHoangNguyen0403\u002Fagent-skills-standard\u002Fswift-language",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":48,"prompt":58,"zipAvailable":59},[49,52,55],{"tool":50,"command":51},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill swift-language",{"tool":53,"command":54},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill swift-language",{"tool":56,"command":57},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill swift-language","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002FHoangNguyen0403\u002Fagent-skills-standard\u002Fswift-language\u002FSKILL.md",true,[61,67,71,75,81,87,91,97,101,105,109,113,117,121,125,129,133,137,141],{"path":62,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":65,"sourceHtmlUrl":66},"agents\u002Fanalyzer.md","REFERENCE","参考文档",10376,"https:\u002F\u002Fgithub.com\u002Fq2805187159\u002FAnvil\u002Fblob\u002Fmain\u002Fskills\u002Fskill-creator\u002Fagents\u002Fanalyzer.md",{"path":68,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":69,"sourceHtmlUrl":70},"agents\u002Fcomparator.md",7287,"https:\u002F\u002Fgithub.com\u002Fq2805187159\u002FAnvil\u002Fblob\u002Fmain\u002Fskills\u002Fskill-creator\u002Fagents\u002Fcomparator.md",{"path":72,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":73,"sourceHtmlUrl":74},"agents\u002Fgrader.md",9049,"https:\u002F\u002Fgithub.com\u002Fq2805187159\u002FAnvil\u002Fblob\u002Fmain\u002Fskills\u002Fskill-creator\u002Fagents\u002Fgrader.md",{"path":76,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":79,"sourceHtmlUrl":80},"assets\u002Feval_review.html","ASSET","资产文件",7058,"https:\u002F\u002Fgithub.com\u002Fq2805187159\u002FAnvil\u002Fblob\u002Fmain\u002Fskills\u002Fskill-creator\u002Fassets\u002Feval_review.html",{"path":82,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":85,"sourceHtmlUrl":86},"eval-viewer\u002Fgenerate_review.py","SCRIPT","脚本",16365,"https:\u002F\u002Fgithub.com\u002Fq2805187159\u002FAnvil\u002Fblob\u002Fmain\u002Fskills\u002Fskill-creator\u002Feval-viewer\u002Fgenerate_review.py",{"path":88,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":89,"sourceHtmlUrl":90},"eval-viewer\u002Fviewer.html",44998,"https:\u002F\u002Fgithub.com\u002Fq2805187159\u002FAnvil\u002Fblob\u002Fmain\u002Fskills\u002Fskill-creator\u002Feval-viewer\u002Fviewer.html",{"path":92,"resourceType":93,"resourceTypeDesc":94,"sizeBytes":95,"sourceHtmlUrl":96},"LICENSE.txt","LICENSE","许可证",11358,"https:\u002F\u002Fgithub.com\u002Fq2805187159\u002FAnvil\u002Fblob\u002Fmain\u002Fskills\u002Fskill-creator\u002FLICENSE.txt",{"path":98,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":99,"sourceHtmlUrl":100},"references\u002Foutput-patterns.md",1813,"https:\u002F\u002Fgithub.com\u002Fq2805187159\u002FAnvil\u002Fblob\u002Fmain\u002Fskills\u002Fskill-creator\u002Freferences\u002Foutput-patterns.md",{"path":102,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":103,"sourceHtmlUrl":104},"references\u002Fschemas.md",12061,"https:\u002F\u002Fgithub.com\u002Fq2805187159\u002FAnvil\u002Fblob\u002Fmain\u002Fskills\u002Fskill-creator\u002Freferences\u002Fschemas.md",{"path":106,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":107,"sourceHtmlUrl":108},"references\u002Fworkflows.md",818,"https:\u002F\u002Fgithub.com\u002Fq2805187159\u002FAnvil\u002Fblob\u002Fmain\u002Fskills\u002Fskill-creator\u002Freferences\u002Fworkflows.md",{"path":110,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":111,"sourceHtmlUrl":112},"scripts\u002Faggregate_benchmark.py",14476,"https:\u002F\u002Fgithub.com\u002Fq2805187159\u002FAnvil\u002Fblob\u002Fmain\u002Fskills\u002Fskill-creator\u002Fscripts\u002Faggregate_benchmark.py",{"path":114,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":115,"sourceHtmlUrl":116},"scripts\u002Fgenerate_report.py",12847,"https:\u002F\u002Fgithub.com\u002Fq2805187159\u002FAnvil\u002Fblob\u002Fmain\u002Fskills\u002Fskill-creator\u002Fscripts\u002Fgenerate_report.py",{"path":118,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":119,"sourceHtmlUrl":120},"scripts\u002Fimprove_description.py",11115,"https:\u002F\u002Fgithub.com\u002Fq2805187159\u002FAnvil\u002Fblob\u002Fmain\u002Fskills\u002Fskill-creator\u002Fscripts\u002Fimprove_description.py",{"path":122,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":123,"sourceHtmlUrl":124},"scripts\u002Finit_skill.py",13753,"https:\u002F\u002Fgithub.com\u002Fq2805187159\u002FAnvil\u002Fblob\u002Fmain\u002Fskills\u002Fskill-creator\u002Fscripts\u002Finit_skill.py",{"path":126,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":127,"sourceHtmlUrl":128},"scripts\u002Fpackage_skill.py",3280,"https:\u002F\u002Fgithub.com\u002Fq2805187159\u002FAnvil\u002Fblob\u002Fmain\u002Fskills\u002Fskill-creator\u002Fscripts\u002Fpackage_skill.py",{"path":130,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":131,"sourceHtmlUrl":132},"scripts\u002Fquick_validate.py",3293,"https:\u002F\u002Fgithub.com\u002Fq2805187159\u002FAnvil\u002Fblob\u002Fmain\u002Fskills\u002Fskill-creator\u002Fscripts\u002Fquick_validate.py",{"path":134,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":135,"sourceHtmlUrl":136},"scripts\u002Frun_eval.py",11464,"https:\u002F\u002Fgithub.com\u002Fq2805187159\u002FAnvil\u002Fblob\u002Fmain\u002Fskills\u002Fskill-creator\u002Fscripts\u002Frun_eval.py",{"path":138,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":139,"sourceHtmlUrl":140},"scripts\u002Frun_loop.py",13605,"https:\u002F\u002Fgithub.com\u002Fq2805187159\u002FAnvil\u002Fblob\u002Fmain\u002Fskills\u002Fskill-creator\u002Fscripts\u002Frun_loop.py",{"path":142,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":143,"sourceHtmlUrl":144},"scripts\u002Futils.py",1661,"https:\u002F\u002Fgithub.com\u002Fq2805187159\u002FAnvil\u002Fblob\u002Fmain\u002Fskills\u002Fskill-creator\u002Fscripts\u002Futils.py",[146,160,170,179,185,192],{"skillNo":147,"name":148,"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":149,"categories":150,"keywords":156,"publishedAt":33},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[151],{"categoryNo":152,"categoryName":153,"taxonomyType":154,"taxonomyTypeDesc":155},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[157,158,159],"model","model hierarchy","model hierarchy skill",{"skillNo":161,"name":162,"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":163,"categories":164,"keywords":166,"publishedAt":33},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[165],{"categoryNo":152,"categoryName":153,"taxonomyType":154,"taxonomyTypeDesc":155},[167,168,169],"MCP","zoom","zoom mcp",{"skillNo":171,"name":172,"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":173,"categories":174,"keywords":175,"publishedAt":33},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[176,177,178,168],"sdk","zoom apps sdk","apps",{"skillNo":180,"name":181,"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":182,"categories":183,"keywords":184,"publishedAt":33},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[181],{"skillNo":186,"name":187,"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":188,"categories":189,"keywords":191,"publishedAt":33},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[190],{"categoryNo":152,"categoryName":153,"taxonomyType":154,"taxonomyTypeDesc":155},[187],{"skillNo":193,"name":194,"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":195,"categories":196,"keywords":197,"publishedAt":33},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[194]]