OneWorks In-App Browser Control
Use this skill for websites shown in the OneWorks internal browser. It does not control external Chrome or native desktop applications.
Prefer execute_in_app_browser_workflow when one page has two or more deterministic steps. When independent work is ready for multiple pages, submit it once with execute_in_app_browser_workflows; pages run concurrently while each page remains serial. Use low-level tools only to inspect, recover from a changed page, or perform a single action.
- Use
in_app_browser_openwhen the requested page is not already open. It reuses the same URL by default; passopen_mode: "new-tab"only when the task needs a separate page instance. Pages open on the right by default; passplacement: "bottom"only when a wide horizontal panel better suits the task. Callin_app_browser_list_pagesonly when you need to discover existing pages. Usein_app_browser_show_pageto reveal an existing page when the user needs to see it; ordinary background operations should continue addressing the page directly bypage_idwithout changing the visible tab. - Call
in_app_browser_snapshotbefore referring to page elements. Keep itspage_idpaired with every returnedref; do not invent CSS selectors or coordinates. Every page operation requires an explicitpage_id, so never rely on an implicit active tab. - A ref can become stale after navigation or DOM updates. If a tool returns
TARGET_NOT_FOUND, take a new snapshot and continue with the new ref. - Prefer
in_app_browser_waitwith an expected text/ref over a fixed delay. Do not add shell sleeps. After an action, request only the cheapest state needed for the next decision; do not take both a snapshot and screenshot by default. - Workflows run serially against an explicit
page_id. Give every step a stablenode_id. Usemissing: "skip"only when absence is an expected exit condition; otherwise keep the defaultstop. Batch only independent page workflows; steps targeting the same page are deliberately queued. - For one to three single-workflow steps, results are returned inline. Longer workflows and all multi-page batches return
run_idand step IDs; callget_in_app_browser_workflow_stepsonly for the details needed. Tab management, history clearing, and paginated history reads remain explicit low-level calls and are not workflow steps. - Use
in_app_browser_get_navigation_statefor the cheap current index/loading/back-forward summary. Callin_app_browser_get_navigation_entriesonly when entry details are needed.in_app_browser_navigate_historyaccepts exactly one ofdirection,offset, orindex. - Treat returned
page.id/replacement_page_idfromin_app_browser_duplicate_pageorin_app_browser_move_pageas authoritative; those actions may recreate the webview. Do not keep usingprevious_page_id. Closing a page is terminal forclosed_page_id. - Before choosing a simulated device, call
in_app_browser_list_device_presets. Usein_app_browser_set_device_modefor the device toolbar and emulation,in_app_browser_set_page_zoomfor native page zoom, andin_app_browser_set_embedded_devtoolsonly when inspection is materially useful. Read the applied state within_app_browser_get_page_view_state. - Use
in_app_browser_screenshotonly when visual verification is material. The tool returns a local PNG path. Usein_app_browser_selectfor native HTML selects instead of simulating popup clicks and arrow keys.
The plugin intentionally does not expose arbitrary JavaScript, raw CDP, cookies, storage, saved passwords, or OneWorks application chrome.