Local OpenWork Electron browser automation with CDP. Use when driving a local Electron dev app, browser_list, browser_snapshot, browser_eval, composer automation, or local UI smoke tests.
71
86%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
pnpm dev enables Electron CDP by default:
OPENWORK_ELECTRON_REMOTE_DEBUG_PORT=${OPENWORK_ELECTRON_REMOTE_DEBUG_PORT:-9823}The default browser URL for OpenCode browser tools is:
http://127.0.0.1:9823The app UI normally loads at:
http://localhost:5173/To use a different CDP port, launch with an override:
OPENWORK_ELECTRON_REMOTE_DEBUG_PORT=9830 pnpm devTo disable Electron CDP for a run:
OPENWORK_ELECTRON_REMOTE_DEBUG_PORT=0 pnpm devUse a detached launch when the user wants the app running in the background:
nohup pnpm dev > /var/folders/d9/xqhkvsp94rg0n0n523snqztm0000gn/T/opencode/openwork-dev.log 2>&1 &Then wait for the CDP port:
lsof -nP -iTCP:9823 -sTCP:LISTENbrowser_list using browser_url: "http://127.0.0.1:9823".OpenWork target ID.browser_eval or browser_snapshot.[contenteditable="true"][data-lexical-editor="true"].Run task button.document.body.innerText or the current URL.Use this browser_eval pattern after selecting the OpenWork target:
(() => {
const editor = document.querySelector('[contenteditable="true"][data-lexical-editor="true"]');
if (!editor) return { ok: false, reason: 'editor not found' };
editor.focus();
const data = new DataTransfer();
data.setData('text/plain', 'Say hello from the Electron browser test.');
editor.dispatchEvent(new ClipboardEvent('paste', {
bubbles: true,
cancelable: true,
clipboardData: data,
}));
const run = Array.from(document.querySelectorAll('button'))
.find((button) => button.innerText.trim() === 'Run task');
if (!run) return { ok: false, reason: 'Run task not found', inserted };
if (run.disabled) return { ok: false, reason: 'Run task disabled', inserted, text: editor.innerText };
run.click();
return { ok: true, inserted: true, text: editor.innerText };
})()OpenWork target at http://127.0.0.1:9823.Say hello from the Electron browser test. and the expected response is Hello from the Electron browser test.1345d51
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.