debug-app

Installation
SKILL.md

πŸ“‹ Shared instructions: shared-instructions.md β€” read first.

Debug App β€” Monitor & Fix

Monitor the running app through the project-local .powernative/metro-logs/ files written by metro.config.js, detect runtime and bundle errors, and fix them autonomously by editing the affected files (or routing to the right skill when the fix belongs in a domain like Dataverse schema or auth registration). For silent failures, inject temporary console.log statements at data-path boundaries, read only newly appended log bytes, then clean the traces after the root cause is fixed. Modeled on the upstream app-debugger.agent.md pattern β€” foreground loop, bounded polling, configurable clean-check/timeout exits, and optional watch-only operation.

Dev-client limitation: the standalone dev client sends app/runtime logs, React errors, host diagnostics, and Metro bundler output through Metro. The template's metro.config.js writes Metro terminal output and HTTP bundle failures into .powernative/metro-logs/; there is no separate device log source. Host diagnostics include strings such as [AuthProvider] MSAL init failed:, [bridge] fetch THREW for, [bridge] HTTP <status> for, [addAadAppToConnectionAcl] failed HTTP <status> for connection, [useConnectionRefs] could not verify connection ACLs; treating existing connections as setup-required, and [PAHost][ErrorBoundary] Unhandled JS error:.

Subcommands (parsed from $ARGUMENTS)

Form Behavior
/debug-app (no args) Default β€” project-log-driven mode. Run Phase 0, discover valid project-local Metro sessions, select automatically when one is live or ask when several are live, then monitor the selected log. No host terminal ID is required.
/debug-app "<symptom text>" Symptom-driven mode (recommended when there's a user-visible problem). Free-text symptom such as "todos not appearing on home screen", "login button does nothing", "list empty after refresh". Run Phase 0 β†’ Phase 0.5 (parse symptom β†’ ask the user to reproduce/navigate β†’ walk the likely data path from terminal traces) β†’ enter monitor loop. Catches silent failures (empty lists, blank screens, swallowed errors) that pure log polling misses.
/debug-app status Discover all project-local Metro logs and print each valid session's project, platform, PID, port, start time, and log path. Mark the session referenced by the saved cursor when present, then print fixes and unresolved errors. Do NOT ask for a selection or enter the loop.
/debug-app stop Stop only the foreground debug loop and preserve .powernative/debug-app/ state. It does not stop Metro; the user owns the npm run dev process.
/debug-app version Print the installed mobile-app plugin name and version from ${PLUGIN_ROOT}/.plugin/plugin.json, then exit.

Monitoring options

Installs
91
GitHub Stars
889
First Seen
Jun 30, 2026
debug-app β€” microsoft/power-platform-skills