← Back to Skills Marketplace
daxiangnaoyang

Daxiang Electron

by daxiangnaoyang · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
86
Downloads
0
Stars
1
Active Installs
1
Versions
Install in OpenClaw
/install daxiang-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 ne...
README (SKILL.md)

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
# 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

# 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

slack --remote-debugging-port=9222
code --remote-debugging-port=9223
discord --remote-debugging-port=9224

Windows

"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

# 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:

# 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 \x3Cwebview> elements are automatically discovered and can be controlled like regular pages. Webviews appear as separate targets in the tab list with type: "webview":

# 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

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

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

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

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:

# 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:

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

Or set it globally:

AGENT_BROWSER_COLOR_SCHEME=dark agent-browser connect 9222

Troubleshooting

"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
  • Use agent-browser snapshot -i -C to include cursor-interactive elements (divs with onclick handlers)

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.

Usage Guidance
This skill is coherent for automating Electron apps and doesn't ask for unrelated credentials or install steps, but it works by enabling remote debugging on desktop apps. Enabling --remote-debugging-port and connecting a debugger exposes the app's internal DOM and runtime (which can include messages, tokens, files, or other sensitive data). Only use this on machines and accounts you control or on test copies of apps. Before running: (1) confirm you trust the agent-browser tool and run it locally, (2) avoid connecting to accounts with private data, (3) monitor network and process activity while debugging, (4) quit the app and relaunch it normally after automation, and (5) verify agent-browser's provenance if you haven't installed it previously.
Capability Analysis
Type: OpenClaw Skill Name: daxiang-electron Version: 1.0.0 The skill provides instructions to automate highly sensitive Electron applications (including 1Password, Slack, and VS Code) by relaunching them with the `--remote-debugging-port` flag enabled. While this is a functional requirement for the stated purpose of automation via Chrome DevTools Protocol (CDP), it significantly weakens the security posture of these apps, potentially allowing an agent or attacker to bypass sandboxing and access sensitive session data. The instructions in SKILL.md are aligned with the stated purpose but involve high-risk configurations without explicit warnings about the security implications.
Capability Assessment
Purpose & Capability
Name/description match the SKILL.md: the document describes launching Electron apps with --remote-debugging-port and controlling them via the agent-browser CLI. No unrelated binaries, env vars, or installs are requested.
Instruction Scope
Instructions stay on-task (launch app with remote debugging, connect with agent-browser, snapshot, click, screenshot, extract text). They do not instruct reading unrelated system files or fetching external URLs. However, the workflow explicitly requires relaunching apps with --remote-debugging-port and connecting a debugger, which legitimately exposes the app's DOM and runtime and therefore any in-app data (messages, tokens, etc.). This is expected for the stated purpose but is a sensitive operation.
Install Mechanism
Instruction-only skill with no install spec or code files. No downloads or packages are installed by the skill itself, which minimizes supply-chain risk.
Credentials
The skill requires no credentials or config paths. It references one optional env var (AGENT_BROWSER_COLOR_SCHEME) for display preferences. Nonetheless, connecting to CDP grants access to potentially sensitive application state—so the lack of requested credentials does not eliminate privacy risk.
Persistence & Privilege
always is false and the skill does not request persistent system or cross-skill configuration changes. It does instruct the agent to launch apps, which is normal for automation but not privileged beyond the local user's permissions.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install daxiang-electron
  3. After installation, invoke the skill by name or use /daxiang-electron
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release of Electron app automation skill: - Automate native Electron desktop apps (like VS Code, Slack, Discord, Figma, Notion, Spotify) using agent-browser via Chrome DevTools Protocol (CDP) - Includes step-by-step instructions for launching apps with debugging enabled on macOS, Linux, and Windows - Supports snapshotting, interacting, extracting data, filling forms, and taking screenshots in Electron apps - Allows control of multiple apps and windows/webviews simultaneously - Provides troubleshooting guidance and common automation patterns
Metadata
Slug daxiang-electron
Version 1.0.0
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 1
Frequently Asked Questions

What is Daxiang Electron?

Automate Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify, etc.) using agent-browser via Chrome DevTools Protocol. Use when the user ne... It is an AI Agent Skill for Claude Code / OpenClaw, with 86 downloads so far.

How do I install Daxiang Electron?

Run "/install daxiang-electron" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Daxiang Electron free?

Yes, Daxiang Electron is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Daxiang Electron support?

Daxiang Electron is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Daxiang Electron?

It is built and maintained by daxiangnaoyang (@daxiangnaoyang); the current version is v1.0.0.

💬 Comments