Agent skill

Electron Drive Skill

by sickn33 in sickn33/agentic-awesome-skills

Launch the project's Electron app on a scratch profile and drive it: click, type, screenshot, run renderer or main-process code, read logs.

MITAuto-check passedTesting & QA

Install Electron Drive Skill

skills CLI
$ npx skills add sickn33/agentic-awesome-skills --skill electron-drive-skill -a claude-code

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

GitHub CLI
$ gh skill install sickn33/agentic-awesome-skills electron-drive-skill --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/sickn33/agentic-awesome-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/electron-drive-skill .claude/skills/electron-drive-skill && 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-drive-skill
GitHub stars
47k
Used in
1 other repo
Token cost
~2.5k tokens
SKILL.md length
1,215 words
Files
9 (incl. scripts)
Skills in repo
1,493
Repo updated
First seen
Licence
MIT

At a glance

Launch the project's Electron app on a scratch profile and drive it: click, type, screenshot, run renderer or main-process code, read logs.

  • Works in 5 steps: Check prerequisites → Start, look, act, stop → Run code in the app → …
  • Verify UI changes end to end
  • SKILL.md covers Overview, When to Use This Skill, How It Works and Examples, plus 5 more sections
  • Runs JavaScript scripts from its folder; calls yarn and node

What it does

Electron Drive Skill is an agent skill from sickn33/agentic-awesome-skills. Launch the project's Electron app on a scratch profile and drive it: click, type, screenshot, run renderer or main-process code, read logs. Use to verify UI changes end to end.

Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files, including scripts (for example `README.md` and `package.json`).

It sits in Testing & QA. It works with Electron and Playwright. The repository describes itself as: AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and planning, backed by 2,400+ agentic skills. Includes… The licence is MIT.

When your agent uses it

  • Verify UI changes end to end

Example prompts

  • “/electron-drive-skill”

Requirements

  • Node.js

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Check prerequisites
  2. Start, look, act, stop
  3. Run code in the app
  4. Configure the launch (optional)
  5. Dev mode (optional)

What it can do on your machine

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

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 4 files in scripts/ (JavaScript), which the agent can run.

    Shell commands in SKILL.md call:

    • yarn
    • node

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

  • Network

    No URLs in SKILL.md. Its commands use yarn, which can reach the network depending on how they are called.

    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 Drive Skill loads about 2.5k tokens when it runs. Until then it costs about 49 tokens; SKILL.md has 1,215 words of instructions outside code blocks.

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

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); the scripts in this folder are not scanned.

SKILL.md

The full file from sickn33/agentic-awesome-skills at commit 680176d, republished under its MIT licence (© sickn33). 1,215 words, ~2,472 tokens.

Download SKILL.mdSave it as .claude/skills/electron-drive-skill/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.
name
electron-drive-skill
description
Launch the project's Electron app on a scratch profile and drive it: click, type, screenshot, run renderer or main-process code, read logs. Use to verify UI changes end to end.
category
testing
risk
critical
source
community
source_repo
Search-3D/electron-drive-skill
source_type
community
date_added
2026-09-23
author
Search-3D
tags
electron, playwright, desktop, e2e, testing, automation
tools
claude
license
MIT

Driving the Electron app

Overview

scripts/drive.mjs launches the project's Electron app under Playwright in a background daemon and keeps it running between commands, so each action (click, type, snapshot, screenshot, eval) is one fast shell call. Every launch uses a scratch profile, so the agent can check a UI change or reproduce a bug in the real app, not only in unit tests, without touching the user's data.

When to Use This Skill

  • Use when you need to verify a UI change in the running Electron app.
  • Use when reproducing a renderer or startup bug, or a failure that only shows up in the production build (for example a stricter CSP).
  • Use when checking first-run, onboarding or settings screens.
  • Use when exercising a feature end to end, including IPC through the preload bridge or code in the main process.
  • Do not use it for web apps without Electron, or for multi-window flows (see Limitations).

How It Works

Step 1: Check prerequisites

scripts/drive.mjs, in this skill's directory, finds the project by the nearest package.json, so run it from anywhere inside the project. Set DR to its absolute path.

It needs electron and playwright-core (1.49 or later) installed in the project. If start says either is missing, tell the user rather than installing it yourself. Launch settings come from drive.config.json at the project root (see Step 4); with no file, it runs electron ..

Step 2: Start, look, act, stop
bash
DR=<this skill's directory>/scripts/drive.mjs

