qt-app-interaction
Installation
SKILL.md
Qt App Interaction
Every UI interaction follows three phases. Never skip phases. Blind interaction without inspection leads to clicking wrong widgets. Interaction without verification means you don't know if it worked.
All UI commands work the same from host or VM -- no SSH wrapping needed. Use vm run only for arbitrary non-qt-ai-dev-tools commands (launching apps, pytest, systemctl, etc.).
Widget Addressing Flags
These flags control how widgets are matched. They appear on most commands.
| Flag | Effect | Default |
|---|---|---|
--visible / --no-visible |
Only match visible widgets | ON for click, focus, fill, do, text, state; OFF for tree, find |
--exact |
Exact name match instead of substring | OFF (substring match) |
--index N |
Select Nth match when multiple widgets share same role+name (0-based) | None (error if multiple) |
--app "name" |
Target a specific app when multiple Qt apps are on the AT-SPI bus | None (auto-detect, first Qt app) |
Use --exact when substring matching causes ambiguity (e.g., --name "OK" matching "OK" and "OK - Confirm"). Use --index when multiple identical widgets exist (e.g., two "Delete" buttons in different rows).