[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6ES7ZECDJVRTP353TYA91GR":3,"skill-same:01M6ES7ZECDJVRTP353TYA91GR":177},{"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":23,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":49,"ownerHtmlUrl":50,"ownerBlogUrl":6,"ownerDescription":51,"updatedAt":52,"install":53,"resources":66},"01M6ES7ZECDJVRTP353TYA91GR","swiftui-ui-patterns",null,"Best practices and example-driven guidance for building SwiftUI views and components. Use when creating or refactoring SwiftUI UI, designing tab architecture with TabView, composing screens, or needing component-specific patterns and examples.","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\u002Faiskillstore\u002Fmarketplace\u002Fdimillian\u002Fswiftui-ui-patterns\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"swiftui ui patterns","ui","swiftui","patterns","components","component","architecture","best practices","examples","refactoring","use","example","guidance","driven","with","2026-11-10 10:12:30",false,"---\nname: swiftui-ui-patterns\ndescription: Best practices and example-driven guidance for building SwiftUI views and components. Use when creating or refactoring SwiftUI UI, designing tab architecture with TabView, composing screens, or needing component-specific patterns and examples.\n---\n\n# SwiftUI UI Patterns\n\n## Quick start\n\nChoose a track based on your goal:\n\n### Existing project\n\n- Identify the feature or screen and the primary interaction model (list, detail, editor, settings, tabbed).\n- Find a nearby example in the repo with `rg \"TabView\\(\"` or similar, then read the closest SwiftUI view.\n- Apply local conventions: prefer SwiftUI-native state, keep state local when possible, and use environment injection for shared dependencies.\n- Choose the relevant component reference from `references\u002Fcomponents-index.md` and follow its guidance.\n- Build the view with small, focused subviews and SwiftUI-native data flow.\n\n### New project scaffolding\n\n- Start with `references\u002Fapp-scaffolding-wiring.md` to wire TabView + NavigationStack + sheets.\n- Add a minimal `AppTab` and `RouterPath` based on the provided skeletons.\n- Choose the next component reference based on the UI you need first (TabView, NavigationStack, Sheets).\n- Expand the route and sheet enums as new screens are added.\n\n## General rules to follow\n\n- Use modern SwiftUI state (`@State`, `@Binding`, `@Observable`, `@Environment`) and avoid unnecessary view models.\n- Prefer composition; keep views small and focused.\n- Use async\u002Fawait with `.task` and explicit loading\u002Ferror states.\n- Maintain existing legacy patterns only when editing legacy files.\n- Follow the project's formatter and style guide.\n- **Sheets**: Prefer `.sheet(item:)` over `.sheet(isPresented:)` when state represents a selected model. Avoid `if let` inside a sheet body. Sheets should own their actions and call `dismiss()` internally instead of forwarding `onCancel`\u002F`onConfirm` closures.\n\n## Workflow for a new SwiftUI view\n\n1. Define the view's state and its ownership location.\n2. Identify dependencies to inject via `@Environment`.\n3. Sketch the view hierarchy and extract repeated parts into subviews.\n4. Implement async loading with `.task` and explicit state enum if needed.\n5. Add accessibility labels or identifiers when the UI is interactive.\n6. Validate with a build and update usage callsites if needed.\n\n## Component references\n\nUse `references\u002Fcomponents-index.md` as the entry point. Each component reference should include:\n- Intent and best-fit scenarios.\n- Minimal usage pattern with local conventions.\n- Pitfalls and performance notes.\n- Paths to existing examples in the current repo.\n\n## Sheet patterns\n\n### Item-driven sheet (preferred)\n\n```swift\n@State private var selectedItem: Item?\n\n.sheet(item: $selectedItem) { item in\n    EditItemSheet(item: item)\n}\n```\n\n### Sheet owns its actions\n\n```swift\nstruct EditItemSheet: View {\n    @Environment(\\.dismiss) private var dismiss\n    @Environment(Store.self) private var store\n\n    let item: Item\n    @State private var isSaving = false\n\n    var body: some View {\n        VStack {\n            Button(isSaving ? \"Saving…\" : \"Save\") {\n                Task { await save() }\n            }\n        }\n    }\n\n    private func save() async {\n        isSaving = true\n        await store.save(item)\n        dismiss()\n    }\n}\n```\n\n## Adding a new component reference\n\n- Create `references\u002F\u003Ccomponent>.md`.\n- Keep it short and actionable; link to concrete files in the current repo.\n- Update `references\u002Fcomponents-index.md` with the new entry.\n","# SwiftUI UI Patterns\n\n## Quick start\n\nChoose a track based on your goal:\n\n### Existing project\n\n- Identify the feature or screen and the primary interaction model (list, detail, editor, settings, tabbed).\n- Find a nearby example in the repo with `rg \"TabView\\(\"` or similar, then read the closest SwiftUI view.\n- Apply local conventions: prefer SwiftUI-native state, keep state local when possible, and use environment injection for shared dependencies.\n- Choose the relevant component reference from `references\u002Fcomponents-index.md` and follow its guidance.\n- Build the view with small, focused subviews and SwiftUI-native data flow.\n\n### New project scaffolding\n\n- Start with `references\u002Fapp-scaffolding-wiring.md` to wire TabView + NavigationStack + sheets.\n- Add a minimal `AppTab` and `RouterPath` based on the provided skeletons.\n- Choose the next component reference based on the UI you need first (TabView, NavigationStack, Sheets).\n- Expand the route and sheet enums as new screens are added.\n\n## General rules to follow\n\n- Use modern SwiftUI state (`@State`, `@Binding`, `@Observable`, `@Environment`) and avoid unnecessary view models.\n- Prefer composition; keep views small and focused.\n- Use async\u002Fawait with `.task` and explicit loading\u002Ferror states.\n- Maintain existing legacy patterns only when editing legacy files.\n- Follow the project's formatter and style guide.\n- **Sheets**: Prefer `.sheet(item:)` over `.sheet(isPresented:)` when state represents a selected model. Avoid `if let` inside a sheet body. Sheets should own their actions and call `dismiss()` internally instead of forwarding `onCancel`\u002F`onConfirm` closures.\n\n## Workflow for a new SwiftUI view\n\n1. Define the view's state and its ownership location.\n2. Identify dependencies to inject via `@Environment`.\n3. Sketch the view hierarchy and extract repeated parts into subviews.\n4. Implement async loading with `.task` and explicit state enum if needed.\n5. Add accessibility labels or identifiers when the UI is interactive.\n6. Validate with a build and update usage callsites if needed.\n\n## Component references\n\nUse `references\u002Fcomponents-index.md` as the entry point. Each component reference should include:\n- Intent and best-fit scenarios.\n- Minimal usage pattern with local conventions.\n- Pitfalls and performance notes.\n- Paths to existing examples in the current repo.\n\n## Sheet patterns\n\n### Item-driven sheet (preferred)\n\n```swift\n@State private var selectedItem: Item?\n\n.sheet(item: $selectedItem) { item in\n    EditItemSheet(item: item)\n}\n```\n\n### Sheet owns its actions\n\n```swift\nstruct EditItemSheet: View {\n    @Environment(\\.dismiss) private var dismiss\n    @Environment(Store.self) private var store\n\n    let item: Item\n    @State private var isSaving = false\n\n    var body: some View {\n        VStack {\n            Button(isSaving ? \"Saving…\" : \"Save\") {\n                Task { await save() }\n            }\n        }\n    }\n\n    private func save() async {\n        isSaving = true\n        await store.save(item)\n        dismiss()\n    }\n}\n```\n\n## Adding a new component reference\n\n- Create `references\u002F\u003Ccomponent>.md`.\n- Keep it short and actionable; link to concrete files in the current repo.\n- Update `references\u002Fcomponents-index.md` with the new entry.\n",{"name":5,"description":7},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Faiskillstore\u002Fmarketplace\u002Fdimillian\u002Fswiftui-ui-patterns",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":54,"prompt":64,"zipAvailable":65},[55,58,61],{"tool":56,"command":57},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill swiftui-ui-patterns",{"tool":59,"command":60},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill swiftui-ui-patterns",{"tool":62,"command":63},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill swiftui-ui-patterns","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimillian\u002Fswiftui-ui-patterns\u002FSKILL.md",true,[67,73,77,81,85,89,93,97,101,105,109,113,117,121,125,129,133,137,141,145,149,153,157,161,165,169,173],{"path":68,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":71,"sourceHtmlUrl":72},"references\u002Fapp-wiring.md","REFERENCE","参考文档",6072,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimillian\u002Fswiftui-ui-patterns\u002Freferences\u002Fapp-wiring.md",{"path":74,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":75,"sourceHtmlUrl":76},"references\u002Fcomponents-index.md",3584,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimillian\u002Fswiftui-ui-patterns\u002Freferences\u002Fcomponents-index.md",{"path":78,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":79,"sourceHtmlUrl":80},"references\u002Fcontrols.md",1682,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimillian\u002Fswiftui-ui-patterns\u002Freferences\u002Fcontrols.md",{"path":82,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":83,"sourceHtmlUrl":84},"references\u002Fdeeplinks.md",1703,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimillian\u002Fswiftui-ui-patterns\u002Freferences\u002Fdeeplinks.md",{"path":86,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":87,"sourceHtmlUrl":88},"references\u002Ffocus.md",2390,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimillian\u002Fswiftui-ui-patterns\u002Freferences\u002Ffocus.md",{"path":90,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":91,"sourceHtmlUrl":92},"references\u002Fform.md",3062,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimillian\u002Fswiftui-ui-patterns\u002Freferences\u002Fform.md",{"path":94,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":95,"sourceHtmlUrl":96},"references\u002Fgrids.md",1851,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimillian\u002Fswiftui-ui-patterns\u002Freferences\u002Fgrids.md",{"path":98,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":99,"sourceHtmlUrl":100},"references\u002Fhaptics.md",2049,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimillian\u002Fswiftui-ui-patterns\u002Freferences\u002Fhaptics.md",{"path":102,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":103,"sourceHtmlUrl":104},"references\u002Finput-toolbar.md",1451,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimillian\u002Fswiftui-ui-patterns\u002Freferences\u002Finput-toolbar.md",{"path":106,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":107,"sourceHtmlUrl":108},"references\u002Flightweight-clients.md",2524,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimillian\u002Fswiftui-ui-patterns\u002Freferences\u002Flightweight-clients.md",{"path":110,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":111,"sourceHtmlUrl":112},"references\u002Flist.md",2732,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimillian\u002Fswiftui-ui-patterns\u002Freferences\u002Flist.md",{"path":114,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":115,"sourceHtmlUrl":116},"references\u002Floading-placeholders.md",1274,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimillian\u002Fswiftui-ui-patterns\u002Freferences\u002Floading-placeholders.md",{"path":118,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":119,"sourceHtmlUrl":120},"references\u002Fmacos-settings.md",1997,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimillian\u002Fswiftui-ui-patterns\u002Freferences\u002Fmacos-settings.md",{"path":122,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":123,"sourceHtmlUrl":124},"references\u002Fmatched-transitions.md",1674,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimillian\u002Fswiftui-ui-patterns\u002Freferences\u002Fmatched-transitions.md",{"path":126,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":127,"sourceHtmlUrl":128},"references\u002Fmedia.md",2040,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimillian\u002Fswiftui-ui-patterns\u002Freferences\u002Fmedia.md",{"path":130,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":131,"sourceHtmlUrl":132},"references\u002Fmenu-bar.md",2236,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimillian\u002Fswiftui-ui-patterns\u002Freferences\u002Fmenu-bar.md",{"path":134,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":135,"sourceHtmlUrl":136},"references\u002Fnavigationstack.md",4343,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimillian\u002Fswiftui-ui-patterns\u002Freferences\u002Fnavigationstack.md",{"path":138,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":139,"sourceHtmlUrl":140},"references\u002Foverlay.md",1238,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimillian\u002Fswiftui-ui-patterns\u002Freferences\u002Foverlay.md",{"path":142,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":143,"sourceHtmlUrl":144},"references\u002Fscrollview.md",2364,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimillian\u002Fswiftui-ui-patterns\u002Freferences\u002Fscrollview.md",{"path":146,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":147,"sourceHtmlUrl":148},"references\u002Fsearchable.md",1727,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimillian\u002Fswiftui-ui-patterns\u002Freferences\u002Fsearchable.md",{"path":150,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":151,"sourceHtmlUrl":152},"references\u002Fsheets.md",3200,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimillian\u002Fswiftui-ui-patterns\u002Freferences\u002Fsheets.md",{"path":154,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":155,"sourceHtmlUrl":156},"references\u002Fsplit-views.md",2027,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimillian\u002Fswiftui-ui-patterns\u002Freferences\u002Fsplit-views.md",{"path":158,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":159,"sourceHtmlUrl":160},"references\u002Ftabview.md",3486,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimillian\u002Fswiftui-ui-patterns\u002Freferences\u002Ftabview.md",{"path":162,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":163,"sourceHtmlUrl":164},"references\u002Ftheming.md",1776,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimillian\u002Fswiftui-ui-patterns\u002Freferences\u002Ftheming.md",{"path":166,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":167,"sourceHtmlUrl":168},"references\u002Ftitle-menus.md",2115,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimillian\u002Fswiftui-ui-patterns\u002Freferences\u002Ftitle-menus.md",{"path":170,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":171,"sourceHtmlUrl":172},"references\u002Ftop-bar.md",1359,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimillian\u002Fswiftui-ui-patterns\u002Freferences\u002Ftop-bar.md",{"path":174,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":175,"sourceHtmlUrl":176},"skill-report.json",58336,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimillian\u002Fswiftui-ui-patterns\u002Fskill-report.json",[178,192,202,211,217,224],{"skillNo":179,"name":180,"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":181,"categories":182,"keywords":188,"publishedAt":39},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[183],{"categoryNo":184,"categoryName":185,"taxonomyType":186,"taxonomyTypeDesc":187},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[189,190,191],"model","model hierarchy","model hierarchy skill",{"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":198,"publishedAt":39},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[197],{"categoryNo":184,"categoryName":185,"taxonomyType":186,"taxonomyTypeDesc":187},[199,200,201],"MCP","zoom","zoom mcp",{"skillNo":203,"name":204,"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":205,"categories":206,"keywords":207,"publishedAt":39},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[208,209,210,200],"sdk","zoom apps sdk","apps",{"skillNo":212,"name":213,"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":214,"categories":215,"keywords":216,"publishedAt":39},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[213],{"skillNo":218,"name":219,"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":220,"categories":221,"keywords":223,"publishedAt":39},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[222],{"categoryNo":184,"categoryName":185,"taxonomyType":186,"taxonomyTypeDesc":187},[219],{"skillNo":225,"name":226,"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":227,"categories":228,"keywords":229,"publishedAt":39},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[226]]