control-ui — Claude Code skill: what it does, how to install
Inspects and tests local web, IDE, or Electron interfaces via browser automation and CDP. Captures screenshots, traces, and verifies UI changes without extra dependencies.
npx skills add cursor/plugins --skill control-ui -a claude-codeWhat control-ui does
The skill drives and verifies local web apps, IDEs, and Electron interfaces using local browser automation or CDP. It first looks for existing Playwright or Cypress setups in the workspace. If none exist, it runs a disposable harness targeting the local dev server or a Chromium remote debugging port.
Interactions follow a strict loop. The agent takes a snapshot, targets a stable accessibility role or data-* attribute, executes a single action, and takes another snapshot to confirm the state change. For Electron apps, it connects over --remote-debugging-port=<port>. Notably, the skill forbids installing Playwright into the project dependencies for a one-off probe unless you explicitly ask for it.
Raw CDP access unlocks heap snapshots, network throttling, CPU profiling, and console streaming. Once verification is done, the agent cleans up active dev servers and temporary browser profiles.
What it helps with
- reproduce UI bugs requiring real browser focus and keyboard input
- capture before-and-after screenshots during visual refactoring
- inspect Electron apps over a Chromium debugging port
- record CPU profiles, heap snapshots, and console errors
Example prompts for the agent
- Spin up the local dev server, click the checkout button, and take a full-page screenshot
- Connect to the Electron app over CDP and take a heap snapshot to check for memory leaks
How to install control-ui
1Skills CLI (Vercel)
npx skills add cursor/plugins --skill control-ui -a claude-code2Manually: put the files in place
~/.claude/skills/control-ui/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/control-ui/
1Skills CLI (Vercel)
npx skills add cursor/plugins --skill control-ui -a codex2Manually: put the files in place
.agents/skills/control-ui/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add cursor/plugins --skill control-ui -a cursor2Manually: put the files in place
.cursor/skills/control-ui/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install cursor/plugins control-ui2Manually: put the files in place
.github/skills/control-ui/SKILL.md1Skills CLI (Vercel)
npx skills add cursor/plugins --skill control-ui -a gemini-cli2Platform CLI
gemini skills install https://github.com/cursor/plugins --path cursor-team-kit/skills/control-uiManually: put the files in place
.devin/skills/control-ui/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add cursor/plugins --skill control-ui -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set18
The whole set →Similar
Questions about control-ui
How to install control-ui in Claude Code?
Run npx skills add cursor/plugins --skill control-ui -a claude-code. Alternatively, put the file at ~/.claude/skills/control-ui/SKILL.md.
What does the control-ui skill do?
It sets up local browser automation to inspect UI behavior, capture visual diffs, and collect CDP performance profiles.
Will this skill add new packages to package.json?
No. Its guardrails explicitly forbid adding Playwright as a project dependency unless you specifically ask for it.