$DR start                  # last build, profile 'default'; prints status
$DR snapshot               # accessibility tree: find what to click, by role and name
$DR click 'role=button[name="Get started"]'
$DR fill 'role=textbox[name="Email"]' 'test@example.com'
$DR wait 'text=Welcome'
$DR screenshot             # prints a PNG path; Read it to see the window
$DR logs --lines 80        # main and renderer console, plus the config's logFile
$DR stop                   # ALWAYS, before finishing
  • Start options:
    • --build: run the config's build command first. Needed after any source change if the app runs from a build, because the build is otherwise stale; start prints its age.
    • --fresh: wipe the scratch profile, which gives you the app's first-run state.
    • --profile <name>: a separate scratch profile.
    • --dev: see Step 5.
  • Targets are Playwright selectors. Prefer role=button[name="…"] from snapshot output, then text=…, then CSS.
  • -- ends the flags. Put it before text that starts with dashes: $DR fill 'role=textbox[name="Args"]' -- --verbose.
  • Other commands: select <target> <value|label>, press <key>, status, screenshot --selector <css>. $DR help lists everything.
Step 3: Run code in the app

eval <js> runs in the renderer, main <js> in the main process (electron and process are in scope, require is not). Use a bare expression, or a body with return. - reads the code from stdin, which avoids quoting entirely. The result comes back as JSON, so return plain data: a DOM node or a function comes back as undefined or {}.

To exercise IPC, call whatever the app's preload exposes through eval. That goes through the real preload bridge, as the app's own renderer code does.

Step 4: Configure the launch (optional)

drive.config.json at the project root; every field is optional:

json
{
  "build": "npm run build",
  "args": ["."],
  "env": { "APP_DATA_DIR": "{profile}/data" },
  "logFile": "logs/main.log",
  "dev": {
    "args": ["."],
    "env": { "ELECTRON_RENDERER_URL": "http://localhost:5173" },
    "url": "http://localhost:5173"
  }
}
  • args: what Electron is launched with: an app directory whose package.json main is the built entry point, or the entry file itself.
  • env: added to the app's environment. {profile} becomes the scratch profile directory (in env values only, not in args). This is how data kept outside userData is redirected: APP_DATA_DIR is only an example name, and it has an effect only if the app reads it. Check the app's source for the variable it actually uses.
  • logFile: a log file relative to the profile directory, shown by logs.

If a project has no config and start fails or launches the wrong thing, work out these values from the project's package.json and build setup, then suggest a drive.config.json to the user.

Step 5: Dev mode (optional)

For a fast loop on renderer code, with hot reload and source maps:

  1. The user (or a background Bash call) starts the renderer dev server without its own Electron. Many templates' start/dev scripts launch Electron too, and two instances would share state. The config's dev.url is checked before launch.
  2. $DR start --dev launches Electron with dev.args and dev.env, and NODE_ENV=development.

Examples

Example 1: Verify a change to the first-run screen
bash
$DR start --build --fresh
$DR snapshot
$DR click 'role=button[name=/Next/]'
$DR screenshot
$DR logs --lines 40
$DR stop
Example 2: Inspect renderer state and call IPC
bash
echo "return document.querySelectorAll('button').length" | $DR eval -
$DR eval "window.api.getSettings()"
Example 3: Query the main process
bash
$DR main "electron.app.getVersion()"
$DR main "electron.BrowserWindow.getAllWindows().length"

Best Practices

  • ✅ Look before acting. Take a snapshot or screenshot first. The same profile can open differently on a second launch (past the first-run screens), and a click that times out usually means the screen is not what you assumed.
  • ✅ Check logs for [renderer:error] and [renderer:pageerror] after each step.
  • ✅ Prefer the production build. It catches failures that only show up there, such as a stricter Content-Security-Policy, which the dev server would miss.
  • ✅ Always stop, including after a failure. stop reports how the app went down; anything but "quit via app.quit()" (a hung quit, a SIGKILL) is worth a line in your report.
  • ❌ Don't use the npm/yarn script wrappers (e.g. yarn drive). Run the script directly. yarn 1 re-splits arguments and drops inner quotes, which silently breaks most JavaScript passed to eval and main.
  • ❌ Don't install electron or playwright-core yourself; ask the user.
Show full SKILL.md (421 more words)Show less

Limitations

  • One window. Commands act on the first window that is not DevTools, and there is no way to pick another. status shows which window that is; a splash screen is current until it closes.
  • One app at a time per project. start refuses while one is running.
  • Windows: run it as node scripts/drive.mjs. The process-tree kill that stop falls back to is POSIX only.
  • Requires electron and playwright-core 1.49+ in the project, and Node.js 18+.
  • It does not replace the project's own test suite or a human check of visual design. Stop and ask if the launch settings or data locations are unclear.

