Evidence-Driven Testing
michaelshimeles/skills
Records an annotated screen recording of the agent testing an app hands-on, then posts the video and a results summary to the PR and tracker issue.
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.
$ npx skills add keybase/client --skill electron-screenshot -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install keybase/client electron-screenshot --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/keybase/client.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skill/electron-screenshot .claude/skills/electron-screenshot && rm -rf skills-srcUse ~/.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/
Install the "electron-screenshot" agent skill from https://github.com/keybase/client/tree/master/skill/electron-screenshot into .claude/skills/electron-screenshot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "electron-screenshot", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/keybase/client/tree/master/skill/electron-screenshotType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add keybase/client --skill electron-screenshot -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install keybase/client electron-screenshot --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/keybase/client.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skill/electron-screenshot .agents/skills/electron-screenshot && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "electron-screenshot" agent skill from https://github.com/keybase/client/tree/master/skill/electron-screenshot into .agents/skills/electron-screenshot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "electron-screenshot", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add keybase/client --skill electron-screenshot -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install keybase/client electron-screenshot --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/keybase/client.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skill/electron-screenshot .cursor/skills/electron-screenshot && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "electron-screenshot" agent skill from https://github.com/keybase/client/tree/master/skill/electron-screenshot into .cursor/skills/electron-screenshot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "electron-screenshot", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/keybase/client.git --path skill/electron-screenshot--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add keybase/client --skill electron-screenshot -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install keybase/client electron-screenshot --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/keybase/client.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skill/electron-screenshot .gemini/skills/electron-screenshot && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "electron-screenshot" agent skill from https://github.com/keybase/client/tree/master/skill/electron-screenshot into .gemini/skills/electron-screenshot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "electron-screenshot", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install keybase/client electron-screenshotInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add keybase/client --skill electron-screenshot -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/keybase/client.git skills-src && mkdir -p .github/skills && cp -r skills-src/skill/electron-screenshot .github/skills/electron-screenshot && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "electron-screenshot" agent skill from https://github.com/keybase/client/tree/master/skill/electron-screenshot into .github/skills/electron-screenshot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "electron-screenshot", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add keybase/client --skill electron-screenshot -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install keybase/client electron-screenshot --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/keybase/client.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skill/electron-screenshot .opencode/skills/electron-screenshot && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "electron-screenshot" agent skill from https://github.com/keybase/client/tree/master/skill/electron-screenshot into .opencode/skills/electron-screenshot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "electron-screenshot", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
electron-screenshotTakes 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.
The skill attaches playwright-cli to an Electron app that was started with remote debugging on port 9222, using the KB_ENABLE_REMOTE_DEBUG flag in the project's desktop start command. It selects the main app window by listing the tabs and choosing the one whose URL contains main.html, never reusing a remembered tab index because the order is unstable, and confirms the choice by evaluating the page location.
It then saves a full-size PNG, resizes it to 800 pixels on the longest side with sips to save tokens, and displays it with the Read tool. If the picture shows the menubar or DevTools, it goes back to window selection. If playwright-cli cannot connect it suggests relaunching the app with remote debugging, and if sips fails it shows the full-size image.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 81e93d6. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
yarnFrom the folder's file list and the shell code blocks in SKILL.md.
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.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Electron App Screenshot loads about 476 tokens when it runs. Until then it costs about 60 tokens; SKILL.md has 180 words of instructions outside code blocks.
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.
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.
The full file from keybase/client at commit 81e93d6, republished under its BSD-3-Clause licence (© keybase). 180 words, ~476 tokens.
.claude/skills/electron-screenshot/SKILL.md (or your agent's skills folder).Take a screenshot of the running Electron app with playwright-cli and display it. The playwright-cli skill's "Connecting to the Electron App" section has the details on attaching and tab selection.
The Electron app must be running with remote debugging enabled:
cd shared && KB_ENABLE_REMOTE_DEBUG=1 yarn desktop:start:hotThis launches Electron with --remote-debugging-port=9222.
Attach (once per session; --persistent is required for Electron):
PLAYWRIGHT_MCP_CDP_ENDPOINT=http://localhost:9222 playwright-cli open --persistentSelect the main app window. Tab order is not stable, so never reuse a remembered index: run playwright-cli tab-list, playwright-cli tab-select <index> on the row whose URL contains main.html, and confirm with playwright-cli eval "location.href".
Take the screenshot:
playwright-cli screenshot --filename=/tmp/electron-screenshot-full.pngResize it for token efficiency:
sips -Z 800 /tmp/electron-screenshot-full.png --out /tmp/electron-screenshot.pngUse the Read tool to display /tmp/electron-screenshot.png to the user. If it shows the menubar or DevTools instead of the main window, go back to step 2.
cd shared && KB_ENABLE_REMOTE_DEBUG=1 yarn desktop:start:hot.sips fails, fall back to displaying the full-size screenshot directly.© keybase, BSD-3-Clause. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skill/electron-screenshot of keybase/client.
Open the folder on GitHubat commit 81e93d6
Electron App Screenshot 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Electron App Screenshot this skillkeybase/client | 9.3k | — | ~476 | Automated safety check: Pass | BSD-3-Clause | |
| Evidence-Driven Testingmichaelshimeles/skills | 1.3k | 1 repos | ~3.9k | Automated safety check: Pass | None | |
| Windows QA EngineerCodeAlive-AI/ai-driven-development | 155 | — | ~1.4k | Automated safety check: Pass | MIT | |
| Agentic Browser Testingpetrkindlmann/qa-skills | 163 | — | ~4.5k | Automated safety check: Pass | MIT | |
| Parallels macOS VM Labsteipete/agent-scripts | 7.3k | — | ~1.8k | Automated safety check: Pass | MIT | |
| OpenWork Electron Browser Automationdifferent-ai/openwork | 24k | — | ~780 | Automated safety check: Pass | Custom licence |
michaelshimeles/skills
Records an annotated screen recording of the agent testing an app hands-on, then posts the video and a results summary to the PR and tracker issue.
CodeAlive-AI/ai-driven-development
A skill your agent uses when testing Windows 11 desktop apps (WinForms/WPF/UWP) via UFO UIA/Win32 automation MCP.
petrkindlmann/qa-skills
Goal-driven E2E testing where a browser agent (Playwright MCP / computer-use) reads a natural-language goal and explores the app via the accessibility tree to assert outcomes — no pre-written script.
steipete/agent-scripts
Uses a clean Parallels macOS VM to test GUI automation, TCC permission prompts and screenshot tools like Peekaboo, verifying results from outside the guest.
different-ai/openwork
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.
mikker/steve
Use the steve CLI to automate macOS apps via Accessibility APIs.
keybase/client
Analyzes V8, Chrome and Electron .heapsnapshot files with Node scripts to find memory leaks, detached DOM nodes and the retainer paths that keep objects alive.
keybase/client
Analyzes Chrome or Electron DevTools Performance trace exports with Python scripts to find where render time actually goes, without opening DevTools.
keybase/client
Captures a clean Keybase service log and analyzes it for redundant, duplicated or looping RPCs, then checks whether a caching fix reduced the calls.
keybase/client
Parses a React DevTools Profiler JSON export with Python scripts to find re-render storms, commit fan-out and why a component rendered, without opening the DevTools UI.
keybase/client
Fetches GitHub Copilot review feedback from inline threads and review bodies, checks each finding against the code and fixes the valid ones.
keybase/client
Guides writing and fixing end-to-end flow tests for the Keybase app on desktop with Playwright and on iOS with Appium and WebdriverIO, sharing one testID registry.
Works with
Categories
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. The skill attaches playwright-cli to an Electron app that was started with remote debugging on port 9222, using the KB_ENABLE_REMOTE_DEBUG flag in the project's desktop start command.html, never reusing a remembered tab index because the order is unstable, and confirms the choice by evaluating the page location.
Electron App Screenshot fits situations like: taking a screenshot of the running Electron app to check the desktop UI; showing what the desktop app currently looks like; verifying a visual change in the Electron client after an edit.
Run `npx skills add keybase/client --skill electron-screenshot -a claude-code`. Or copy the skill folder (skill/electron-screenshot in keybase/client) into .claude/skills/electron-screenshot in your project. Claude Code loads it when a task matches its description.
Run `npx skills add keybase/client --skill electron-screenshot -a codex`. Or copy the skill folder (skill/electron-screenshot in keybase/client) into .agents/skills/electron-screenshot in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add keybase/client --skill electron-screenshot -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-screenshot, .gemini/skills/electron-screenshot, .github/skills/electron-screenshot and .opencode/skills/electron-screenshot in your project.
Going by SKILL.md and its folder, Electron App Screenshot needs the command-line tools its instructions call (yarn). Our summary lists: The Electron app running with remote debugging enabled on port 9222; playwright-cli; The sips tool for resizing, with a fallback to the full-size image.
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.
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.
Electron App Screenshot is published under the BSD-3-Clause licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 476 tokens (SKILL.md is roughly 1.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Electron App Screenshot: Evidence-Driven Testing (michaelshimeles/skills, 1.3k stars), Windows QA Engineer (CodeAlive-AI/ai-driven-development, 155 stars), Agentic Browser Testing (petrkindlmann/qa-skills, 163 stars) and Parallels macOS VM Lab (steipete/agent-scripts, 7.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
keybase (a GitHub organization) maintains it in keybase/client, which has 9,257 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 7, 2026.
Source: keybase/client on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.