From 4bfe9a234ad5dfe662f044f6031f488aeb259fac Mon Sep 17 00:00:00 2001 From: Conor Luddy Date: Sat, 10 Jan 2026 10:25:16 +0000 Subject: [PATCH 1/2] << Copy this directory into your skills, not the whole repo. --- {skill => ios-simulator-skill}/SKILL.md | 0 {skill => ios-simulator-skill}/scripts/accessibility_audit.py | 0 {skill => ios-simulator-skill}/scripts/app_launcher.py | 0 {skill => ios-simulator-skill}/scripts/app_state_capture.py | 0 {skill => ios-simulator-skill}/scripts/build_and_test.py | 0 {skill => ios-simulator-skill}/scripts/clipboard.py | 0 {skill => ios-simulator-skill}/scripts/common/__init__.py | 0 {skill => ios-simulator-skill}/scripts/common/cache_utils.py | 0 {skill => ios-simulator-skill}/scripts/common/device_utils.py | 0 {skill => ios-simulator-skill}/scripts/common/idb_utils.py | 0 {skill => ios-simulator-skill}/scripts/common/screenshot_utils.py | 0 {skill => ios-simulator-skill}/scripts/gesture.py | 0 {skill => ios-simulator-skill}/scripts/keyboard.py | 0 {skill => ios-simulator-skill}/scripts/log_monitor.py | 0 {skill => ios-simulator-skill}/scripts/navigator.py | 0 {skill => ios-simulator-skill}/scripts/privacy_manager.py | 0 {skill => ios-simulator-skill}/scripts/push_notification.py | 0 {skill => ios-simulator-skill}/scripts/screen_mapper.py | 0 {skill => ios-simulator-skill}/scripts/sim_health_check.sh | 0 {skill => ios-simulator-skill}/scripts/sim_list.py | 0 {skill => ios-simulator-skill}/scripts/simctl_boot.py | 0 {skill => ios-simulator-skill}/scripts/simctl_create.py | 0 {skill => ios-simulator-skill}/scripts/simctl_delete.py | 0 {skill => ios-simulator-skill}/scripts/simctl_erase.py | 0 {skill => ios-simulator-skill}/scripts/simctl_shutdown.py | 0 {skill => ios-simulator-skill}/scripts/simulator_selector.py | 0 {skill => ios-simulator-skill}/scripts/status_bar.py | 0 {skill => ios-simulator-skill}/scripts/test_recorder.py | 0 {skill => ios-simulator-skill}/scripts/visual_diff.py | 0 {skill => ios-simulator-skill}/scripts/xcode/__init__.py | 0 {skill => ios-simulator-skill}/scripts/xcode/builder.py | 0 {skill => ios-simulator-skill}/scripts/xcode/cache.py | 0 {skill => ios-simulator-skill}/scripts/xcode/config.py | 0 {skill => ios-simulator-skill}/scripts/xcode/reporter.py | 0 {skill => ios-simulator-skill}/scripts/xcode/xcresult.py | 0 35 files changed, 0 insertions(+), 0 deletions(-) rename {skill => ios-simulator-skill}/SKILL.md (100%) rename {skill => ios-simulator-skill}/scripts/accessibility_audit.py (100%) rename {skill => ios-simulator-skill}/scripts/app_launcher.py (100%) rename {skill => ios-simulator-skill}/scripts/app_state_capture.py (100%) rename {skill => ios-simulator-skill}/scripts/build_and_test.py (100%) rename {skill => ios-simulator-skill}/scripts/clipboard.py (100%) rename {skill => ios-simulator-skill}/scripts/common/__init__.py (100%) rename {skill => ios-simulator-skill}/scripts/common/cache_utils.py (100%) rename {skill => ios-simulator-skill}/scripts/common/device_utils.py (100%) rename {skill => ios-simulator-skill}/scripts/common/idb_utils.py (100%) rename {skill => ios-simulator-skill}/scripts/common/screenshot_utils.py (100%) rename {skill => ios-simulator-skill}/scripts/gesture.py (100%) rename {skill => ios-simulator-skill}/scripts/keyboard.py (100%) rename {skill => ios-simulator-skill}/scripts/log_monitor.py (100%) rename {skill => ios-simulator-skill}/scripts/navigator.py (100%) rename {skill => ios-simulator-skill}/scripts/privacy_manager.py (100%) rename {skill => ios-simulator-skill}/scripts/push_notification.py (100%) rename {skill => ios-simulator-skill}/scripts/screen_mapper.py (100%) rename {skill => ios-simulator-skill}/scripts/sim_health_check.sh (100%) rename {skill => ios-simulator-skill}/scripts/sim_list.py (100%) rename {skill => ios-simulator-skill}/scripts/simctl_boot.py (100%) rename {skill => ios-simulator-skill}/scripts/simctl_create.py (100%) rename {skill => ios-simulator-skill}/scripts/simctl_delete.py (100%) rename {skill => ios-simulator-skill}/scripts/simctl_erase.py (100%) rename {skill => ios-simulator-skill}/scripts/simctl_shutdown.py (100%) rename {skill => ios-simulator-skill}/scripts/simulator_selector.py (100%) rename {skill => ios-simulator-skill}/scripts/status_bar.py (100%) rename {skill => ios-simulator-skill}/scripts/test_recorder.py (100%) rename {skill => ios-simulator-skill}/scripts/visual_diff.py (100%) rename {skill => ios-simulator-skill}/scripts/xcode/__init__.py (100%) rename {skill => ios-simulator-skill}/scripts/xcode/builder.py (100%) rename {skill => ios-simulator-skill}/scripts/xcode/cache.py (100%) rename {skill => ios-simulator-skill}/scripts/xcode/config.py (100%) rename {skill => ios-simulator-skill}/scripts/xcode/reporter.py (100%) rename {skill => ios-simulator-skill}/scripts/xcode/xcresult.py (100%) diff --git a/skill/SKILL.md b/ios-simulator-skill/SKILL.md similarity index 100% rename from skill/SKILL.md rename to ios-simulator-skill/SKILL.md diff --git a/skill/scripts/accessibility_audit.py b/ios-simulator-skill/scripts/accessibility_audit.py similarity index 100% rename from skill/scripts/accessibility_audit.py rename to ios-simulator-skill/scripts/accessibility_audit.py diff --git a/skill/scripts/app_launcher.py b/ios-simulator-skill/scripts/app_launcher.py similarity index 100% rename from skill/scripts/app_launcher.py rename to ios-simulator-skill/scripts/app_launcher.py diff --git a/skill/scripts/app_state_capture.py b/ios-simulator-skill/scripts/app_state_capture.py similarity index 100% rename from skill/scripts/app_state_capture.py rename to ios-simulator-skill/scripts/app_state_capture.py diff --git a/skill/scripts/build_and_test.py b/ios-simulator-skill/scripts/build_and_test.py similarity index 100% rename from skill/scripts/build_and_test.py rename to ios-simulator-skill/scripts/build_and_test.py diff --git a/skill/scripts/clipboard.py b/ios-simulator-skill/scripts/clipboard.py similarity index 100% rename from skill/scripts/clipboard.py rename to ios-simulator-skill/scripts/clipboard.py diff --git a/skill/scripts/common/__init__.py b/ios-simulator-skill/scripts/common/__init__.py similarity index 100% rename from skill/scripts/common/__init__.py rename to ios-simulator-skill/scripts/common/__init__.py diff --git a/skill/scripts/common/cache_utils.py b/ios-simulator-skill/scripts/common/cache_utils.py similarity index 100% rename from skill/scripts/common/cache_utils.py rename to ios-simulator-skill/scripts/common/cache_utils.py diff --git a/skill/scripts/common/device_utils.py b/ios-simulator-skill/scripts/common/device_utils.py similarity index 100% rename from skill/scripts/common/device_utils.py rename to ios-simulator-skill/scripts/common/device_utils.py diff --git a/skill/scripts/common/idb_utils.py b/ios-simulator-skill/scripts/common/idb_utils.py similarity index 100% rename from skill/scripts/common/idb_utils.py rename to ios-simulator-skill/scripts/common/idb_utils.py diff --git a/skill/scripts/common/screenshot_utils.py b/ios-simulator-skill/scripts/common/screenshot_utils.py similarity index 100% rename from skill/scripts/common/screenshot_utils.py rename to ios-simulator-skill/scripts/common/screenshot_utils.py diff --git a/skill/scripts/gesture.py b/ios-simulator-skill/scripts/gesture.py similarity index 100% rename from skill/scripts/gesture.py rename to ios-simulator-skill/scripts/gesture.py diff --git a/skill/scripts/keyboard.py b/ios-simulator-skill/scripts/keyboard.py similarity index 100% rename from skill/scripts/keyboard.py rename to ios-simulator-skill/scripts/keyboard.py diff --git a/skill/scripts/log_monitor.py b/ios-simulator-skill/scripts/log_monitor.py similarity index 100% rename from skill/scripts/log_monitor.py rename to ios-simulator-skill/scripts/log_monitor.py diff --git a/skill/scripts/navigator.py b/ios-simulator-skill/scripts/navigator.py similarity index 100% rename from skill/scripts/navigator.py rename to ios-simulator-skill/scripts/navigator.py diff --git a/skill/scripts/privacy_manager.py b/ios-simulator-skill/scripts/privacy_manager.py similarity index 100% rename from skill/scripts/privacy_manager.py rename to ios-simulator-skill/scripts/privacy_manager.py diff --git a/skill/scripts/push_notification.py b/ios-simulator-skill/scripts/push_notification.py similarity index 100% rename from skill/scripts/push_notification.py rename to ios-simulator-skill/scripts/push_notification.py diff --git a/skill/scripts/screen_mapper.py b/ios-simulator-skill/scripts/screen_mapper.py similarity index 100% rename from skill/scripts/screen_mapper.py rename to ios-simulator-skill/scripts/screen_mapper.py diff --git a/skill/scripts/sim_health_check.sh b/ios-simulator-skill/scripts/sim_health_check.sh similarity index 100% rename from skill/scripts/sim_health_check.sh rename to ios-simulator-skill/scripts/sim_health_check.sh diff --git a/skill/scripts/sim_list.py b/ios-simulator-skill/scripts/sim_list.py similarity index 100% rename from skill/scripts/sim_list.py rename to ios-simulator-skill/scripts/sim_list.py diff --git a/skill/scripts/simctl_boot.py b/ios-simulator-skill/scripts/simctl_boot.py similarity index 100% rename from skill/scripts/simctl_boot.py rename to ios-simulator-skill/scripts/simctl_boot.py diff --git a/skill/scripts/simctl_create.py b/ios-simulator-skill/scripts/simctl_create.py similarity index 100% rename from skill/scripts/simctl_create.py rename to ios-simulator-skill/scripts/simctl_create.py diff --git a/skill/scripts/simctl_delete.py b/ios-simulator-skill/scripts/simctl_delete.py similarity index 100% rename from skill/scripts/simctl_delete.py rename to ios-simulator-skill/scripts/simctl_delete.py diff --git a/skill/scripts/simctl_erase.py b/ios-simulator-skill/scripts/simctl_erase.py similarity index 100% rename from skill/scripts/simctl_erase.py rename to ios-simulator-skill/scripts/simctl_erase.py diff --git a/skill/scripts/simctl_shutdown.py b/ios-simulator-skill/scripts/simctl_shutdown.py similarity index 100% rename from skill/scripts/simctl_shutdown.py rename to ios-simulator-skill/scripts/simctl_shutdown.py diff --git a/skill/scripts/simulator_selector.py b/ios-simulator-skill/scripts/simulator_selector.py similarity index 100% rename from skill/scripts/simulator_selector.py rename to ios-simulator-skill/scripts/simulator_selector.py diff --git a/skill/scripts/status_bar.py b/ios-simulator-skill/scripts/status_bar.py similarity index 100% rename from skill/scripts/status_bar.py rename to ios-simulator-skill/scripts/status_bar.py diff --git a/skill/scripts/test_recorder.py b/ios-simulator-skill/scripts/test_recorder.py similarity index 100% rename from skill/scripts/test_recorder.py rename to ios-simulator-skill/scripts/test_recorder.py diff --git a/skill/scripts/visual_diff.py b/ios-simulator-skill/scripts/visual_diff.py similarity index 100% rename from skill/scripts/visual_diff.py rename to ios-simulator-skill/scripts/visual_diff.py diff --git a/skill/scripts/xcode/__init__.py b/ios-simulator-skill/scripts/xcode/__init__.py similarity index 100% rename from skill/scripts/xcode/__init__.py rename to ios-simulator-skill/scripts/xcode/__init__.py diff --git a/skill/scripts/xcode/builder.py b/ios-simulator-skill/scripts/xcode/builder.py similarity index 100% rename from skill/scripts/xcode/builder.py rename to ios-simulator-skill/scripts/xcode/builder.py diff --git a/skill/scripts/xcode/cache.py b/ios-simulator-skill/scripts/xcode/cache.py similarity index 100% rename from skill/scripts/xcode/cache.py rename to ios-simulator-skill/scripts/xcode/cache.py diff --git a/skill/scripts/xcode/config.py b/ios-simulator-skill/scripts/xcode/config.py similarity index 100% rename from skill/scripts/xcode/config.py rename to ios-simulator-skill/scripts/xcode/config.py diff --git a/skill/scripts/xcode/reporter.py b/ios-simulator-skill/scripts/xcode/reporter.py similarity index 100% rename from skill/scripts/xcode/reporter.py rename to ios-simulator-skill/scripts/xcode/reporter.py diff --git a/skill/scripts/xcode/xcresult.py b/ios-simulator-skill/scripts/xcode/xcresult.py similarity index 100% rename from skill/scripts/xcode/xcresult.py rename to ios-simulator-skill/scripts/xcode/xcresult.py From a3753c007b2c83f6d665e801635fd8400b093fbc Mon Sep 17 00:00:00 2001 From: Conor Luddy Date: Sat, 10 Jan 2026 10:28:04 +0000 Subject: [PATCH 2/2] Update docs --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index e0a5e9a..4f0ec8c 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,11 @@ Production-ready automation for iOS app testing and building. 21 scripts optimiz This is basically a Skill version of my XCode MCP: [https://github.com/conorluddy/xc-mcp](https://github.com/conorluddy/xc-mcp) + +> [!WARNING] +> You want to take the `ios-simulator-skill` directory from this repo and drop it into your skills directory - not this entire repo. I'll update this soon with an easier approach. + + MCPs load a lot of tokens into the context window when they're active, but also seem to work really well. Skills don't load in any context. I'll make a plugin next and try to find the balance... Updated: The Plugin version lets you easily disable MCPs for different tool groups. Optimise your context window by only enabling the tools you're actively using, such as xcodebuild: [https://github.com/conorluddy/xclaude-plugin](https://github.com/conorluddy/xclaude-plugin)