Security & Safety Notes

  • Local-only. The daemon listens on 127.0.0.1 with a random per-session token. Nothing is sent to third-party services.
  • Never point it at the user's real data. Every launch gets --user-data-dir set to a scratch profile under $TMPDIR/electron-drive/<project>/profiles/<name>, which moves app.getPath('userData'). Data the app keeps elsewhere (a documents folder, a path from an env var) is only redirected if drive.config.json sets it through env. Check that before doing anything that writes data. If the app would touch real user files, stop and tell the user.
  • eval and main run arbitrary code with the app's privileges; the main process has full Node.js access. Only run code needed for the task, and never code that deletes files or makes network calls outside the app's normal behavior without the user's confirmation.
  • start --build runs the build command from drive.config.json in a shell. Read the config before the first --build in a project you did not set up.
  • --fresh deletes the scratch profile directory only, never the app's real userData.

Common Pitfalls

  • Problem: start fails. Solution: Read the daemon log it prints. Common causes are a missing build (--build), electron or playwright-core not installed, or wrong args.
  • Problem: "The app is not running". Solution: It crashed or quit. Run logs, then stop, then start.
  • Problem: The app shows old behavior after a source change. Solution: The build is stale. Restart with start --build.
  • Problem: A click can't find a button whose name includes icon-font text (such as arrow_forward). Solution: Use a regex name: role=button[name=/Next/].
  • Problem: A stuck state after an interrupted session. Solution: $DR stop cleans up the daemon, the app and the state file, even when the daemon is already gone.
  • @electron-development - For building and packaging the Electron app itself; use this skill to verify the result in the running app.
  • @systematic-debugging - Pair with this skill to reproduce and narrow down a bug in the real app.

© sickn33, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 8 other files (scripts) in skills/electron-drive-skill of sickn33/agentic-awesome-skills.

  • SKILL.md
  • LICENSE
  • README.md
  • drive.config.json.example
  • package.json
  • scripts/daemon.mjs
  • scripts/drive.mjs
  • scripts/lib.mjs
  • scripts/lib.test.mjs

Open the folder on GitHubat commit 680176d

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in sickn33/agentic-awesome-skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Electron Drive Skill 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 Drive Skill compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Electron Drive Skill this skillsickn33/agentic-awesome-skills47k1 repos~2.5kAutomated safety check: PassMIT
Playwright Debugvoicetreelab/voicetree923—~1.2kAutomated safety check: PassCustom licence
Run Freedomsolardev-xyz/freedom-browser163—~1.2kAutomated safety check: PassMPL-2.0
Electron App Screenshotkeybase/client9.3k—~476Automated safety check: PassBSD-3-Clause
Vasu Playwright Utilsvasu31dev/playwright-ts-template139—~4.7kAutomated safety check: NotesNone
Take Screenshotsankitvgupta/exo496—~1.2kAutomated safety check: PassCustom licence

Similar skills

  • Playwright Debug

    voicetreelab/voicetree

    This skill should be used when the user asks to "debug the electron app", "connect playwright to VoiceTree", "take screenshots of the running app", "interact with the live UI", "inspect the running…

    923 GitHub stars~1.2k tokensUpdated 2 days ago
    Testing & QAAuto-check passed
  • Run Freedom

    solardev-xyz/freedom-browser

    Launch and drive the Freedom Electron app headlessly (xvfb + Playwright + the in-process test harness), reach specific UI states, and take screenshots.

    163 GitHub stars~1.2k tokensUpdated today
    Testing & QAAuto-check passed
  • Takes a screenshot of a running Electron desktop app through playwright-cli over remote debugging, shrinks it and shows it so you can check the UI visually.

    9.3k GitHub stars~476 tokensUpdated yesterday
    Testing & QAAuto-check passed
  • Vasu Playwright Utils

    vasu31dev/playwright-ts-template

    Use the vasu-playwright-utils library for Playwright browser automation with simplified action, assertion, locator, element, page, and API utilities.

    139 GitHub stars~4.7k tokensUpdated 6 mo ago
    Testing & QAAuto-check: notes
  • Take Screenshots

    ankitvgupta/exo

    Capture screenshots of the Exo Electron app workflows using Playwright in demo mode.

    496 GitHub stars~1.2k tokensUpdated 1 mo ago
    Testing & QAAuto-check passed
  • Test Electron App

    PostHog/code

    Official

    Drive the real running PostHog Electron app (live tRPC, workspace-server, real data) over CDP with agent-browser.

    179 GitHub stars~2.9k tokensUpdated 2 mo ago
    Testing & QAAuto-check passed

