skills/linux-ui-automation/SKILL.md
Automate Linux desktop UI using xdotool and xclip. Simulate keyboard/mouse input, control windows, manage clipboard, and automate GUI applications. Use when a user asks FRIDAY to click, type, control windows, or automate UI on Linux.
npx skillsauth add balaraj74/f.r.i.d.a.y linux-ui-automationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use xdotool, wmctrl, and xclip to automate Linux desktop UI. This is a Linux alternative to macOS Peekaboo automation features.
Install required tools:
sudo apt-get install -y xdotool xclip wmctrl xwininfo
xdotool type "Hello World"
xdotool type --delay 50 "Hello World"
xdotool key Return
xdotool key Escape
xdotool key Tab
xdotool key BackSpace
xdotool key ctrl+c
xdotool key ctrl+v
xdotool key ctrl+shift+t
xdotool key alt+F4
xdotool key super
xdotool keydown shift
xdotool type "hello"
xdotool keyup shift
xdotool mousemove 500 300
xdotool mousemove_relative 100 50
xdotool click 1 # Left click
xdotool click 2 # Middle click
xdotool click 3 # Right click
xdotool click --repeat 2 --delay 50 1
xdotool mousemove 500 300 click 1
xdotool mousemove 100 100
xdotool mousedown 1
xdotool mousemove 500 500
xdotool mouseup 1
xdotool click 4 # Scroll up
xdotool click 5 # Scroll down
xdotool click --repeat 5 --delay 50 5 # Scroll down 5 times
xdotool getactivewindow
xdotool search --name "Firefox" windowactivate
xdotool search --class "code" windowactivate
wmctrl -l
wmctrl -a "Visual Studio Code"
xdotool getactivewindow windowminimize
wmctrl -r :ACTIVE: -b toggle,maximized_vert,maximized_horz
xdotool getactivewindow windowmove 100 100
xdotool getactivewindow windowsize 800 600
xdotool getactivewindow windowclose
wmctrl -a "Firefox"
echo "Hello World" | xclip -selection clipboard
xclip -selection clipboard -o
cat file.txt | xclip -selection clipboard
xclip -selection clipboard -t image/png -i image.png
xclip -selection primary -o
xdotool exec firefox
xdotool exec --sync firefox
xdotool getactivewindow getwindowpid
xdotool getactivewindow getwindowpid | xargs kill
xdotool key ctrl+alt+t
sleep 1
xdotool type "ls -la"
xdotool key Return
xdotool key ctrl+c
sleep 0.1
xclip -selection clipboard -o
echo "Text to paste" | xclip -selection clipboard
xdotool key ctrl+v
xdotool search --name "Slack" windowactivate
sleep 0.5
xdotool type "Hello team!"
xdotool key Return
xdotool search --sync --name "Firefox"
xdotool search --sync --name "Dialog" windowactivate
xdotool getactivewindow getwindowgeometry
xdotool getactivewindow getwindowname
xdotool search --name "Code"
xdotool getdisplaygeometry
xdotool getmouselocation
ydotool instead.--sync flag to wait for windows.development
Get current weather and forecasts (no API key required).
tools
Send WhatsApp messages to other people or search/sync WhatsApp history via the wacli CLI (not for normal user chats).
tools
Control VS Code from the terminal. Open files, run commands, manage extensions, use the integrated terminal, interact with Copilot, and automate editor tasks. Use when a user asks FRIDAY to work with VS Code, edit files, or run VS Code commands.
tools
Start voice calls via the FRIDAY voice-call plugin.