A grab-bag of smaller, lower-priority inspect_element enhancements, grouped so they don't each need their own issue. Each is independent; pick off whatever's worth it. (See also the larger ones: #5 overflow, #6 occlusion, #7 effective visibility, #8 accessibility.)
Implementation note
All of these live in inspectEl() in packages/core/src/commands.ts. Keep them curated/low-token and consistent with the existing payload. Update the doc-sync map in CLAUDE.md if the output shape changes.
Update (release/0.3, #10): the first three are implemented as clipped, pseudo, and path on the inspect_element payload. The framework component name is left for a separate experimental pass (fragile across versions, dev-mode/React-only).
A grab-bag of smaller, lower-priority
inspect_elementenhancements, grouped so they don't each need their own issue. Each is independent; pick off whatever's worth it. (See also the larger ones: #5 overflow, #6 occlusion, #7 effective visibility, #8 accessibility.)inViewport: is the element cut off by an ancestor'soverflow:hidden/ scroll container, even though it's within the viewport? Report a flag (and optionally the clipping ancestor).getComputedStyle(el, '::before' / '::after').contentwhen set. Icons and generated text often live here and are otherwise invisible to the agent.body > main > div#app > button.ctaso the agent gets structural context without a fullget_html.Implementation note
All of these live in
inspectEl()inpackages/core/src/commands.ts. Keep them curated/low-token and consistent with the existing payload. Update the doc-sync map inCLAUDE.mdif the output shape changes.Update (release/0.3, #10): the first three are implemented as
clipped,pseudo, andpathon theinspect_elementpayload. The framework component name is left for a separate experimental pass (fragile across versions, dev-mode/React-only).