lynx-devtool
Use when working with Lynx DevTool or debugging a Lynx app, page, or device, especially when the task mentions clients or sessions, CDP or App commands, DOM/CSS inspection, runtime or console logs, screenshots, heap snapshots, Page.reload or App.openPage, global switches, or inspecting a ReactLynx component tree (`reactlynx tree`), searching components (`reactlynx find`), inspecting props/state/hooks (`reactlynx component`), or mutating props/state/context (`reactlynx update-prop` / `update-stat
Security Assessment
About lynx-devtool
The lynx-devtool skill enables interaction with Lynx applications running on connected devices (Android, iOS, Desktop) through the Lynx DevTool CLI. It is intended for debugging a Lynx app, page, or device, including working with clients and sessions, sending Chrome DevTools Protocol (CDP) or App commands, inspecting DOM and CSS, capturing runtime or console logs, taking screenshots and heap snapshots, reloading pages, and inspecting a ReactLynx component tree. The CLI lives at scripts/index.mjs and is run with node, while a programmatic API at scripts/connector.mjs re-exports the devtool-connector packages and provides createDefaultTransports() and createDefaultConnector() helpers matching the CLI defaults.
The skill documents a set of commands. list-clients lists apps with DevTool enabled, and list-sessions lists active debugging sessions (optionally filtered by client). The cdp command sends a CDP method to a session, accepting -m for the method, optional -c/--client or --client-name targeting, -s/--session, a --thread option (background or main, defaulting to background), and a JSON params string; when --thread main is used, only Debugger, Runtime, HeapProfiler, and Profiler methods are supported. The app command sends App-level methods such as App.openPage, open opens a URL in the app, inspect outputs the inspector URL (default daemon port 21783), get-console captures console logs with offset, limit, stack-trace, level, and thread filters, get-sources lists parsed scripts, and take-screenshot captures the page with optional fullscreen and output path.
Client targeting can use --client-name to resolve a client from list-clients by package or app identifier, falling back to the exact client ID when multiple match. The skill stresses that Lynx supports only part of the standard CDP command set: for a LynxView target the supported-CDP-methods reference must be read first, while WebView targets use standard Chrome DevTools Protocol documentation because the local Lynx references focus on LynxView support and may return method-not-found on WebViews. App commands likewise require reading the supported-App-methods reference first. Command output is multi-line JSON suited to processing with jq or Node, and deeper programmatic workflows are covered in the library-usage and programmatic-debugging references.
FAQ
Which platforms and targets can this skill debug?
It interacts with Lynx applications running on connected Android, iOS, and Desktop devices, and supports both LynxView and WebView session targets.
How do I run the DevTool CLI?
Run it with node against scripts/index.mjs, for example `node <path_to_the_skill>/scripts/index.mjs <command>`. A programmatic API is also available by importing from scripts/connector.mjs.
Does Lynx support the full Chrome DevTools Protocol?
No. Lynx supports only part of the standard CDP. For a LynxView session you must read the Supported CDP Methods reference first; WebView targets use the standard Chrome DevTools Protocol documentation instead, since the local references focus on LynxView and may return method-not-found on WebViews.
What does the --thread main option restrict?
When the cdp command uses --thread main, only Debugger.*, Runtime.*, HeapProfiler.*, and Profiler.* methods are supported. The thread defaults to background if not specified.
How can I target a specific app when multiple clients are connected?
Use --client-name to resolve a client from list-clients by package or app identifier (such as AppProcessName, bundleId, bundleName, or App). If multiple clients match the name, run list-clients and pass the exact client ID with --client.
All Files
116 filesInstall lynx-devtool
Quick Setup:
- Copy the skill folder to
.claude/skills/ - Claude will automatically detect and use the skill
Repository
lynx-community/skills