desktop-control

Automate mouse, keyboard, and screen reading on macOS via pyautogui and AppleScript.

2|1|Updated Feb 5, 2026
One-click install
npx skills add https://github.com/dalehurley/phpbot --skill desktop-control
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: desktop-control
Source: https://github.com/dalehurley/phpbot/tree/main/skills/desktop-control
Command: npx skills add https://github.com/dalehurley/phpbot --skill desktop-control

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pyautogui, and includes scripts (resource) components.

What problem does it solve?

Automates desktop interactions to replace repetitive manual GUI work by controlling mouse, keyboard, and screen reading.

Core Features & Use Cases

  • Mouse control: move, click, drag, and scroll to automate UI navigation.
  • Keyboard control: type text, press keys, and execute hotkeys for form filling and shortcuts.
  • Screen reading: read the accessibility tree and extract UI state to guide actions.
  • Use Case: automatically fill a login form by reading the UI and performing the required keystrokes.

Quick Start

Run a sample script to move the mouse to a target position, click, and type text to automate a simple workflow.

Frequently Asked Questions about desktop-control

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate mouse and keyboard inputs on macOS?

You can automate mouse and keyboard inputs on macOS using bundled Python scripts based on pyautogui. The scripts control mouse movements, clicks, scrolling, and keystrokes to replace repetitive manual GUI work.

Can I read the accessibility tree to guide UI workflows on a Mac?

Yes, you can read the macOS accessibility tree to extract UI state and guide automated actions. This allows the workflow to identify controls and screen content before performing clicks or typing text.

Do I need accessibility permissions to automate desktop control tasks?

Yes, macOS requires accessibility permissions to allow automated desktop control. The CLI workflow includes guardrails and permission checks to ensure scripts can properly access the UI and execute pyautogui actions.

What is the best way to automatically fill a login form using desktop automation?

The best way to automatically fill a login form is by reading the UI accessibility tree to locate fields, then using keyboard control to type text and execute required keystrokes for submission.

Does pyautogui support screen reading and UI state extraction for automation?

Pyautogui handles mouse and keyboard control, while the scripts also leverage AppleScript UI access to read the accessibility tree. This combination enables screen reading and UI state extraction to guide workflows.

What are the limitations of using desktop automation for GUI workflows?

Limitations include requiring explicit accessibility permissions and relying on the stability of the UI layout. If interface elements shift unexpectedly, the pyautogui-based mouse and keyboard coordinates may fail.