What problem does it solve? Elements inside iframes or shadow DOM often fail to appear in browser observations or silently ignore actions, leaving automation stuck. This Skill explains how the browser tools route actions into nested contexts and how to recognize the two hard boundaries — cross-origin OOPIF frames and closed shadow roots — that cannot be reached. ## Core Features & Use Cases - Automatic index routing: Act on elements in same-origin iframes and open shadow roots directly by their observed index with browser_click, browser_type, or browser_select. - Boundary diagnosis: Use browser_find_elements, browser_targets, and enriched observation flags to classify whether a missing element is a cross-origin OOPIF or a closed shadow root. - Fallback strategies: Navigate directly to a frame's URL, use a component's public API, or hand off captcha/payment widgets to the human-in-the-loop path instead of thrashing. - Use Case: A checkout page embeds a third-party payment iframe whose fields never appear in the observation; the Skill guides you to confirm the cross-origin boundary via the frame src and report it as undrivable rather than retrying index actions. ## Quick Start Use the browser-iframe-shadow-dom skill to figure out why the button inside this embedded widget is not responding to clicks.