argent-metro-debugger
Installation
SKILL.md
1. Prerequisites
Physical iPhone: not supported; every debugger-* tool rejects kind: "device".
- React Native (iOS / Android): Metro running (default
localhost:8081) and the app connected to it. Verify withdebugger-status. - Android: a physical device, a TV emulator, or a dev client that loads from
localhostneedsadb -s <serial> reverse tcp:<port> tcp:<port>(default 8081). Iflist-devicesreturns ahintabout the adb server, prefix the command as the hint shows. Run it again after a reboot or an adb restart; Argent doesn't restore it. A bare RN app on a phone emulator uses10.0.2.2and doesn't need it;react-native run-androidandexpo run:androidset it up themselves. - Vega (Fire TV): a Debug
.vpkg(a Release build never attaches) and Metro reachable from the device (vega device start-port-forwarding --port 8081 --forward false).debugger-component-tree,debugger-inspect-element,debugger-reload-metroand thereact-profiler-*/profiler-*tools are unavailable there; seereferences/vega.mdof theargent-tv-interactskill. - Chromium (CDP): an Electron app booted with
boot-deviceelectronAppPath, or a Chromium browser exposing a CDP port (list-devicesfinds it). Pass itschromium-cdp-<port>id asdevice_id. Onlydebugger-connect,debugger-status,debugger-evaluate,debugger-log-registry,view-network-logsandview-network-request-detailswork there; the other debugger and profiler tools are React Native only.
2. Tools
Pass the same device_id, the id from list-devices, to every call. With two or more devices on one Metro, debugger-connect refuses a udid or serial and returns a logicalDeviceId: use that as device_id from then on, and include it in stop-all-simulator-servers' devices at teardown, or the debugger session outlives yours.