[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6KCM78C8P9R6X78EZCQ0YF9":3,"skill-same:01M6KCM78C8P9R6X78EZCQ0YF9":67},{"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":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":50,"ownerDescription":51,"updatedAt":52,"install":53,"resources":66},"01M6KCM78C8P9R6X78EZCQ0YF9","mobiai-ios-device",null,"Use when interacting with an iOS Simulator — run simctl commands, capture screenshots, read device logs, manage simulators.","ArisGuimera\u002FMobiAI-Core","ArisGuimera","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F16361358?v=4","01M6KC5MVGRKDA14DWT98445V9","AristiDevs","01M6KC5MZKRFFHFFD340B21YN3",492,"MIT","https:\u002F\u002Fgithub.com\u002FArisGuimera\u002FMobiAI-Core\u002Fblob\u002Fmain\u002Fskills\u002Fios\u002Fskills\u002Fmobiai-ios-device\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36],"mobiai ios device","ios","device","cursor","with","commands","claude-code","ios simulator","manage","use","screenshots","read","capture","logs","code","run","copilot","codex","2026-11-10 10:12:30",false,"---\nname: mobiai-ios-device\ndescription: Use when interacting with an iOS Simulator — run simctl commands, capture screenshots, read device logs, manage simulators.\nlicense: MIT\ncompatibility: [claude-code, cursor, copilot, codex]\nplatforms: [ios]\n---\n\n# iOS Device Interaction\n\n> **Community contribution welcome!** This skill is a skeleton. If you have iOS development experience, please help flesh it out with battle-tested commands and workflows.\n\nInteract with iOS Simulators using `xcrun simctl` and related tools.\n\n## When to Use\n\n- Reproducing a bug on an iOS Simulator\n- Taking screenshots or capturing logs\n- Managing Simulators\n\n## Simulator Management\n\n### List Available Simulators\n\n```bash\nxcrun simctl list devices available\n```\n\n### Boot a Simulator\n\n```bash\n# Boot by name\nxcrun simctl boot \"iPhone 15 Pro\"\n\n# Boot by UDID\nxcrun simctl boot \u003CUDID>\n\n# Open Simulator.app (if you need the GUI)\nopen -a Simulator\n```\n\n### Shut Down\n\n```bash\nxcrun simctl shutdown \u003CUDID>\nxcrun simctl shutdown all  # Shut down all simulators\n```\n\n### Erase (reset to clean state)\n\n```bash\nxcrun simctl erase \u003CUDID>\n```\n\n## App Management\n\n### Install\n\n```bash\nxcrun simctl install booted \u002Fpath\u002Fto\u002FMyApp.app\n```\n\n### Launch\n\n```bash\nxcrun simctl launch booted com.example.myapp\n```\n\n### Terminate\n\n```bash\nxcrun simctl terminate booted com.example.myapp\n```\n\n### Uninstall\n\n```bash\nxcrun simctl uninstall booted com.example.myapp\n```\n\n## UI Inspection\n\n### Accessibility Snapshot\n\n```bash\n# Get accessibility hierarchy (equivalent to Android's UIAutomator dump)\nxcrun simctl spawn booted accessibility_inspector  # Limited CLI support\n\n# Alternative: Use Xcode's Accessibility Inspector GUI\n# Or use XCUITest for programmatic UI inspection\n```\n\n> **Note**: iOS doesn't have a direct CLI equivalent to Android's `uiautomator dump`. For automated UI interaction, consider using:\n> - **XCUITest** for reliable UI automation\n> - **Accessibility Inspector** (GUI) for manual inspection\n> - **`xcrun simctl io booted screenshot`** combined with vision analysis\n\n### Screenshots\n\n```bash\nxcrun simctl io booted screenshot screenshot.png\n```\n\n### Screen Recording\n\n```bash\n# Start recording\nxcrun simctl io booted recordVideo recording.mp4\n\n# Stop with Ctrl+C\n```\n\n## Logs\n\n### View App Logs\n\n```bash\n# Stream logs\nxcrun simctl spawn booted log stream --predicate 'process == \"MyApp\"' --level debug\n\n# Show recent logs\nxcrun simctl spawn booted log show --predicate 'process == \"MyApp\"' --last 5m\n\n# Check for crashes\nxcrun simctl spawn booted log show --predicate 'eventMessage contains \"crash\"' --last 10m\n```\n\n### Crash Reports\n\n```bash\n# Crash reports are saved to:\nls ~\u002FLibrary\u002FLogs\u002FDiagnosticReports\u002F | grep MyApp\n```\n\n## UI Interaction\n\n### Simulated Input\n\n```bash\n# Open a URL (deep link)\nxcrun simctl openurl booted \"myapp:\u002F\u002Fscreen\u002Fsettings\"\n\n# Send a push notification\nxcrun simctl push booted com.example.myapp notification.json\n\n# Set device location\nxcrun simctl location booted set 40.7128,-74.0060\n\n# Add photos to simulator\nxcrun simctl addmedia booted photo.jpg\n```\n\n### Keyboard Input\n\n```bash\n# Type text via pasteboard\nxcrun simctl pbcopy booted \u003C\u003C\u003C \"Hello World\"\n# Then paste in the simulator\n```\n\n## Privacy & Permissions\n\n```bash\n# Grant permissions\nxcrun simctl privacy booted grant photos com.example.myapp\nxcrun simctl privacy booted grant camera com.example.myapp\nxcrun simctl privacy booted grant location-always com.example.myapp\n\n# Revoke permissions\nxcrun simctl privacy booted revoke all com.example.myapp\n\n# Reset all privacy settings\nxcrun simctl privacy booted reset all com.example.myapp\n```\n\n## Status Bar Override\n\n```bash\n# Set clean status bar for screenshots\nxcrun simctl status_bar booted override \\\n  --time \"9:41\" \\\n  --batteryState charged \\\n  --batteryLevel 100 \\\n  --wifiBars 3 \\\n  --cellularBars 4\n```\n\n## Common Issues\n\n### Simulator won't boot\n```bash\nxcrun simctl shutdown all\nxcrun simctl erase all\n# Or delete derived data: rm -rf ~\u002FLibrary\u002FDeveloper\u002FXcode\u002FDerivedData\n```\n\n### App crashes on launch\nCheck crash logs and Console.app for details.\n\n---\n\n**Want to improve this skill?** This is a community skeleton. Add your battle-tested workflows, common pitfalls, and advanced simctl techniques via a PR to [MobiAI-Core](https:\u002F\u002Fgithub.com\u002FArisGuimera\u002FMobiAI-Core).\n","# iOS Device Interaction\n\n> **Community contribution welcome!** This skill is a skeleton. If you have iOS development experience, please help flesh it out with battle-tested commands and workflows.\n\nInteract with iOS Simulators using `xcrun simctl` and related tools.\n\n## When to Use\n\n- Reproducing a bug on an iOS Simulator\n- Taking screenshots or capturing logs\n- Managing Simulators\n\n## Simulator Management\n\n### List Available Simulators\n\n```bash\nxcrun simctl list devices available\n```\n\n### Boot a Simulator\n\n```bash\n# Boot by name\nxcrun simctl boot \"iPhone 15 Pro\"\n\n# Boot by UDID\nxcrun simctl boot \u003CUDID>\n\n# Open Simulator.app (if you need the GUI)\nopen -a Simulator\n```\n\n### Shut Down\n\n```bash\nxcrun simctl shutdown \u003CUDID>\nxcrun simctl shutdown all  # Shut down all simulators\n```\n\n### Erase (reset to clean state)\n\n```bash\nxcrun simctl erase \u003CUDID>\n```\n\n## App Management\n\n### Install\n\n```bash\nxcrun simctl install booted \u002Fpath\u002Fto\u002FMyApp.app\n```\n\n### Launch\n\n```bash\nxcrun simctl launch booted com.example.myapp\n```\n\n### Terminate\n\n```bash\nxcrun simctl terminate booted com.example.myapp\n```\n\n### Uninstall\n\n```bash\nxcrun simctl uninstall booted com.example.myapp\n```\n\n## UI Inspection\n\n### Accessibility Snapshot\n\n```bash\n# Get accessibility hierarchy (equivalent to Android's UIAutomator dump)\nxcrun simctl spawn booted accessibility_inspector  # Limited CLI support\n\n# Alternative: Use Xcode's Accessibility Inspector GUI\n# Or use XCUITest for programmatic UI inspection\n```\n\n> **Note**: iOS doesn't have a direct CLI equivalent to Android's `uiautomator dump`. For automated UI interaction, consider using:\n> - **XCUITest** for reliable UI automation\n> - **Accessibility Inspector** (GUI) for manual inspection\n> - **`xcrun simctl io booted screenshot`** combined with vision analysis\n\n### Screenshots\n\n```bash\nxcrun simctl io booted screenshot screenshot.png\n```\n\n### Screen Recording\n\n```bash\n# Start recording\nxcrun simctl io booted recordVideo recording.mp4\n\n# Stop with Ctrl+C\n```\n\n## Logs\n\n### View App Logs\n\n```bash\n# Stream logs\nxcrun simctl spawn booted log stream --predicate 'process == \"MyApp\"' --level debug\n\n# Show recent logs\nxcrun simctl spawn booted log show --predicate 'process == \"MyApp\"' --last 5m\n\n# Check for crashes\nxcrun simctl spawn booted log show --predicate 'eventMessage contains \"crash\"' --last 10m\n```\n\n### Crash Reports\n\n```bash\n# Crash reports are saved to:\nls ~\u002FLibrary\u002FLogs\u002FDiagnosticReports\u002F | grep MyApp\n```\n\n## UI Interaction\n\n### Simulated Input\n\n```bash\n# Open a URL (deep link)\nxcrun simctl openurl booted \"myapp:\u002F\u002Fscreen\u002Fsettings\"\n\n# Send a push notification\nxcrun simctl push booted com.example.myapp notification.json\n\n# Set device location\nxcrun simctl location booted set 40.7128,-74.0060\n\n# Add photos to simulator\nxcrun simctl addmedia booted photo.jpg\n```\n\n### Keyboard Input\n\n```bash\n# Type text via pasteboard\nxcrun simctl pbcopy booted \u003C\u003C\u003C \"Hello World\"\n# Then paste in the simulator\n```\n\n## Privacy & Permissions\n\n```bash\n# Grant permissions\nxcrun simctl privacy booted grant photos com.example.myapp\nxcrun simctl privacy booted grant camera com.example.myapp\nxcrun simctl privacy booted grant location-always com.example.myapp\n\n# Revoke permissions\nxcrun simctl privacy booted revoke all com.example.myapp\n\n# Reset all privacy settings\nxcrun simctl privacy booted reset all com.example.myapp\n```\n\n## Status Bar Override\n\n```bash\n# Set clean status bar for screenshots\nxcrun simctl status_bar booted override \\\n  --time \"9:41\" \\\n  --batteryState charged \\\n  --batteryLevel 100 \\\n  --wifiBars 3 \\\n  --cellularBars 4\n```\n\n## Common Issues\n\n### Simulator won't boot\n```bash\nxcrun simctl shutdown all\nxcrun simctl erase all\n# Or delete derived data: rm -rf ~\u002FLibrary\u002FDeveloper\u002FXcode\u002FDerivedData\n```\n\n### App crashes on launch\nCheck crash logs and Console.app for details.\n\n---\n\n**Want to improve this skill?** This is a community skeleton. Add your battle-tested workflows, common pitfalls, and advanced simctl techniques via a PR to [MobiAI-Core](https:\u002F\u002Fgithub.com\u002FArisGuimera\u002FMobiAI-Core).\n",{"name":5,"license":15,"platforms":42,"description":7,"compatibility":43},[20],[25,22,35,36],"main","2edc6ac1cde2cc280ae0388aa8072902d2e230d5","skills\u002Fios\u002Fskills\u002Fmobiai-ios-device",14,"https:\u002F\u002Fgithub.com\u002FArisGuimera\u002FMobiAI-Core","https:\u002F\u002Fgithub.com\u002FArisGuimera","https:\u002F\u002Faristi.dev","⭐️ GitHub Star\r\n📲 Mobile developer\r\n🎥 Te enseño a programar apps en Youtube (AristiDevs)\r\n✍🏻 Y por escrito en CursoKotlin.com\r\n❤️ Kotlin Fanboy\r\n👇👇👇👇","2026-11-13 22:28:09",{"source":8,"skillName":5,"commands":54,"prompt":64,"zipAvailable":65},[55,58,61],{"tool":56,"command":57},"npx","npx skills add ArisGuimera\u002FMobiAI-Core --skill mobiai-ios-device",{"tool":59,"command":60},"bunx","bunx skills add ArisGuimera\u002FMobiAI-Core --skill mobiai-ios-device",{"tool":62,"command":63},"pnpm","pnpm dlx skills add ArisGuimera\u002FMobiAI-Core --skill mobiai-ios-device","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FArisGuimera\u002FMobiAI-Core\u002Fblob\u002Fmain\u002Fskills\u002Fios\u002Fskills\u002Fmobiai-ios-device\u002FSKILL.md",true,[],[68,95,108,126,140,160],{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":82,"publishedAt":37},"01M6KCMR2WVBEC7T0YY4J2SCAR","mobiai-react-native","Use when working on a React Native project — building, testing, debugging, understanding navigation and state management.","https:\u002F\u002Fgithub.com\u002FArisGuimera\u002FMobiAI-Core\u002Fblob\u002Fmain\u002Fskills\u002Freact-native\u002Fskills\u002Fmobiai-react-native\u002FSKILL.md",[74,79],{"categoryNo":75,"categoryName":76,"taxonomyType":77,"taxonomyTypeDesc":78},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":80,"categoryName":81,"taxonomyType":77,"taxonomyTypeDesc":78},"01JBSEEDCAT000000000000009","前端开发",[83,84,85,86,87,36,35,88,89,33,90,91,22,28,92,93,25,94],"react","react native","native","mobiai react native","testing","debugging","state management","state","management","navigation","react-native","project",{"skillNo":96,"name":97,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":102,"publishedAt":37},"01M6KCMKFC3DKFW5B2208SM59W","mobiai-kmp","Use when working on a Kotlin Multiplatform project — shared code, expect\u002Factual declarations, platform-specific implementations, building and testing.","https:\u002F\u002Fgithub.com\u002FArisGuimera\u002FMobiAI-Core\u002Fblob\u002Fmain\u002Fskills\u002Fkmp\u002Fskills\u002Fmobiai-kmp\u002FSKILL.md",[101],{"categoryNo":75,"categoryName":76,"taxonomyType":77,"taxonomyTypeDesc":78},[103,87,36,35,33,104,105,22,28,25,106,94,107],"mobiai kmp","kotlin","kotlin multiplatform","shared","platform",{"skillNo":109,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":115,"publishedAt":37},"01M6KCMEC4YP1FFAX4ZX80Q10R","mobiai-ios-testing","Use when writing or running tests in an iOS project — unit tests, UI tests, snapshot tests, choosing the right framework.","https:\u002F\u002Fgithub.com\u002FArisGuimera\u002FMobiAI-Core\u002Fblob\u002Fmain\u002Fskills\u002Fios\u002Fskills\u002Fmobiai-ios-testing\u002FSKILL.md",[114],{"categoryNo":75,"categoryName":76,"taxonomyType":77,"taxonomyTypeDesc":78},[87,20,116,117,118,36,119,35,33,120,121,122,22,123,28,25,94,124,125],"ios testing","mobiai ios testing","writing","unit tests","framework","running tests","ui","snapshot","tests","unit",{"skillNo":127,"name":128,"nameZh":6,"description":129,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":130,"categories":131,"keywords":132,"publishedAt":37},"01M6KCM2HE6Z1B7WREJ9DTKKWA","mobiai-ios-build","Use when building an iOS project, configuring schemes, troubleshooting build failures, or managing dependencies with CocoaPods or SPM.","https:\u002F\u002Fgithub.com\u002FArisGuimera\u002FMobiAI-Core\u002Fblob\u002Fmain\u002Fskills\u002Fios\u002Fskills\u002Fmobiai-ios-build\u002FSKILL.md",[],[20,133,134,135,36,35,33,136,22,28,137,25,94,23,138,139],"build","ios build","mobiai ios build","troubleshooting","dependencies","spm","cocoapods",{"skillNo":141,"name":142,"nameZh":6,"description":143,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":146,"publishedAt":37},"01M6KCKWZNT8P6K5SYXE1YAT9E","mobiai-ios-architecture","Use when creating features, refactoring, or navigating an iOS codebase — understand project structure, find where to make changes, follow existing patterns.","https:\u002F\u002Fgithub.com\u002FArisGuimera\u002FMobiAI-Core\u002Fblob\u002Fmain\u002Fskills\u002Fios\u002Fskills\u002Fmobiai-ios-architecture\u002FSKILL.md",[],[147,20,148,149,36,150,35,33,151,152,22,28,153,154,94,155,156,157,158,159],"architecture","ios architecture","mobiai ios architecture","project structure","refactoring","find","patterns","structure","understand","changes","codebase","Existing","features",{"skillNo":161,"name":162,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":167,"publishedAt":37},"01M6KCKBZ4CGTMW6GCAZW54QRM","mobiai-flutter","Use when working on a Flutter or Dart project — building, testing, debugging, understanding state management and project structure.","https:\u002F\u002Fgithub.com\u002FArisGuimera\u002FMobiAI-Core\u002Fblob\u002Fmain\u002Fskills\u002Fflutter\u002Fskills\u002Fmobiai-flutter\u002FSKILL.md",[166],{"categoryNo":75,"categoryName":76,"taxonomyType":77,"taxonomyTypeDesc":78},[168,169,87,36,150,35,88,89,33,90,170,91,22,28,154,25,94],"flutter","mobiai flutter","dart"]