Skip to content

Add Min browser (Electron) interaction skill#481

Open
Gavin-Thomas wants to merge 1 commit into
browser-use:mainfrom
Gavin-Thomas:min-browser-interaction-skill
Open

Add Min browser (Electron) interaction skill#481
Gavin-Thomas wants to merge 1 commit into
browser-use:mainfrom
Gavin-Thomas:min-browser-interaction-skill

Conversation

@Gavin-Thomas

@Gavin-Thomas Gavin-Thomas commented Jul 2, 2026

Copy link
Copy Markdown

Adds interaction-skills/min-browser.md — field-tested notes for driving Min (and Electron-shell browsers generally) over CDP:

  • Min's single-instance lock + no persistent debug setting → must pkill and relaunch with --remote-debugging-port (AppleScript quit is ignored)
  • The hidden empty-URL page target trap: JS eval works but viewport is 0×0, screenshots time out, clicks are meaningless
  • Open real visible tabs with open -a Min "<url>" and select the target by URL match + non-zero page_info() viewport
  • Target.createTarget/new_tab() unreliability in Electron shells

🤖 Generated with Claude Code


Summary by cubic

Adds interaction-skills/min-browser.md, a field-tested guide for driving Min (and other Electron-shell browsers) over CDP. Covers reliable CDP enablement (kill and relaunch with --remote-debugging-port), the hidden 0×0 page target trap that breaks screenshots/clicks, and opening/selecting real visible tabs via open -a Min "<url>" with a non-zero viewport check.

Written for commit ef0391f. Summary will update on new commits.

Review in cubic

Covers the single-instance/CDP-flag relaunch dance, the hidden 0x0
background webContents trap, and opening visible tabs via 'open -a Min'.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@browser-harness-review

Copy link
Copy Markdown

✅ Skill review passed

Reviewed 1 file(s) — no findings.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 1 file

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="interaction-skills/min-browser.md">

<violation number="1" location="interaction-skills/min-browser.md:29">
P1: The last line of the doc references `click_at_xy` and `capture_screenshot` as available harness functions, but neither name exists in `helpers.py`, `daemon.py`, or `admin.py`. An agent reading this skill will hit a `NameError` at runtime if it tries to call either one. The correct names are `click(x, y, ...)` and `screenshot(path, ...)` — update the line to match what the harness exposes.</violation>
</file>

Reply with feedback, questions, or to request a fix.

Fix all with cubic | Re-trigger cubic

- Then pick the target where `type == "page"`, the URL matches what you opened, and the URL is neither `min://` nor under `/Applications/Min.app/`. `switch_tab()` to it.
- **Sanity-check `page_info()` shows a non-zero viewport before clicking or screenshotting** — that's the reliable "this is a visible tab" test.

Everything else (js, click_at_xy, capture_screenshot, wait_for_load) works normally once you're attached to a visible tab.

@cubic-dev-ai cubic-dev-ai Bot Jul 2, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1: The last line of the doc references click_at_xy and capture_screenshot as available harness functions, but neither name exists in helpers.py, daemon.py, or admin.py. An agent reading this skill will hit a NameError at runtime if it tries to call either one. The correct names are click(x, y, ...) and screenshot(path, ...) — update the line to match what the harness exposes.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At interaction-skills/min-browser.md, line 29:

<comment>The last line of the doc references `click_at_xy` and `capture_screenshot` as available harness functions, but neither name exists in `helpers.py`, `daemon.py`, or `admin.py`. An agent reading this skill will hit a `NameError` at runtime if it tries to call either one. The correct names are `click(x, y, ...)` and `screenshot(path, ...)` — update the line to match what the harness exposes.</comment>

<file context>
@@ -0,0 +1,29 @@
+- Then pick the target where `type == "page"`, the URL matches what you opened, and the URL is neither `min://` nor under `/Applications/Min.app/`. `switch_tab()` to it.
+- **Sanity-check `page_info()` shows a non-zero viewport before clicking or screenshotting** — that's the reliable "this is a visible tab" test.
+
+Everything else (js, click_at_xy, capture_screenshot, wait_for_load) works normally once you're attached to a visible tab.
</file context>
Suggested change
Everything else (js, click_at_xy, capture_screenshot, wait_for_load) works normally once you're attached to a visible tab.
Everything else (js, click, screenshot, wait_for_load) works normally once you're attached to a visible tab.
Fix with cubic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant