Use for pulling recent Blokada app logs from a connected device, using the same share-log file exposed in Settings. Trigger when Codex needs the most recent app log lines for debugging, wants logs from the last hour or today, or needs a manual operator workflow for recent device logs without going through Appium UI automation.
Use this skill when the task is to read the recent Blokada shared app log or crash report from a connected device.
The current implementation supports iOS real devices only. Keep the skill name generic so Android can be added later without splitting the workflow again.
This skill reads the same share-log file exposed in Settings, then filters it on the host. It does not drive UI automation.
In Codex, request elevated access before running the command. The iOS device services are not reliably reachable from the sandbox.
Prefer the dedicated automation script:
node automation/device/log.mjs
Optional overrides:
WINDOW=today node automation/device/log.mjs
LINES=800 node automation/device/log.mjs
IOS_DEVICE_NAME="Example iPhone" node automation/device/log.mjs
APP_BUNDLE_ID=net.blocka.app.family node automation/device/log.mjs
ARTIFACT=crash node automation/device/log.mjs
ARTIFACT=crash APP_BUNDLE_ID=net.blocka.app.family node automation/device/log.mjs
Default behavior:
400 lines after time filteringautomation/device/output/Supported variables:
ARTIFACT defaults to log, supports log or crashIOS_DEVICE_NAMEIOS_UDIDAPP_BUNDLE_ID defaults to net.blocka.appWINDOW defaults to 1h, supports 1h or todayLINES defaults to 400ARTIFACT=log:
group.net.blocka.appnet.blocka.app -> blokada-i6x*.lognet.blocka.app.family -> blokada-iFx*.logLINES after time filteringautomation/device/output/logs/ARTIFACT=crash:
systemCrashLogs domainnet.blocka.app -> Dev-*.ipsnet.blocka.app.family -> FamilyDev-*.ipsautomation/device/output/crashlogs/ARTIFACT=log reads the Settings share-log equivalent, not blokada.log.ARTIFACT=crash is the post-mortem path when the app already terminated or Appium cannot stay attached.