[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6E6CS8WA86BZ9XKWHRPY7VG":3,"skill-same:01M6E6CS8WA86BZ9XKWHRPY7VG":79},{"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},"01M6E6CS8WA86BZ9XKWHRPY7VG","axiom-ios-concurrency",null,"Use when writing ANY code with async, actors, threads, or seeing ANY concurrency error. Covers Swift 6 concurrency, @MainActor, Sendable, data races, async\u002Fawait patterns, performance optimization.","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\u002FCharlesWiltgen\u002FAxiom\u002Faxiom-ios-concurrency\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32],"ios","concurrency","axiom ios concurrency","writing","swift","performance","code","Optimization","data","performance optimization","use","async","patterns","error","2026-11-10 10:12:30",false,"---\nname: axiom-ios-concurrency\ndescription: Use when writing ANY code with async, actors, threads, or seeing ANY concurrency error. Covers Swift 6 concurrency, @MainActor, Sendable, data races, async\u002Fawait patterns, performance optimization.\nlicense: MIT\n---\n\n# iOS Concurrency Router\n\n**You MUST use this skill for ANY concurrency, async\u002Fawait, threading, or Swift 6 concurrency work.**\n\n## When to Use\n\nUse this router when:\n- Writing async\u002Fawait code\n- Seeing concurrency errors (data races, actor isolation)\n- Working with @MainActor\n- Dealing with Sendable conformance\n- Optimizing Swift performance\n- Migrating to Swift 6 concurrency\n- **App freezes during loading** (likely main thread blocking)\n\n## Conflict Resolution\n\n**ios-concurrency vs ios-performance**: When app freezes or feels slow:\n1. **Try ios-concurrency FIRST** — Main thread blocking is the #1 cause of UI freezes. Check for synchronous work on @MainActor before profiling.\n2. **Only use ios-performance** if concurrency fixes don't help — Profile after ruling out obvious blocking.\n\n**ios-concurrency vs ios-build**: When seeing Swift 6 concurrency errors:\n- **Use ios-concurrency, NOT ios-build** — Concurrency errors are CODE issues, not environment issues\n- ios-build is for \"No such module\", simulator issues, build failures unrelated to Swift language errors\n\n**ios-concurrency vs ios-data**: When concurrency errors involve Core Data or SwiftData:\n- Core Data threading (NSManagedObjectContext thread confinement, performBackgroundTask) → **use ios-data first** — Core Data has its own threading model distinct from Swift concurrency\n- SwiftData + @MainActor ModelContext → **use ios-concurrency** — This is Swift concurrency isolation\n- General \"background saves losing data\" → **use ios-data first** — Framework-specific threading rules take priority\n\n**Rationale**: A 2-second freeze during data loading is almost always `await` on main thread or missing background dispatch. Domain knowledge solves this faster than Time Profiler. Core Data threading violations need Core Data-specific fixes, not generic concurrency patterns.\n\n## Routing Logic\n\n### Swift Concurrency Issues\n\n**Swift 6 concurrency patterns** → `\u002Fskill axiom-swift-concurrency`\n- async\u002Fawait patterns\n- @MainActor usage\n- Actor isolation\n- Sendable conformance\n- Data race prevention\n- Swift 6 migration\n\n**Swift concurrency API reference** → `\u002Fskill axiom-swift-concurrency-ref`\n- Actor definition, reentrancy, global actors\n- Sendable patterns, @unchecked Sendable\n- Task\u002FTaskGroup\u002Fcancellation API\n- AsyncStream, continuations\n- DispatchQueue → actor migration\n\n**Swift performance** → `\u002Fskill axiom-swift-performance`\n- Value vs reference types\n- Copy-on-write optimization\n- ARC overhead\n- Generic specialization\n- Collection performance\n\n**Synchronous actor access** → `\u002Fskill axiom-assume-isolated`\n- MainActor.assumeIsolated\n- @preconcurrency protocol conformances\n- Legacy delegate callbacks\n- Testing MainActor code synchronously\n\n**Thread-safe primitives** → `\u002Fskill axiom-synchronization`\n- Mutex (iOS 18+)\n- OSAllocatedUnfairLock (iOS 16+)\n- Atomic types\n- Lock vs actor decision\n\n**Parameter ownership** → `\u002Fskill axiom-ownership-conventions`\n- borrowing\u002Fconsuming modifiers\n- Noncopyable types (~Copyable)\n- ARC traffic reduction\n- consume operator\n\n**Concurrency profiling** → `\u002Fskill axiom-concurrency-profiling`\n- Swift Concurrency Instruments template\n- Actor contention diagnosis\n- Thread pool exhaustion\n- Task visualization\n\n**Combine reactive patterns** → `\u002Fskill axiom-combine-patterns`\n- Publisher\u002FSubscriber lifecycle, AnyCancellable\n- Combine vs async\u002Fawait decision\n- @Published + ObservableObject\n- Operator patterns, bridging\n\n### Automated Scanning\n\n**Concurrency audit** → Launch `concurrency-auditor` agent or `\u002Faxiom:audit concurrency` (Swift 6 strict concurrency violations, unsafe Task captures, missing @MainActor, Sendable violations, actor isolation problems)\n\n## Decision Tree\n\n1. Data races \u002F actor isolation \u002F @MainActor \u002F Sendable? → swift-concurrency\n1a. Need specific API syntax (actor definition, TaskGroup, AsyncStream, continuation)? → swift-concurrency-ref\n2. Writing async\u002Fawait code? → swift-concurrency\n3. Swift 6 migration? → swift-concurrency\n4. assumeIsolated \u002F @preconcurrency? → assume-isolated\n5. Mutex \u002F lock \u002F synchronization? → synchronization\n6. borrowing \u002F consuming \u002F ~Copyable? → ownership-conventions\n7. Profile async performance \u002F actor contention? → concurrency-profiling\n8. Value type \u002F ARC \u002F generic optimization? → swift-performance\n9. Want automated concurrency scan? → concurrency-auditor (Agent)\n10. Combine \u002F @Published \u002F AnyCancellable \u002F reactive streams? → combine-patterns\n\n## Anti-Rationalization\n\n| Thought | Reality |\n|---------|---------|\n| \"Just add @MainActor and it'll work\" | @MainActor has isolation inheritance rules. swift-concurrency covers all patterns. |\n| \"I'll use nonisolated(unsafe) to silence the warning\" | Silencing warnings hides data races. swift-concurrency shows the safe pattern. |\n| \"It's just one async call\" | Even single async calls have cancellation and isolation implications. swift-concurrency covers them. |\n| \"I know how actors work\" | Actor reentrancy and isolation rules changed in Swift 6.2. swift-concurrency is current. |\n| \"I'll fix the Sendable warnings later\" | Sendable violations cause runtime crashes. swift-concurrency fixes them correctly now. |\n| \"Combine is dead, just use async\u002Fawait\" | Combine has no deprecation notice. Rewriting working pipelines wastes time and introduces bugs. combine-patterns covers incremental migration. |\n\n## Critical Patterns\n\n**Swift 6 Concurrency** (swift-concurrency):\n- Progressive journey: single-threaded → async → concurrent → actors\n- @concurrent attribute for forced background execution\n- Isolated conformances\n- Main actor mode for approachable concurrency\n- 11 copy-paste patterns\n\n**Swift Performance** (swift-performance):\n- ~Copyable for non-copyable types\n- Copy-on-write (COW) patterns\n- Value vs reference type decisions\n- ARC overhead reduction\n- Generic specialization\n\n## Example Invocations\n\nUser: \"I'm getting 'data race' errors in Swift 6\"\n→ Invoke: `\u002Fskill axiom-swift-concurrency`\n\nUser: \"How do I use @MainActor correctly?\"\n→ Invoke: `\u002Fskill axiom-swift-concurrency`\n\nUser: \"My app is slow due to unnecessary copying\"\n→ Invoke: `\u002Fskill axiom-swift-performance`\n\nUser: \"Should I use async\u002Fawait for this network call?\"\n→ Invoke: `\u002Fskill axiom-swift-concurrency`\n\nUser: \"How do I use assumeIsolated?\"\n→ Invoke: `\u002Fskill axiom-assume-isolated`\n\nUser: \"My delegate callback runs on main thread, how do I access MainActor state?\"\n→ Invoke: `\u002Fskill axiom-assume-isolated`\n\nUser: \"Should I use Mutex or actor?\"\n→ Invoke: `\u002Fskill axiom-synchronization`\n\nUser: \"What's the difference between os_unfair_lock and OSAllocatedUnfairLock?\"\n→ Invoke: `\u002Fskill axiom-synchronization`\n\nUser: \"What does borrowing do in Swift?\"\n→ Invoke: `\u002Fskill axiom-ownership-conventions`\n\nUser: \"How do I use ~Copyable types?\"\n→ Invoke: `\u002Fskill axiom-ownership-conventions`\n\nUser: \"My async code is slow, how do I profile it?\"\n→ Invoke: `\u002Fskill axiom-concurrency-profiling`\n\nUser: \"I think I have actor contention, how do I diagnose it?\"\n→ Invoke: `\u002Fskill axiom-concurrency-profiling`\n\nUser: \"My Core Data saves lose data from background tasks\"\n→ Route to: `ios-data` router (Core Data threading is framework-specific)\n\nUser: \"How do I create a TaskGroup?\"\n→ Invoke: `\u002Fskill axiom-swift-concurrency-ref`\n\nUser: \"What's the AsyncStream API?\"\n→ Invoke: `\u002Fskill axiom-swift-concurrency-ref`\n\nUser: \"How do I create a custom global actor?\"\n→ Invoke: `\u002Fskill axiom-swift-concurrency-ref`\n\nUser: \"How do I convert a completion handler to async?\"\n→ Invoke: `\u002Fskill axiom-swift-concurrency-ref`\n\nUser: \"What are the actor reentrancy rules?\"\n→ Invoke: `\u002Fskill axiom-swift-concurrency-ref`\n\nUser: \"My Combine pipeline silently stopped producing values\"\n→ Invoke: `\u002Fskill axiom-combine-patterns`\n\nUser: \"Should I use Combine or async\u002Fawait for this data flow?\"\n→ Invoke: `\u002Fskill axiom-combine-patterns`\n\nUser: \"How do I bridge a Combine publisher into async\u002Fawait code?\"\n→ Invoke: `\u002Fskill axiom-combine-patterns`\n\nUser: \"AnyCancellable is leaking memory\"\n→ Invoke: `\u002Fskill axiom-combine-patterns`\n\nUser: \"Check my code for Swift 6 concurrency issues\"\n→ Invoke: `concurrency-auditor` agent\n\n","# iOS Concurrency Router\n\n**You MUST use this skill for ANY concurrency, async\u002Fawait, threading, or Swift 6 concurrency work.**\n\n## When to Use\n\nUse this router when:\n- Writing async\u002Fawait code\n- Seeing concurrency errors (data races, actor isolation)\n- Working with @MainActor\n- Dealing with Sendable conformance\n- Optimizing Swift performance\n- Migrating to Swift 6 concurrency\n- **App freezes during loading** (likely main thread blocking)\n\n## Conflict Resolution\n\n**ios-concurrency vs ios-performance**: When app freezes or feels slow:\n1. **Try ios-concurrency FIRST** — Main thread blocking is the #1 cause of UI freezes. Check for synchronous work on @MainActor before profiling.\n2. **Only use ios-performance** if concurrency fixes don't help — Profile after ruling out obvious blocking.\n\n**ios-concurrency vs ios-build**: When seeing Swift 6 concurrency errors:\n- **Use ios-concurrency, NOT ios-build** — Concurrency errors are CODE issues, not environment issues\n- ios-build is for \"No such module\", simulator issues, build failures unrelated to Swift language errors\n\n**ios-concurrency vs ios-data**: When concurrency errors involve Core Data or SwiftData:\n- Core Data threading (NSManagedObjectContext thread confinement, performBackgroundTask) → **use ios-data first** — Core Data has its own threading model distinct from Swift concurrency\n- SwiftData + @MainActor ModelContext → **use ios-concurrency** — This is Swift concurrency isolation\n- General \"background saves losing data\" → **use ios-data first** — Framework-specific threading rules take priority\n\n**Rationale**: A 2-second freeze during data loading is almost always `await` on main thread or missing background dispatch. Domain knowledge solves this faster than Time Profiler. Core Data threading violations need Core Data-specific fixes, not generic concurrency patterns.\n\n## Routing Logic\n\n### Swift Concurrency Issues\n\n**Swift 6 concurrency patterns** → `\u002Fskill axiom-swift-concurrency`\n- async\u002Fawait patterns\n- @MainActor usage\n- Actor isolation\n- Sendable conformance\n- Data race prevention\n- Swift 6 migration\n\n**Swift concurrency API reference** → `\u002Fskill axiom-swift-concurrency-ref`\n- Actor definition, reentrancy, global actors\n- Sendable patterns, @unchecked Sendable\n- Task\u002FTaskGroup\u002Fcancellation API\n- AsyncStream, continuations\n- DispatchQueue → actor migration\n\n**Swift performance** → `\u002Fskill axiom-swift-performance`\n- Value vs reference types\n- Copy-on-write optimization\n- ARC overhead\n- Generic specialization\n- Collection performance\n\n**Synchronous actor access** → `\u002Fskill axiom-assume-isolated`\n- MainActor.assumeIsolated\n- @preconcurrency protocol conformances\n- Legacy delegate callbacks\n- Testing MainActor code synchronously\n\n**Thread-safe primitives** → `\u002Fskill axiom-synchronization`\n- Mutex (iOS 18+)\n- OSAllocatedUnfairLock (iOS 16+)\n- Atomic types\n- Lock vs actor decision\n\n**Parameter ownership** → `\u002Fskill axiom-ownership-conventions`\n- borrowing\u002Fconsuming modifiers\n- Noncopyable types (~Copyable)\n- ARC traffic reduction\n- consume operator\n\n**Concurrency profiling** → `\u002Fskill axiom-concurrency-profiling`\n- Swift Concurrency Instruments template\n- Actor contention diagnosis\n- Thread pool exhaustion\n- Task visualization\n\n**Combine reactive patterns** → `\u002Fskill axiom-combine-patterns`\n- Publisher\u002FSubscriber lifecycle, AnyCancellable\n- Combine vs async\u002Fawait decision\n- @Published + ObservableObject\n- Operator patterns, bridging\n\n### Automated Scanning\n\n**Concurrency audit** → Launch `concurrency-auditor` agent or `\u002Faxiom:audit concurrency` (Swift 6 strict concurrency violations, unsafe Task captures, missing @MainActor, Sendable violations, actor isolation problems)\n\n## Decision Tree\n\n1. Data races \u002F actor isolation \u002F @MainActor \u002F Sendable? → swift-concurrency\n1a. Need specific API syntax (actor definition, TaskGroup, AsyncStream, continuation)? → swift-concurrency-ref\n2. Writing async\u002Fawait code? → swift-concurrency\n3. Swift 6 migration? → swift-concurrency\n4. assumeIsolated \u002F @preconcurrency? → assume-isolated\n5. Mutex \u002F lock \u002F synchronization? → synchronization\n6. borrowing \u002F consuming \u002F ~Copyable? → ownership-conventions\n7. Profile async performance \u002F actor contention? → concurrency-profiling\n8. Value type \u002F ARC \u002F generic optimization? → swift-performance\n9. Want automated concurrency scan? → concurrency-auditor (Agent)\n10. Combine \u002F @Published \u002F AnyCancellable \u002F reactive streams? → combine-patterns\n\n## Anti-Rationalization\n\n| Thought | Reality |\n|---------|---------|\n| \"Just add @MainActor and it'll work\" | @MainActor has isolation inheritance rules. swift-concurrency covers all patterns. |\n| \"I'll use nonisolated(unsafe) to silence the warning\" | Silencing warnings hides data races. swift-concurrency shows the safe pattern. |\n| \"It's just one async call\" | Even single async calls have cancellation and isolation implications. swift-concurrency covers them. |\n| \"I know how actors work\" | Actor reentrancy and isolation rules changed in Swift 6.2. swift-concurrency is current. |\n| \"I'll fix the Sendable warnings later\" | Sendable violations cause runtime crashes. swift-concurrency fixes them correctly now. |\n| \"Combine is dead, just use async\u002Fawait\" | Combine has no deprecation notice. Rewriting working pipelines wastes time and introduces bugs. combine-patterns covers incremental migration. |\n\n## Critical Patterns\n\n**Swift 6 Concurrency** (swift-concurrency):\n- Progressive journey: single-threaded → async → concurrent → actors\n- @concurrent attribute for forced background execution\n- Isolated conformances\n- Main actor mode for approachable concurrency\n- 11 copy-paste patterns\n\n**Swift Performance** (swift-performance):\n- ~Copyable for non-copyable types\n- Copy-on-write (COW) patterns\n- Value vs reference type decisions\n- ARC overhead reduction\n- Generic specialization\n\n## Example Invocations\n\nUser: \"I'm getting 'data race' errors in Swift 6\"\n→ Invoke: `\u002Fskill axiom-swift-concurrency`\n\nUser: \"How do I use @MainActor correctly?\"\n→ Invoke: `\u002Fskill axiom-swift-concurrency`\n\nUser: \"My app is slow due to unnecessary copying\"\n→ Invoke: `\u002Fskill axiom-swift-performance`\n\nUser: \"Should I use async\u002Fawait for this network call?\"\n→ Invoke: `\u002Fskill axiom-swift-concurrency`\n\nUser: \"How do I use assumeIsolated?\"\n→ Invoke: `\u002Fskill axiom-assume-isolated`\n\nUser: \"My delegate callback runs on main thread, how do I access MainActor state?\"\n→ Invoke: `\u002Fskill axiom-assume-isolated`\n\nUser: \"Should I use Mutex or actor?\"\n→ Invoke: `\u002Fskill axiom-synchronization`\n\nUser: \"What's the difference between os_unfair_lock and OSAllocatedUnfairLock?\"\n→ Invoke: `\u002Fskill axiom-synchronization`\n\nUser: \"What does borrowing do in Swift?\"\n→ Invoke: `\u002Fskill axiom-ownership-conventions`\n\nUser: \"How do I use ~Copyable types?\"\n→ Invoke: `\u002Fskill axiom-ownership-conventions`\n\nUser: \"My async code is slow, how do I profile it?\"\n→ Invoke: `\u002Fskill axiom-concurrency-profiling`\n\nUser: \"I think I have actor contention, how do I diagnose it?\"\n→ Invoke: `\u002Fskill axiom-concurrency-profiling`\n\nUser: \"My Core Data saves lose data from background tasks\"\n→ Route to: `ios-data` router (Core Data threading is framework-specific)\n\nUser: \"How do I create a TaskGroup?\"\n→ Invoke: `\u002Fskill axiom-swift-concurrency-ref`\n\nUser: \"What's the AsyncStream API?\"\n→ Invoke: `\u002Fskill axiom-swift-concurrency-ref`\n\nUser: \"How do I create a custom global actor?\"\n→ Invoke: `\u002Fskill axiom-swift-concurrency-ref`\n\nUser: \"How do I convert a completion handler to async?\"\n→ Invoke: `\u002Fskill axiom-swift-concurrency-ref`\n\nUser: \"What are the actor reentrancy rules?\"\n→ Invoke: `\u002Fskill axiom-swift-concurrency-ref`\n\nUser: \"My Combine pipeline silently stopped producing values\"\n→ Invoke: `\u002Fskill axiom-combine-patterns`\n\nUser: \"Should I use Combine or async\u002Fawait for this data flow?\"\n→ Invoke: `\u002Fskill axiom-combine-patterns`\n\nUser: \"How do I bridge a Combine publisher into async\u002Fawait code?\"\n→ Invoke: `\u002Fskill axiom-combine-patterns`\n\nUser: \"AnyCancellable is leaking memory\"\n→ Invoke: `\u002Fskill axiom-combine-patterns`\n\nUser: \"Check my code for Swift 6 concurrency issues\"\n→ Invoke: `concurrency-auditor` agent\n\n",{"name":5,"license":15,"description":7},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002FCharlesWiltgen\u002FAxiom\u002Faxiom-ios-concurrency",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 axiom-ios-concurrency",{"tool":53,"command":54},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill axiom-ios-concurrency",{"tool":56,"command":57},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill axiom-ios-concurrency","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002FCharlesWiltgen\u002FAxiom\u002Faxiom-ios-concurrency\u002FSKILL.md",true,[61,67,73],{"path":62,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":65,"sourceHtmlUrl":66},"customize.toml","OTHER","其他",1722,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.augment\u002Fskills\u002Fbmad-cis-problem-solving\u002Fcustomize.toml",{"path":68,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":71,"sourceHtmlUrl":72},"solving-methods.csv","ASSET","资产文件",7311,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.augment\u002Fskills\u002Fbmad-cis-problem-solving\u002Fsolving-methods.csv",{"path":74,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":77,"sourceHtmlUrl":78},"template.md","REFERENCE","参考文档",2001,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.augment\u002Fskills\u002Fbmad-cis-problem-solving\u002Ftemplate.md",[80,94,104,113,119,126],{"skillNo":81,"name":82,"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":83,"categories":84,"keywords":90,"publishedAt":33},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[85],{"categoryNo":86,"categoryName":87,"taxonomyType":88,"taxonomyTypeDesc":89},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[91,92,93],"model","model hierarchy","model hierarchy skill",{"skillNo":95,"name":96,"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":97,"categories":98,"keywords":100,"publishedAt":33},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[99],{"categoryNo":86,"categoryName":87,"taxonomyType":88,"taxonomyTypeDesc":89},[101,102,103],"MCP","zoom","zoom mcp",{"skillNo":105,"name":106,"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":107,"categories":108,"keywords":109,"publishedAt":33},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[110,111,112,102],"sdk","zoom apps sdk","apps",{"skillNo":114,"name":115,"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":116,"categories":117,"keywords":118,"publishedAt":33},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[115],{"skillNo":120,"name":121,"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":122,"categories":123,"keywords":125,"publishedAt":33},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[124],{"categoryNo":86,"categoryName":87,"taxonomyType":88,"taxonomyTypeDesc":89},[121],{"skillNo":127,"name":128,"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":129,"categories":130,"keywords":131,"publishedAt":33},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[128]]