[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EBS434KP7VAM7VCK7MDZNN":3,"skill-same:01M6EBS434KP7VAM7VCK7MDZNN":105},{"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":28,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":48,"commitSha":49,"skillDirectory":50,"forksCount":51,"repositoryHtmlUrl":52,"repositoryHomepageUrl":53,"ownerHtmlUrl":54,"ownerBlogUrl":6,"ownerDescription":55,"updatedAt":56,"install":57,"resources":70},"01M6EBS434KP7VAM7VCK7MDZNN","react-native-platform-specific",null,"Handling iOS and Android differences with Platform API and native modules. Use when handling platform-specific behavior or integrating native modules in React Native. (triggers: **\u002F*.tsx, **\u002F*.ts, **\u002F*.ios.*, **\u002F*.android.*, Platform, Platform.select, native-module, ios, android)","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\u002Freact-native-platform-specific\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37,38,39,40,41,42],"react","react native","platform","react native platform specific","android","ios","api","select","behavior","use","modules","tsx","triggers","module","2026-11-10 10:12:30",false,"---\nname: react-native-platform-specific\ndescription: \"Handling iOS and Android differences with Platform API and native modules. Use when handling platform-specific behavior or integrating native modules in React Native. (triggers: **\u002F*.tsx, **\u002F*.ts, **\u002F*.ios.*, **\u002F*.android.*, Platform, Platform.select, native-module, ios, android)\"\n---\n\n# React Native Platform-Specific Code\n\n## **Priority: P1 (OPERATIONAL)**\n\n## File Extensions\n\nUse `.ios.` and `.android.` for platform-specific files:\n\n```text\nButton.tsx          # Shared\nButton.ios.tsx      # iOS-specific\nButton.android.tsx  # Android-specific\n```\n\nReact Native automatically picks the right file:\n\n- **iOS**: Button.ios.tsx → Button.tsx (fallback)\n- **Android**: Button.android.tsx → Button.tsx (fallback)\n\n## Native Modules\n\n- **Expo**: Use Expo modules when available (`expo-*` packages).\n- **Bare RN**: Use community modules (`@react-native-community\u002F*`).\n- **Custom**: Write native modules in Swift\u002FKotlin when needed.\n\n## Anti-Patterns\n\n- **No Excessive Branching**: Extract to separate files if logic diverges.\n- **No Hardcoded Version Checks**: Use feature detection.\n- **No Ignoring Android**: Test on both platforms.\n\n## References\n\nSee [references\u002Fnative-modules.md](references\u002Fnative-modules.md) for Platform detection examples, Native Bridge (iOS\u002FAndroid), Expo JSI Modules, and SafeArea handling.\n\n","# React Native Platform-Specific Code\n\n## **Priority: P1 (OPERATIONAL)**\n\n## File Extensions\n\nUse `.ios.` and `.android.` for platform-specific files:\n\n```text\nButton.tsx          # Shared\nButton.ios.tsx      # iOS-specific\nButton.android.tsx  # Android-specific\n```\n\nReact Native automatically picks the right file:\n\n- **iOS**: Button.ios.tsx → Button.tsx (fallback)\n- **Android**: Button.android.tsx → Button.tsx (fallback)\n\n## Native Modules\n\n- **Expo**: Use Expo modules when available (`expo-*` packages).\n- **Bare RN**: Use community modules (`@react-native-community\u002F*`).\n- **Custom**: Write native modules in Swift\u002FKotlin when needed.\n\n## Anti-Patterns\n\n- **No Excessive Branching**: Extract to separate files if logic diverges.\n- **No Hardcoded Version Checks**: Use feature detection.\n- **No Ignoring Android**: Test on both platforms.\n\n## References\n\nSee [references\u002Fnative-modules.md](references\u002Fnative-modules.md) for Platform detection examples, Native Bridge (iOS\u002FAndroid), Expo JSI Modules, and SafeArea handling.\n\n",{"name":5,"description":7},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002FHoangNguyen0403\u002Fagent-skills-standard\u002Freact-native-platform-specific",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":58,"prompt":68,"zipAvailable":69},[59,62,65],{"tool":60,"command":61},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill react-native-platform-specific",{"tool":63,"command":64},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill react-native-platform-specific",{"tool":66,"command":67},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill react-native-platform-specific","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002FHoangNguyen0403\u002Fagent-skills-standard\u002Freact-native-platform-specific\u002FSKILL.md",true,[71,77,81,85,89,93,97,101],{"path":72,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":75,"sourceHtmlUrl":76},"agents\u002Fopenai.yaml","REFERENCE","参考文档",242,"https:\u002F\u002Fgithub.com\u002FThamielis\u002F.agents\u002Fblob\u002Fmain\u002Fplugins\u002Fbuild-ios-apps\u002Fskills\u002Fswiftui-performance-audit\u002Fagents\u002Fopenai.yaml",{"path":78,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":79,"sourceHtmlUrl":80},"references\u002Fcode-smells.md",3753,"https:\u002F\u002Fgithub.com\u002FThamielis\u002F.agents\u002Fblob\u002Fmain\u002Fplugins\u002Fbuild-ios-apps\u002Fskills\u002Fswiftui-performance-audit\u002Freferences\u002Fcode-smells.md",{"path":82,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":83,"sourceHtmlUrl":84},"references\u002Fdemystify-swiftui-performance-wwdc23.md",1813,"https:\u002F\u002Fgithub.com\u002FThamielis\u002F.agents\u002Fblob\u002Fmain\u002Fplugins\u002Fbuild-ios-apps\u002Fskills\u002Fswiftui-performance-audit\u002Freferences\u002Fdemystify-swiftui-performance-wwdc23.md",{"path":86,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":87,"sourceHtmlUrl":88},"references\u002Foptimizing-swiftui-performance-instruments.md",1837,"https:\u002F\u002Fgithub.com\u002FThamielis\u002F.agents\u002Fblob\u002Fmain\u002Fplugins\u002Fbuild-ios-apps\u002Fskills\u002Fswiftui-performance-audit\u002Freferences\u002Foptimizing-swiftui-performance-instruments.md",{"path":90,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":91,"sourceHtmlUrl":92},"references\u002Fprofiling-intake.md",1904,"https:\u002F\u002Fgithub.com\u002FThamielis\u002F.agents\u002Fblob\u002Fmain\u002Fplugins\u002Fbuild-ios-apps\u002Fskills\u002Fswiftui-performance-audit\u002Freferences\u002Fprofiling-intake.md",{"path":94,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":95,"sourceHtmlUrl":96},"references\u002Freport-template.md",1201,"https:\u002F\u002Fgithub.com\u002FThamielis\u002F.agents\u002Fblob\u002Fmain\u002Fplugins\u002Fbuild-ios-apps\u002Fskills\u002Fswiftui-performance-audit\u002Freferences\u002Freport-template.md",{"path":98,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":99,"sourceHtmlUrl":100},"references\u002Funderstanding-hangs-in-your-app.md",1267,"https:\u002F\u002Fgithub.com\u002FThamielis\u002F.agents\u002Fblob\u002Fmain\u002Fplugins\u002Fbuild-ios-apps\u002Fskills\u002Fswiftui-performance-audit\u002Freferences\u002Funderstanding-hangs-in-your-app.md",{"path":102,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":103,"sourceHtmlUrl":104},"references\u002Funderstanding-improving-swiftui-performance.md",2262,"https:\u002F\u002Fgithub.com\u002FThamielis\u002F.agents\u002Fblob\u002Fmain\u002Fplugins\u002Fbuild-ios-apps\u002Fskills\u002Fswiftui-performance-audit\u002Freferences\u002Funderstanding-improving-swiftui-performance.md",[106,118,128,137,143,150],{"skillNo":107,"name":108,"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":109,"categories":110,"keywords":114,"publishedAt":43},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[111],{"categoryNo":112,"categoryName":113,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[115,116,117],"model","model hierarchy","model hierarchy skill",{"skillNo":119,"name":120,"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":121,"categories":122,"keywords":124,"publishedAt":43},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[123],{"categoryNo":112,"categoryName":113,"taxonomyType":21,"taxonomyTypeDesc":22},[125,126,127],"MCP","zoom","zoom mcp",{"skillNo":129,"name":130,"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":131,"categories":132,"keywords":133,"publishedAt":43},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[134,135,136,126],"sdk","zoom apps sdk","apps",{"skillNo":138,"name":139,"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":140,"categories":141,"keywords":142,"publishedAt":43},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[139],{"skillNo":144,"name":145,"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":146,"categories":147,"keywords":149,"publishedAt":43},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[148],{"categoryNo":112,"categoryName":113,"taxonomyType":21,"taxonomyTypeDesc":22},[145],{"skillNo":151,"name":152,"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":153,"categories":154,"keywords":155,"publishedAt":43},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[152]]