Official agent skill

Electron App Automation

by vercel-labs in vercel-labs/agent-browser

Automates Electron desktop apps such as VS Code, Slack or Discord by connecting agent-browser to their Chrome DevTools Protocol port.

OfficialApache-2.0Auto-check passedProductivity & Automation

Install Electron App Automation

skills CLI
$ npx skills add vercel-labs/agent-browser --skill electron -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install vercel-labs/agent-browser electron --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/vercel-labs/agent-browser.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skill-data/electron .claude/skills/electron && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
electron
GitHub stars
44k
Used in
5 other repos
Token cost
~1.7k tokens
SKILL.md length
416 words
Files
1
Skills in repo
10
Repo updated
First seen
Licence
Apache-2.0

At a glance

Automates Electron desktop apps such as VS Code, Slack or Discord by connecting agent-browser to their Chrome DevTools Protocol port.

  • Works in 5 steps: Launch the Electron app with remote… → Connect agent-browser to the CDP port → Snapshot to discover interactive elements → …
  • Automating a desktop app built on Electron
  • SKILL.md covers Core Workflow, Launching Electron Apps with CDP, Connecting and Tab Management, plus 5 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Because Electron apps are built on Chromium, any of them can be started with a remote debugging port, and agent-browser can then connect to it and use the same snapshot-and-interact loop as for web pages. The workflow is: launch the app with --remote-debugging-port, connect, take a snapshot to find interactive elements, act through element refs and snapshot again after state changes.

Launch commands are given for macOS, Linux and Windows. If the app is already running, it must be quit first, because the flag only works at launch time. Multiple windows and webviews appear as separate targets that tab commands can list and switch between, and webview support works through a raw CDP connection. Common patterns include inspecting an app and taking screenshots of desktop apps. The allowed tools are limited to agent-browser commands.

When your agent uses it

  • Automating a desktop app built on Electron
  • Testing an Electron application from the outside
  • Connecting to an already-open app to read or click through it
  • Capturing screenshots of a desktop app's state

Example prompts

  • “Launch Slack with remote debugging and list the channels in the sidebar.”
  • “Connect to my running VS Code on port 9223 and open the command palette.”
  • “Take a screenshot of the Discord app after it finishes loading.”

Requirements

  • agent-browser
  • An Electron app launched with --remote-debugging-port
  • Pre-approved tools (allowed-tools): Bash(agent-browser:*), Bash(npx agent-browser:*)

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Launch the Electron app with remote debugging enabled
  2. Connect agent-browser to the CDP port
  3. Snapshot to discover interactive elements
  4. Interact using element refs
  5. Re-snapshot after navigation or state changes

What it can do on your machine

Read from SKILL.md and the folder at commit 0207911. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash(agent-browser:*)
    • Bash(npx agent-browser:*)

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Electron App Automation loads about 1.7k tokens when it runs. Until then it costs about 129 tokens; SKILL.md has 416 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~129
When it runs · the whole SKILL.md, loaded when a task matches
~1.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from vercel-labs/agent-browser at commit 0207911, republished under its Apache-2.0 licence (© vercel-labs). 416 words, ~1,682 tokens.

Download SKILL.mdSave it as .claude/skills/electron/SKILL.md (or your agent's skills folder).
name
electron
description
Automate Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify, etc.) using agent-browser via Chrome DevTools Protocol. Use when the user needs to interact with an Electron app, automate a desktop app, connect to a running app, control a native app, or test an Electron application. Triggers include "automate Slack app", "control VS Code", "interact with Discord app", "test this Electron app", "connect to desktop app", or any task requiring automation of a native Electron application.
allowed-tools
Bash(agent-browser:*), Bash(npx agent-browser:*)

Electron App Automation

Automate any Electron desktop app using agent-browser. Electron apps are built on Chromium and expose a Chrome DevTools Protocol (CDP) port that agent-browser can connect to, enabling the same snapshot-interact workflow used for web pages.