More from sickn33/agentic-awesome-skills

All 1,493 skills in this repo
  • Liuguang Banlan UI

    sickn33/agentic-awesome-skills

    Implements an interface in one of two named color modes, iridescent white or colorful black, from a parameterized starter that reports measured color intensity.

    47k GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • User Thoughts Memory

    sickn33/agentic-awesome-skills

    Saves a user's project decisions, rules and preferences into a project-local mdbase so later sessions and other agents can recover the intent.

    47k GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • Using LWC Memory and Graphs

    sickn33/agentic-awesome-skills

    Keeps project decisions, research and verified results available across coding-agent sessions through LWC memory, a document Wiki graph and a CodeGraph code index.

    47k GitHub starsUsed in 1 repo~2k tokens
    Auto-check passed
  • Find Complementary Founders

    sickn33/agentic-awesome-skills

    Guides an agent through assessing its own owner for cofounder fit, publishing an approved profile, and ranking complementary profiles other agents published for their owners.

    47k GitHub starsUsed in 1 repo~4.8k tokens
    Auto-check passed
  • Whatsapp Cloud API

    sickn33/agentic-awesome-skills

    Integracao com WhatsApp Business Cloud API (Meta). An agent skill from sickn33/agentic-awesome-skills.

    47k GitHub starsUsed in 2 repos~4.5k tokens
    Auto-check passed
  • Cline Pilot

    sickn33/agentic-awesome-skills

    Acts as a proxy for the Cline CLI, dispatching coding tasks one at a time, monitoring runs by hard evidence, relaying decisions to you and learning per-project preferences.

    47k GitHub starsUsed in 1 repo~4.6k tokens
    Auto-check passed

Categories

Questions about Electron Drive Skill

What does Electron Drive Skill do?

Launch the project's Electron app on a scratch profile and drive it: click, type, screenshot, run renderer or main-process code, read logs. Electron Drive Skill is an agent skill from sickn33/agentic-awesome-skills. Launch the project's Electron app on a scratch profile and drive it: click, type, screenshot, run renderer or main-process code, read logs.

When should I use Electron Drive Skill?

Electron Drive Skill fits situations like: verify UI changes end to end.

How do I install Electron Drive Skill in Claude Code?

Run `npx skills add sickn33/agentic-awesome-skills --skill electron-drive-skill -a claude-code`. Or copy the skill folder (skills/electron-drive-skill in sickn33/agentic-awesome-skills) into .claude/skills/electron-drive-skill in your project. Claude Code loads it when a task matches its description.

How do I install Electron Drive Skill in Codex?

Run `npx skills add sickn33/agentic-awesome-skills --skill electron-drive-skill -a codex`. Or copy the skill folder (skills/electron-drive-skill in sickn33/agentic-awesome-skills) into .agents/skills/electron-drive-skill in your project. Codex loads it when a task matches its description.

Can I use Electron Drive Skill 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 sickn33/agentic-awesome-skills --skill electron-drive-skill -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-drive-skill, .gemini/skills/electron-drive-skill, .github/skills/electron-drive-skill and .opencode/skills/electron-drive-skill in your project.

What does Electron Drive Skill need to run?

Going by SKILL.md and its folder, Electron Drive Skill needs JavaScript for the scripts in its folder and the command-line tools its instructions call (yarn and node). Our summary lists: Node.js.

Does Electron Drive Skill 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 Drive Skill 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Electron Drive Skill use?

Electron Drive Skill is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Electron Drive Skill use?

About 2.5k tokens (SKILL.md is roughly 9.9k 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 Drive Skill?

Skills that share tags, products or a category with Electron Drive Skill: Playwright Debug (voicetreelab/voicetree, 923 stars), Run Freedom (solardev-xyz/freedom-browser, 163 stars), Electron App Screenshot (keybase/client, 9.3k stars) and Vasu Playwright Utils (vasu31dev/playwright-ts-template, 139 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Electron Drive Skill?

sickn33 (a GitHub user) maintains it in sickn33/agentic-awesome-skills, which has 47,379 GitHub stars. The repository holds 1,493 skills in this directory. The repository was last updated on October 9, 2026.

Source: sickn33/agentic-awesome-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.