
Computer Control
- 107 installs
- 325 repo stars
- Updated August 2, 2026
- athola/claude-night-market
Run Claude Computer Use against a real or virtual display when a workflow has no API and you need screenshot-driven GUI automation with explicit opt-in.
About
Computer Control is an agent skill for athola’s phantom stack that connects Claude’s Computer Use API to desktop environments through screenshots and mouse or keyboard actions. Solo builders reach for it when a vendor portal, legacy desktop app, or visual-only flow blocks normal scripting—filling forms, walking menus, or recording tutorial steps that need pixel-level confirmation. The skill is deliberately opt-in because it captures the display and drives cross-process input; inclusive-defaults treat that as a TRUE exception that must never run silently. Architecturally, display tooling executes OS actions, the agent loop mediates API rounds, and the CLI surfaces task runs and environment checks. Intermediate complexity: you need a Linux-friendly display setup (xdotool/scrot path), comfort delegating GUI steps to an agent, and judgment to fall back to Playwright when the target is a modern browser tab alone.
- Three-layer stack: phantom.display (xdotool/scrot), phantom.loop (API conversation cycle), phantom.cli (tasks and readin
- Explicit opt-in per inclusive-defaults: screenshots and synthesized input are never default-on
- Targets GUI workflows lacking CLI alternatives with visual verification in the loop
- Documented NOT FOR cases: prefer CLI/API or Playwright/CDP for browser-only automation
- model_hint standard for routine computer-use tasks
Computer Control by the numbers
- 107 all-time installs (skills.sh)
- Ranked #761 of 2,715 Automation & Workflows skills by installs in the Skillselion catalog
- Security screen: HIGH risk (skills.sh audit)
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/athola/claude-night-market --skill computer-controlAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 107 |
|---|---|
| repo stars | ★ 325 |
| Security audit | 2 / 3 scanners passed |
| Last updated | August 2, 2026 |
| Repository | athola/claude-night-market ↗ |
What it does
Run Claude Computer Use against a real or virtual display when a workflow has no API and you need screenshot-driven GUI automation with explicit opt-in.
Files
Computer Control Skill
Use Claude's Computer Use API to see and control desktop environments through screenshots and mouse/keyboard actions.
When To Use
- Automating GUI-based workflows that lack CLI alternatives
- Testing web applications through visual interaction
- Filling forms, navigating menus, or interacting with desktop apps
- Building automation pipelines that need visual verification
When NOT To Use
- Tasks achievable through CLI or API (no GUI needed)
- Browser automation better served by Playwright or CDP
Why this stays opt-in. Per
[docs/inclusive-defaults.md][inc] (TRUE-exception
category 4), Computer Use takes screenshots and
synthesizes keyboard/mouse input: cross-process side
effects that must always be explicitly invoked, never
default-on.
[inc]: ../../../../docs/inclusive-defaults.md
Architecture
The computer use system has three layers:
1. Display Toolkit (phantom.display) - executes OS-level actions via xdotool/scrot on the real or virtual display 2. Agent Loop (phantom.loop) - manages the conversation cycle between Claude API and the display toolkit 3. CLI (phantom.cli) - command-line interface for running tasks or checking environment readiness
User Task
|
v
Agent Loop <----> Claude API (beta)
| |
v v
Display Toolkit tool_use responses
| (click, type, screenshot)
v
OS Commands (xdotool, scrot)
|
v
Display (X11 / Xvfb / WSLg)Quick Start
Check environment
cd plugins/phantom
uv run python -m phantom.cli --checkRun a task
export ANTHROPIC_API_KEY="sk-ant-..."
uv run python -m phantom.cli "Open Firefox and search for Claude AI"Use in Python
from phantom.display import DisplayConfig, DisplayToolkit
from phantom.loop import LoopConfig, run_loop
result = run_loop(
task="Take a screenshot of the desktop",
api_key="sk-ant-...",
loop_config=LoopConfig(
model="claude-sonnet-4-6",
max_iterations=10,
),
display_config=DisplayConfig(width=1920, height=1080),
)
print(f"Done in {result.iterations} iterations")
print(result.final_text)API Versions
| Model | Tool Version | Beta Flag |
|---|---|---|
| Opus 4.6, Sonnet 4.6, Opus 4.5 | computer_20251124 | computer-use-2025-11-24 |
| Sonnet 4.5, Haiku 4.5, older | computer_20250124 | computer-use-2025-01-24 |
The resolve_tool_version() function handles this mapping automatically based on the model name.
Available Actions
All versions:
screenshot- capture displayleft_click- click at[x, y]type- type text stringkey- press key combo (e.g.,ctrl+s)mouse_move- move cursor
Enhanced (20250124+):
scroll- scroll with direction and amountleft_click_drag- drag between coordinatesright_click,middle_click,double_click,triple_clickhold_key- hold key for durationwait- pause between actions
Latest (20251124):
zoom- inspect screen region at full resolution
Safety
Computer use carries risks. Follow these guidelines:
1. Use a sandbox: Run in Docker or a VM, not your main OS 2. Limit access: Do not provide login credentials unless necessary, and never for banking or sensitive services 3. Set iteration caps: Always use max_iterations to prevent runaway API costs 4. Human approval: For actions with real-world consequences, add confirmation callbacks via on_action 5. Close sensitive apps: Claude sees the full screen via screenshots; close anything private before starting
Environment Requirements
Linux (native or WSL2 with WSLg):
sudo apt install xdotool scrot xclipHeadless (Docker/CI):
# Install Xvfb for virtual display
sudo apt install xvfb xdotool scrot xclip
Xvfb :1 -screen 0 1920x1080x24 &
export DISPLAY=:1Prompting Tips
1. Be specific about each step of the task 2. Add "After each step, take a screenshot and verify" to catch mistakes early 3. Use keyboard shortcuts when UI elements are hard to click 4. Provide example screenshots for repeatable workflows 5. Set a system prompt with domain-specific instructions
Exit Criteria
- [ ]
uv run python -m phantom.cli --checkexits 0 before any
task is launched; if it fails, required OS tools (xdotool, scrot, xclip) are installed or Xvfb is started before proceeding
- [ ]
max_iterationsset on everyrun_loop()call; no task
launched without an explicit iteration cap to prevent runaway API costs
- [ ] Final result includes
result.iterationscount and
result.final_text confirming the task outcome; empty final_text treated as failure, not success
- [ ] Sensitive applications (password managers, banking, private
files) closed before task starts; task prompt does not contain raw credentials
Related skills
FAQ
Is Computer Control safe to install?
skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.