Core Workflow

  1. Launch the Electron app with remote debugging enabled
  2. Connect agent-browser to the CDP port
  3. Snapshot to discover interactive elements
  4. Interact using element refs
  5. Re-snapshot after navigation or state changes
bash
# Launch an Electron app with remote debugging
open -a "Slack" --args --remote-debugging-port=9222

# Connect agent-browser to the app
agent-browser connect 9222

# Standard workflow from here
agent-browser snapshot -i
agent-browser click @e5
agent-browser screenshot slack-desktop.png

Launching Electron Apps with CDP

Every Electron app supports the --remote-debugging-port flag since it's built into Chromium.

macOS
bash
# Slack
open -a "Slack" --args --remote-debugging-port=9222

# VS Code
open -a "Visual Studio Code" --args --remote-debugging-port=9223

# Discord
open -a "Discord" --args --remote-debugging-port=9224

# Figma
open -a "Figma" --args --remote-debugging-port=9225

# Notion
open -a "Notion" --args --remote-debugging-port=9226

# Spotify
open -a "Spotify" --args --remote-debugging-port=9227
Linux
bash
slack --remote-debugging-port=9222
code --remote-debugging-port=9223
discord --remote-debugging-port=9224
Windows
bash
"C:\Users\%USERNAME%\AppData\Local\slack\slack.exe" --remote-debugging-port=9222
"C:\Users\%USERNAME%\AppData\Local\Programs\Microsoft VS Code\Code.exe" --remote-debugging-port=9223

Important: If the app is already running, quit it first, then relaunch with the flag. The --remote-debugging-port flag must be present at launch time.

Connecting

bash
# Connect to a specific port
agent-browser connect 9222

# Or use --cdp on each command
agent-browser --cdp 9222 snapshot -i

# Auto-discover a running Chromium-based app
agent-browser --auto-connect snapshot -i

After connect, all subsequent commands target the connected app without needing --cdp.

Tab Management

Electron apps often have multiple windows or webviews. Use tab commands to list and switch between them:

bash
# List all available targets (windows, webviews, etc.)
agent-browser tab

# Switch to a specific tab by index
agent-browser tab 2

# Switch by URL pattern
agent-browser tab --url "*settings*"

Webview Support

Electron <webview> elements are automatically discovered and can be controlled like regular pages. Webviews appear as separate targets in the tab list with type: "webview":

bash
# Connect to running Electron app
agent-browser connect 9222

# List targets -- webviews appear alongside pages
agent-browser tab
# Example output:
#   0: [page]    Slack - Main Window     https://app.slack.com/
#   1: [webview] Embedded Content        https://example.com/widget

# Switch to a webview
agent-browser tab 1

# Interact with the webview normally
agent-browser snapshot -i
agent-browser click @e3
agent-browser screenshot webview.png

Note: Webview support works via raw CDP connection.

Common Patterns

Inspect and Navigate an App
bash
open -a "Slack" --args --remote-debugging-port=9222
sleep 3  # Wait for app to start
agent-browser connect 9222
agent-browser snapshot -i
# Read the snapshot output to identify UI elements
agent-browser click @e10  # Navigate to a section
agent-browser snapshot -i  # Re-snapshot after navigation
Take Screenshots of Desktop Apps
bash
agent-browser connect 9222
agent-browser screenshot app-state.png
agent-browser screenshot --full full-app.png
agent-browser screenshot --annotate annotated-app.png
Extract Data from a Desktop App
bash
agent-browser connect 9222
agent-browser snapshot -i
agent-browser get text @e5
agent-browser snapshot --json > app-state.json
Fill Forms in Desktop Apps
bash
agent-browser connect 9222
agent-browser snapshot -i
agent-browser fill @e3 "search query"
agent-browser press Enter
agent-browser wait 1000
agent-browser snapshot -i
Run Multiple Apps Simultaneously

Use named sessions to control multiple Electron apps at the same time:

bash
# Connect to Slack
agent-browser --session slack connect 9222

# Connect to VS Code
agent-browser --session vscode connect 9223

# Interact with each independently
agent-browser --session slack snapshot -i
agent-browser --session vscode snapshot -i

