Orgo Desktop Control Skill (Python SDK)
name: orgo-desktop-control
by cohenyehonatan · published 2026-03-22
$ claw add gh:cohenyehonatan/cohenyehonatan-orgo-desktop-control---
name: orgo-desktop-control
description: Provision and control Orgo cloud computers using the orgo_client Python SDK. Use when launching remote desktops, automating browsers, running bash/python remotely, interacting with UI, managing files, or controlling streaming.
compatibility: Requires internet access and ORGO_API_KEY.
metadata:
author: custom
version: "1.0.0"
---
# Orgo Desktop Control Skill (Python SDK)
This skill uses `orgo_client.py` to create and control Orgo cloud computers safely.
Always use the SDK — do NOT manually construct HTTP requests.
---
# When to Use This Skill
Activate when user requests:
Do NOT activate for local-only code.
---
# High-Level Workflow
1. Instantiate client
2. Ensure workspace exists
3. Create computer
4. `wait_until_ready()`
5. Perform actions
6. Export results
7. Stop computer
---
# Initialization
from orgo_client import OrgoClient
client = OrgoClient(api_key=os.environ["ORGO_API_KEY"])---
# Workspace Management
Create:
ws = client.create_workspace("browser-agent")List:
client.list_workspaces()Delete (requires force):
client.delete_workspace(ws.id, force=True)Never delete without explicit user confirmation.
---
# Computer Lifecycle
Create:
computer = client.create_computer(
workspace_id=ws.id,
name="agent-1",
ram=4,
cpu=2,
wait_until_ready=True
)Manual wait:
computer.start()
computer.stop()
computer.restart()Start / Stop / Restart:
computer.start()
computer.stop()
computer.restart()Delete (irreversible):
computer.delete(force=True)Always stop computers when idle.
---
# UI Interaction
Click:
computer.click(100, 200)Right-click:
computer.right_click(100, 200)Double-click:
computer.double_click(100, 200)Drag:
computer.drag(100, 200, 400, 500)Scroll:
computer.scroll("down", amount=3)Type:
computer.type("Hello world")Key:
computer.key("Enter")
computer.key("ctrl+c")Wait:
computer.wait(2.0)---
# Screenshots
img_b64 = computer.screenshot()Save to file:
computer.save_screenshot("screen.png")---
# Execution
Bash:
result = computer.run_bash("ls -la")
print(result.output)Python:
result = computer.run_python("print('hi')")Errors raise OrgoError subclasses automatically.
---
# Streaming
Start:
computer.stream_start("my-rtmp-connection")Status:
computer.stream_status()Stop:
computer.stream_stop()---
# VNC
password = computer.vnc_password()---
# Files
Upload:
client.upload_file("local.txt", ws.id, computer_id=computer.id)Export from VM:
file_record, url = computer.export_file("Desktop/output.txt")List:
computer.list_files(ws.id)Delete:
client.delete_file(file_id)---
# Error Handling
All errors raise typed exceptions:
* OrgoAuthError
* OrgoForbiddenError
* OrgoNotFoundError
* OrgoBadRequestError
* OrgoServerError
* OrgoTimeoutError
* OrgoConfirmationError
Always handle destructive confirmations explicitly.
# Recommended Automation Loop
For UI tasks:
1. screenshot()
2. analyze state
3. click / type / drag
4. wait()
5. screenshot()
6. repeat
Never assume UI state.
---
# Efficiency Rules
* Use minimal RAM/CPU
* Stop instead of delete if continuing later
* Use wait_until_ready() instead of manual polling
* Avoid unnecessary screenshots
* Prefer run_bash over UI when possible
---
# End of Skill
More tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...