/00. Claude Plugins

A Claude Code plugin is a folder of skills, agents, hooks, and slash commands that Claude installs per project. 28 plugins, 68 skills here.

/plugin marketplace add aiocean/claude-plugins
/plugin install <plugin-name>@aiocean-plugins

Skills load when their description matches your message, hooks fire on tool-call events, agents spawn on the Agent tool. Idle plugins cost nothing — browse plugins or read the guides.

Folders

Articles

/02. aio-ios-device-debug

Install

/plugin install aio-ios-device-debug@aiocean-plugins

aio-ios-device-debug

Physical device debugging for iOS, entirely from the terminal.

The Xcode GUI hides what is actually happening during a crash. Logs scroll past, stack traces disappear, and the dialog that says "process exited" offers nothing actionable. This plugin takes the opposite approach: every step of the debug loop — build, install, launch, syslog capture, crash report extraction, and stack trace analysis — runs as a shell command you can inspect, re-run, and automate.

The result is a repeatable, scriptable workflow that works over SSH, in CI, and in any terminal where you would normally open Xcode just to see a crash reason.

Install

/plugin install aio-ios-device-debug@aiocean-plugins

Requirements

  • Xcode with command-line tools (xcode-select --install)
  • libimobiledevice: brew install libimobiledevice
  • pymobiledevice3: pip3 install pymobiledevice3 (required for screenshots on iOS 17+)
  • A physical iOS device connected via USB or paired over WiFi

The debug loop

The skill walks Claude through a six-step sequence, handling the non-obvious parts automatically:

discover device → build & install → launch + capture syslog → detect crash → pull .ips reports → analyze stack trace

Each step uses the right tool for the job. Two separate device ID systems exist (xcodebuild ID and devicectl UUID) and the skill keeps them straight — a common source of silent failures when mixing commands.

What the scripts handle

ScriptWhat it does
device-list.shLists connected devices with both xcodebuild and devicectl IDs
build-install.shCompiles a scheme and installs the .app on device
launch-and-log.shStarts syslog capture before launch, detects crash signals
pull-crash-reports.shExtracts .ips files from the device
analyze-crash.shParses an .ips into signal type, faulting thread, and app frames
screenshot.shCaptures a screenshot using the DVT API (iOS 17+ compatible)

Crash signal reference

The analyzer maps raw signals to their most common root causes:

SignalExceptionLikely cause
SIGTRAPEXC_BREAKPOINTSwift runtime trap: force-unwrap nil, precondition failure, actor isolation violation
SIGABRTEXC_CRASHUncaught exception, fatalError(), assertion
SIGSEGVEXC_BAD_ACCESSUse-after-free, null dereference, dangling pointer
SIGKILLWatchdog timeout, OOM jetsam, background time exceeded

The iOS 17 screenshot problem

Every common screenshot method is broken on iOS 17+. The skill documents exactly which methods fail and why, and uses the only working approach: pymobiledevice3 developer dvt screenshot through a tunneld session. The setup is three commands run once; the skill explains each one.

Trigger phrases

"debug on device", "deploy to iPhone", "get crash logs", "pull crash report", "device screenshot", "iOS device syslog", "physical device debug"

Skills (1)

  • aio-ios-device-debug — Debug iOS apps on physical devices from the terminal — deploy to iPhone or iPad with xcodebuild, capture syslog via idevicesyslog, pull crash reports from the d…

Articles