Color Scheme

The default color scheme when connecting via CDP may be light. To preserve dark mode:

bash
agent-browser connect 9222
agent-browser --color-scheme dark snapshot -i

Or set it globally:

bash
AGENT_BROWSER_COLOR_SCHEME=dark agent-browser connect 9222

Troubleshooting

Show full SKILL.md (170 more words)Show less
"Connection refused" or "Cannot connect"
  • Make sure the app was launched with --remote-debugging-port=NNNN
  • If the app was already running, quit and relaunch with the flag
  • Check that the port isn't in use by another process: lsof -i :9222
App launches but connect fails
  • Wait a few seconds after launch before connecting (sleep 3)
  • Some apps take time to initialize their webview
Elements not appearing in snapshot
  • The app may use multiple webviews. Use agent-browser tab to list targets and switch to the right one
Cannot type in input fields
  • Try agent-browser keyboard type "text" to type at the current focus without a selector
  • Some Electron apps use custom input components; use agent-browser keyboard inserttext "text" to bypass key events

Supported Apps

Any app built on Electron works, including:

  • Communication: Slack, Discord, Microsoft Teams, Signal, Telegram Desktop
  • Development: VS Code, GitHub Desktop, Postman, Insomnia
  • Design: Figma, Notion, Obsidian
  • Media: Spotify, Tidal
  • Productivity: Todoist, Linear, 1Password

If an app is built with Electron, it supports --remote-debugging-port and can be automated with agent-browser.

© vercel-labs, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skill-data/electron of vercel-labs/agent-browser.

Open the folder on GitHubat commit 0207911

Used in 5 other repositories

We found 5 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 5 other GitHub owners. This page covers the copy in vercel-labs/agent-browser, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Electron App Automation next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Electron App Automation compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Electron App Automation this skillvercel-labs/agent-browser44k5 repos~1.7kAutomated safety check: PassApache-2.0
External Electron App Automationcashew-labs/libretto904—~967Automated safety check: PassMIT
Actionbook Browser Action Manualssmallnest/goclaw5981 repos~4.1kAutomated safety check: WarnMIT
Electron Devtools Testingankitvgupta/exo496—~2.4kAutomated safety check: PassCustom licence
Flow Next Drivegmickel/flow-next707—~3.6kAutomated safety check: PassMIT
Agent Browser Electronmoeru-ai/airi50k—~3.1kAutomated safety check: PassMIT

Similar skills

  • Drives desktop Electron apps already installed on your machine, such as Slack, Discord or VS Code, by relaunching them with a debugging port and using the Libretto CLI.

    904 GitHub stars~967 tokensUpdated 1 mo ago
    Productivity & AutomationAuto-check passed
  • Looks up action manuals with verified selectors for multi-step website tasks, then drives the browser with the actionbook CLI in a dedicated or an existing Chrome session.

    598 GitHub starsUsed in 1 repo~4.1k tokens
    Productivity & AutomationAuto-check: warnings
  • Test the Electron app interactively using Chrome DevTools Protocol.

    496 GitHub stars~2.4k tokensUpdated 1 mo ago
    Productivity & AutomationAuto-check passed
  • Flow Next Drive

    gmickel/flow-next

    Drive any UI surface like a real user - a web app, a Chromium-backed desktop app (Electron / WebView2, reached over CDP), or a genuinely native app (macOS AppKit/SwiftUI, or a non-CDP webview)…

    707 GitHub stars~3.6k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • A skill your agent uses when Codex needs to inspect, debug, or automate an Electron app through agent-browser and Chrome DevTools Protocol, especially when the app has multiple BrowserWindow…

    50k GitHub stars~3.1k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Attaches OpenCode browser tools to the OpenWork Electron dev app through CDP to explore its UI, send a composer task and debug, not to give test verdicts.

    24k GitHub stars~780 tokensUpdated today
    Testing & QAAuto-check passed

More from vercel-labs/agent-browser

