| name | VNC Remote Browser Access |
| description | Launch a virtual display with VNC + noVNC + cloudflared for remote browser viewing and control. Enables human-in-the-loop login/verification when Playwright needs manual interaction. |
| version | 1.0.0 |
| category | browser |
| skillType | claude-skill |
| assignableRoles | ["developer","qa","qa-engineer","fullstack-dev","backend-developer","frontend-developer","generalist"] |
| triggers | ["vnc","remote browser","browser login","manual login","human verification","captcha","2fa","playwright headful"] |
| tags | ["vnc","browser","remote-access","playwright","noVNC","cloudflared"] |
| execution | {"type":"script","script":{"file":"execute.sh","interpreter":"bash","timeoutMs":60000}} |
VNC Remote Browser Access
Bridge macOS Screen Sharing to a public HTTPS URL via noVNC + cloudflared. This lets humans remotely view and control the Mac desktop (and any browser on it) from anywhere — essential when Playwright hits a login page, CAPTCHA, or 2FA prompt.
The stack: macOS Screen Sharing (built-in VNC, port 5900) → websockify + noVNC (web client, port 6080) → cloudflared (public HTTPS tunnel).
Prerequisites
macOS Screen Sharing must be enabled manually before using this skill:
- Open System Settings → General → Sharing
- Turn on Screen Sharing
- (Optional) Set a VNC password under Screen Sharing options
This only needs to be done once. Screen Sharing runs as a system service and persists across reboots.
When to Use
- Playwright hits a login page that requires human credentials
- A website shows a CAPTCHA or anti-bot challenge
- Two-factor authentication (2FA/MFA) requires a code from the user
- You need the user to visually verify something in the browser
- Any browser automation step that needs human-in-the-loop interaction
Parameters
| Parameter | Required | Description |
|---|
action | Yes | One of: start, stop, status, get-url |
Actions
- start — Check Screen Sharing is on, install deps if needed, launch websockify + noVNC + cloudflared. Returns the public URL.
- stop — Shut down websockify + cloudflared. Does NOT touch Screen Sharing.
- status — Check Screen Sharing (port 5900), websockify, and cloudflared status.
- get-url — Retrieve the cloudflared public URL.
Examples
Start and get the public URL
bash config/skills/agent/vnc-browser/execute.sh '{"action":"start"}'
Output:
{
"success":