All 10 skills in this repo
  • Agent Browser CLI

    vercel-labs/agent-browser

    Official

    Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking…

    44k GitHub starsUsed in 24 repos~864 tokens
    Auto-check passed
  • Dogfood Exploratory QA

    vercel-labs/agent-browser

    Official

    Explores a web app with the agent-browser CLI to find bugs and UX problems, then writes a report with screenshots, repro videos and step-by-step reproduction for each issue.

    44k GitHub starsUsed in 8 repos~2.7k tokens
    Auto-check passed
  • Slack Browser Automation

    vercel-labs/agent-browser

    Official

    Drives the Slack web app with the agent-browser CLI to check unread channels, search, read channel details and extract information, with screenshots as evidence.

    44k GitHub starsUsed in 1 repo~2.1k tokens
    Auto-check passed
  • Core Guide for agent-browser

    vercel-labs/agent-browser

    Official

    Core usage guide for the agent-browser CLI: the snapshot-and-ref workflow for navigating, clicking, filling forms, extracting data and running parallel sessions.

    44k GitHub starsUsed in 4 repos~9.5k tokens
    Auto-check passed
  • Official

    Records a site's browser traffic into a HAR file, then builds a standalone client or CLI that calls its internal endpoints directly with no browser.

    44k GitHub starsUsed in 2 repos~1.3k tokens
    Auto-check passed
  • WebMCP Tool Generator

    vercel-labs/agent-browser

    Official

    Builds and validates experimental WebMCP tools that expose a web page's real workflows to agents, with a manifest, init script and evals compared against accessibility-tree automation.

    44k GitHub starsUsed in 1 repo~752 tokens
    Auto-check passed

Questions about Electron App Automation

What does Electron App Automation do?

Automates Electron desktop apps such as VS Code, Slack or Discord by connecting agent-browser to their Chrome DevTools Protocol port. Because Electron apps are built on Chromium, any of them can be started with a remote debugging port, and agent-browser can then connect to it and use the same snapshot-and-interact loop as for web pages. The workflow is: launch the app with --remote-debugging-port, connect, take a snapshot to find interactive elements, act through element refs and snapshot again after state changes.

When should I use Electron App Automation?

Electron App Automation fits situations like: automating a desktop app built on Electron; testing an Electron application from the outside; connecting to an already-open app to read or click through it; capturing screenshots of a desktop app's state.

How do I install Electron App Automation in Claude Code?

Run `npx skills add vercel-labs/agent-browser --skill electron -a claude-code`. Or copy the skill folder (skill-data/electron in vercel-labs/agent-browser) into .claude/skills/electron in your project. Claude Code loads it when a task matches its description.

How do I install Electron App Automation in Codex?

Run `npx skills add vercel-labs/agent-browser --skill electron -a codex`. Or copy the skill folder (skill-data/electron in vercel-labs/agent-browser) into .agents/skills/electron in your project. Codex loads it when a task matches its description.

Can I use Electron App Automation in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add vercel-labs/agent-browser --skill electron -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/electron, .gemini/skills/electron, .github/skills/electron and .opencode/skills/electron in your project.

What does Electron App Automation need to run?

SKILL.md names no scripts, command-line tools or credentials: Electron App Automation is instructions for the agent only. Our summary lists: agent-browser; An Electron app launched with --remote-debugging-port. Its frontmatter pre-approves these tools: Bash(agent-browser:*), Bash(npx agent-browser:*).

Does Electron App Automation access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Electron App Automation safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Electron App Automation use?

Electron App Automation is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Electron App Automation use?

About 1.7k tokens (SKILL.md is roughly 6.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Electron App Automation?

Skills that share tags, products or a category with Electron App Automation: External Electron App Automation (cashew-labs/libretto, 904 stars), Actionbook Browser Action Manuals (smallnest/goclaw, 598 stars), Electron Devtools Testing (ankitvgupta/exo, 496 stars) and Flow Next Drive (gmickel/flow-next, 707 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Electron App Automation?

vercel-labs (a GitHub organization, an official publisher) maintains it in vercel-labs/agent-browser, which has 43,634 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 8, 2026.

Source: vercel-labs/agent-browser on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.