Abp App Nolayers
abpframework/abp
ABP Single-Layer (No-Layers / nolayers) application template - single project structure, feature-based file organization, no separate Domain/Application.Contracts projects.
Cross-platform mouse/keyboard automation skill. An agent skill from LeoYeAI/openclaw-master-skills.
$ npx skills add LeoYeAI/openclaw-master-skills --skill openclaw-pyautogui -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills openclaw-pyautogui --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/pyautogui .claude/skills/openclaw-pyautogui && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "openclaw-pyautogui" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/pyautogui into .claude/skills/openclaw-pyautogui/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openclaw-pyautogui", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/pyautoguiType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add LeoYeAI/openclaw-master-skills --skill openclaw-pyautogui -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills openclaw-pyautogui --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/pyautogui .agents/skills/openclaw-pyautogui && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "openclaw-pyautogui" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/pyautogui into .agents/skills/openclaw-pyautogui/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openclaw-pyautogui", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add LeoYeAI/openclaw-master-skills --skill openclaw-pyautogui -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills openclaw-pyautogui --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/pyautogui .cursor/skills/openclaw-pyautogui && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "openclaw-pyautogui" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/pyautogui into .cursor/skills/openclaw-pyautogui/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openclaw-pyautogui", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/LeoYeAI/openclaw-master-skills.git --path skills/pyautogui--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add LeoYeAI/openclaw-master-skills --skill openclaw-pyautogui -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills openclaw-pyautogui --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/pyautogui .gemini/skills/openclaw-pyautogui && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "openclaw-pyautogui" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/pyautogui into .gemini/skills/openclaw-pyautogui/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openclaw-pyautogui", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install LeoYeAI/openclaw-master-skills openclaw-pyautoguiInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add LeoYeAI/openclaw-master-skills --skill openclaw-pyautogui -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/pyautogui .github/skills/openclaw-pyautogui && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "openclaw-pyautogui" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/pyautogui into .github/skills/openclaw-pyautogui/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openclaw-pyautogui", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add LeoYeAI/openclaw-master-skills --skill openclaw-pyautogui -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills openclaw-pyautogui --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/pyautogui .opencode/skills/openclaw-pyautogui && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "openclaw-pyautogui" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/pyautogui into .opencode/skills/openclaw-pyautogui/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openclaw-pyautogui", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
openclaw-pyautoguiCross-platform mouse/keyboard automation skill. An agent skill from LeoYeAI/openclaw-master-skills.
Openclaw Pyautogui is an agent skill from LeoYeAI/openclaw-master-skills. Cross-platform mouse/keyboard automation skill. Supports mouse control (move/click/drag/scroll), keyboard control (key press/hotkeys/type text), screen operations (screenshots/mouse position/screen size), image utilities (metadata/crop), screen overlay markers, drawing markers on images, image locating (template matching + OCR), and file cleanup to free disk space. Activate when the user needs UI automation, screenshots, coordinate verification, image analysis/annotation, on-screen element locating, or cleanup.
Its SKILL.md is about 4.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 13 other files, including scripts and reference files (for example `README.md`, `README_zh.md` and `SKILL_zh.md`).
It sits in Productivity & Automation, covering File organization. The repository describes itself as: 🧠 Curated collection of 1209+ best OpenClaw skills — weekly updated by MyClaw.ai. The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit e5199b5. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 6 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python3pip3pythonpipFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pip3 and pip, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Openclaw Pyautogui loads about 4.7k tokens when it runs, and up to ~4.8k if it reads all its reference files. Until then it costs about 134 tokens; SKILL.md has 1,074 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from LeoYeAI/openclaw-master-skills at commit e5199b5, republished under its MIT licence (© LeoYeAI). 1,074 words, ~4,703 tokens.
.claude/skills/openclaw-pyautogui/SKILL.md (or your agent's skills folder). This skill also uses 11 other files; get the full folder from GitHub.Cross-platform mouse/keyboard automation for Windows, Linux, and macOS.
Activate when the user asks to do things like:
# Mouse/keyboard automation
pip3 install pyautogui
# Image utilities
pip3 install Pillow# Screen size
python3 scripts/keyboard_mouse.py screen_size
# Mouse position
python3 scripts/keyboard_mouse.py mouse_position# Move mouse to (x, y)
python3 scripts/keyboard_mouse.py mouse_move 500 300
python3 scripts/keyboard_mouse.py mouse_move 500 300 --duration 1.0
# Mouse click (left/right/middle)
python3 scripts/keyboard_mouse.py mouse_click left
python3 scripts/keyboard_mouse.py mouse_click right
python3 scripts/keyboard_mouse.py mouse_click middle --clicks 2
# Click at a specific location
python3 scripts/keyboard_mouse.py mouse_click_at 500 300 left
python3 scripts/keyboard_mouse.py mouse_click_at 500 300 right --clicks 2
# Double click
python3 scripts/keyboard_mouse.py mouse_double_click 500 300
# Drag
python3 scripts/keyboard_mouse.py mouse_drag 500 300 800 600
python3 scripts/keyboard_mouse.py mouse_drag 500 300 800 600 --duration 2.0
# Scroll (positive = up, negative = down)
python3 scripts/keyboard_mouse.py mouse_scroll 5
python3 scripts/keyboard_mouse.py mouse_scroll -3# Single key
python3 scripts/keyboard_mouse.py key_press enter
python3 scripts/keyboard_mouse.py key_press escape
python3 scripts/keyboard_mouse.py key_press tab
python3 scripts/keyboard_mouse.py key_press space
# Hotkeys
python3 scripts/keyboard_mouse.py key_hotkey ctrl c
python3 scripts/keyboard_mouse.py key_hotkey ctrl v
python3 scripts/keyboard_mouse.py key_hotkey win r
python3 scripts/keyboard_mouse.py key_hotkey alt tab
python3 scripts/keyboard_mouse.py key_hotkey ctrl alt t
# Type text
python3 scripts/keyboard_mouse.py type_text "Hello World"
python3 scripts/keyboard_mouse.py type_text "你好世界" --interval 0.05# Save a screenshot (primary screen)
python3 scripts/keyboard_mouse.py screenshot /tmp/screenshot.png
# Windows example
python scripts/keyboard_mouse.py screenshot "E:\\temp\\screenshot.png"Screenshot notes:
# Screenshot specific region (x1, y1, x2, y2)
python3 scripts/keyboard_mouse.py screenshot_region region.png 100 100 500 500
# Windows example - capture QQ chat window area
python scripts/keyboard_mouse.py screenshot_region qq_window.png 2800 300 3800 1200Parameters:
x1, y1: Top-left corner coordinatesx2, y2: Bottom-right corner coordinates# Copy text to clipboard
python3 scripts/keyboard_mouse.py copy "Text to copy"
# Paste from clipboard (Ctrl+V)
python3 scripts/keyboard_mouse.py paste
# Copy and paste in one command (fastest way to input text)
python3 scripts/keyboard_mouse.py copy_paste "Text to input directly"Use cases:
copy_paste is faster than type_text for long textcopy_paste when you want to skip typing animationtype_text when you need to simulate realistic typinga b c ...0 1 2 ...f1 f2 ... f12ctrl alt shift winenter esc tab space backspace delete up down left right⚠️ Important:
python3 scripts/keyboard_mouse.py key_hotkey win r
python3 scripts/keyboard_mouse.py type_text "calc"
python3 scripts/keyboard_mouse.py key_press enterpython3 scripts/keyboard_mouse.py mouse_click_at 500 300 left
python3 scripts/keyboard_mouse.py type_text "example@email.com"
python3 scripts/keyboard_mouse.py key_press tab
python3 scripts/keyboard_mouse.py type_text "password123"python3 scripts/keyboard_mouse.py mouse_click_at 100 100 left
python3 scripts/keyboard_mouse.py mouse_click_at 200 200 left
python3 scripts/keyboard_mouse.py mouse_click_at 300 300 leftscripts/keyboard_mouse.py - Mouse/keyboard controlscripts/image_utils.py - Image utilitiesscripts/draw_overlay.py - Screen overlay markersscripts/draw_on_image.py - Draw markers on imagesscripts/image_finder.py - Image locating (template + OCR)scripts/cleanup.py - Cleanup toolpython3 scripts/image_utils.py info screenshot.png
python3 scripts/image_utils.py size photo.jpgpython3 scripts/image_utils.py crop screenshot.png 100 100 500 500
python3 scripts/image_utils.py crop screenshot.png 100 100 500 500 -o output.png$ python3 scripts/image_utils.py info screenshot.png
{
"path": "screenshot.png",
"filename": "screenshot.png",
"size": {
"width": 3840,
"height": 2160
},
"format": "PNG",
"mode": "RGB",
"file_size_bytes": 2097152,
"file_size_kb": 2048.0
}| Field | Meaning | Example |
|---|---|---|
width | Image width (px) | 1920, 3840 |
height | Image height (px) | 1080, 2160 |
format | Image format | PNG, JPEG, GIF, BMP, WEBP |
mode | Color mode | RGB, RGBA, L |
file_size_bytes | File size (bytes) | 2097152 |
file_size_kb | File size (KB) | 2048.0 |
Screen coordinates:
Crop coordinates:
x1, y1: top-left corner of cropx2, y2: bottom-right corner of cropExample:
python3 scripts/image_utils.py crop screenshot.png 1520 880 1920 1080python3 scripts/image_utils.py size screenshot.png
python3 scripts/image_utils.py crop screenshot.png 3440 1960 3840 2160 -o bottom_right.pngfor img in *.png; do
echo -n "$img: "
python3 scripts/image_utils.py size "$img"
donepython3 scripts/keyboard_mouse.py screenshot full.png
python3 scripts/image_utils.py crop full.png 500 300 1000 800 -o region.pngDraw temporary markers on the screen for coordinate verification. Useful for:
python3 scripts/draw_overlay.py marker cross 500 300
python3 scripts/draw_overlay.py marker target 800 600 --duration 10
python3 scripts/draw_overlay.py marker circle 500 300 --color blue --text "Send button"
python3 scripts/draw_overlay.py marker arrow 1000 800 --direction down --color yellow
python3 scripts/draw_overlay.py marker square 600 400 --color green --size 40python3 scripts/draw_overlay.py area 3028 276 3832 2098 --label "Window" --duration 8
python3 scripts/draw_overlay.py area 3744 2062 3832 2098 --label "Send button" --color red| Type | Description | Use case |
|---|---|---|
cross | Crosshair | Precise single-point targeting |
circle | Circle | Mark buttons/circular elements |
square | Square | Mark rectangular elements |
arrow | Arrow | Indicate direction / draw attention |
target | Target | Strongest visual cue (circle + crosshair) |
red, green, blue, yellow, cyan, magenta, white, orange
python3 scripts/keyboard_mouse.py screenshot screen.png
python3 scripts/draw_overlay.py marker target 3788 2080 --text "Send button" --duration 10
python3 scripts/draw_overlay.py marker target 3790 2090 --text "Send button (adjusted)" --duration 10
python3 scripts/keyboard_mouse.py mouse_click_at 3790 2090 leftDraw persistent markers into image files. Useful for:
python3 scripts/draw_on_image.py screenshot.png marker cross 500 300
python3 scripts/draw_on_image.py screenshot.png marker target 800 600 -o marked.png
python3 scripts/draw_on_image.py screenshot.png marker circle 500 300 --color red --text "Send button"
python3 scripts/draw_on_image.py screenshot.png marker arrow 1000 800 --direction down --color yellow
python3 scripts/draw_on_image.py screenshot.png marker point 600 400 --color green --size 10python3 scripts/draw_on_image.py screenshot.png area 3028 276 3832 2098 --label "Window"
python3 scripts/draw_on_image.py screenshot.png area 3744 2062 3832 2098 -o button_marked.png --label "Send button"python3 scripts/keyboard_mouse.py screenshot screen.png
python3 scripts/draw_on_image.py screen.png marker target 3788 2080 --text "Send button" -o step1.png
python3 scripts/draw_on_image.py step1.png marker target 3790 2090 --text "Adjusted" -o step2.png
python3 scripts/draw_on_image.py step2.png marker circle 3000 1500 --text "Avatar area" -o final.png| Item | Screen overlay (draw_overlay.py) | Draw on image (draw_on_image.py) |
|---|---|---|
| Display | Real-time on screen | Inside the image file |
| Duration | Temporary | Persistent |
| Interaction | Auto-close (time) | No interaction |
| Best for | Real-time coordinate validation | Generating annotated references |
| Output | Not saved | Saved to file |
python3 scripts/keyboard_mouse.py screenshot screen.png
python3 scripts/image_utils.py size screen.png
python3 scripts/draw_on_image.py screen.png marker target 3788 2080 --text "Candidate 1" -o marked1.png
python3 scripts/draw_on_image.py screen.png marker target 3790 2090 --text "Candidate 2" -o marked2.png
python3 scripts/draw_on_image.py screen.png marker target 3785 2085 --text "Candidate 3" -o marked3.png
python3 scripts/draw_overlay.py marker target 3790 2090 --duration 3
python3 scripts/keyboard_mouse.py mouse_click_at 3790 2090 leftBuilt on OpenCV template matching and RapidOCR. Supports locating UI elements by image and by text.
pip install opencv-python numpy rapidocr_onnxruntimeNote: RapidOCR models are ~15MB and are downloaded automatically on first use.
python3 scripts/image_finder.py image button.png
python3 scripts/image_finder.py image button.png --all
python3 scripts/image_finder.py image button.png --threshold 0.95
python3 scripts/image_finder.py image button.png --mark
python3 scripts/image_finder.py image button.png --clickOutput example:
✅ Match found: position (3788, 2080), similarity: 98.50%python3 scripts/image_finder.py text "Send"
python3 scripts/image_finder.py text "OK" --click
python3 scripts/image_finder.py text "Send" --mark-on-image checked.png
python3 scripts/image_finder.py text-all
python3 scripts/image_finder.py text "Login" --confidence 0.9Output example:
✅ Found 2 candidates containing 'Send':
[1] Text: 'Send', position: (3788, 2080), confidence: 95%
[2] Text: 'Send to all', position: (2100, 1500), confidence: 88%Template matching (most accurate):
python3 scripts/image_finder.py image qq_send_button.png --threshold 0.9
python3 scripts/draw_on_image.py marker screen.png target 3788 2080 --text "Candidate 1" -o check1.png
python3 scripts/keyboard_mouse.py mouse_click_at 3788 2080 leftOCR text locating (when no template is available):
python3 scripts/image_finder.py text "Send"
python3 scripts/keyboard_mouse.py mouse_click_at 3548 1462 leftImportant principle:
| Item | Template matching | OCR text locating |
|---|---|---|
| Accuracy | ⭐⭐⭐⭐⭐ pixel-level | ⭐⭐⭐⭐ depends on font/background |
| Speed | ⭐⭐⭐⭐⭐ milliseconds | ⭐⭐⭐ requires inference |
| Dependencies | OpenCV | RapidOCR |
| Best for | Icons/buttons/fixed UI | Text buttons/labels/inputs |
python3 scripts/cleanup.py analyze .python3 scripts/cleanup.py clean . --days 7
python3 scripts/cleanup.py clean . --days 7 --execute
python3 scripts/cleanup.py clean . --size 1024 --execute
python3 scripts/cleanup.py clean . --executepython3 scripts/cleanup.py auto . --max-files 50 --max-size 100
python3 scripts/cleanup.py auto . --max-files 20 --max-size 50python3 scripts/keyboard_mouse.py screenshot screen.png
python3 scripts/draw_on_image.py marker screen.png target 500 300 --text "Button" -o marked.png
python3 scripts/cleanup.py analyze .
python3 scripts/cleanup.py clean . --days 1 --execute
python3 scripts/cleanup.py auto . --max-files 10 --max-size 50keyboard_mouse.py)| Command | Description | Example |
|---|---|---|
screen_size | Get screen size | keyboard_mouse.py screen_size |
mouse_position | Get mouse position | keyboard_mouse.py mouse_position |
mouse_move x y | Move mouse | keyboard_mouse.py mouse_move 500 300 |
mouse_click button | Click mouse | keyboard_mouse.py mouse_click left |
mouse_click_at x y button | Click at coordinates | keyboard_mouse.py mouse_click_at 500 300 left |
mouse_double_click x y | Double click | keyboard_mouse.py mouse_double_click 500 300 |
mouse_drag x1 y1 x2 y2 | Drag | keyboard_mouse.py mouse_drag 500 300 800 600 |
mouse_scroll amount | Scroll | keyboard_mouse.py mouse_scroll 5 |
key_press key | Press key | keyboard_mouse.py key_press enter |
key_hotkey key1 key2 | Hotkey | keyboard_mouse.py key_hotkey ctrl c |
type_text text | Type text | keyboard_mouse.py type_text "Hello" |
screenshot path | Screenshot | keyboard_mouse.py screenshot img.png |
image_utils.py)| Command | Description | Example |
|---|---|---|
info path | Full image info | image_utils.py info photo.png |
size path | Image size only | image_utils.py size photo.jpg |
crop x1 y1 x2 y2 | Crop image | image_utils.py crop img.png 100 100 500 500 |
draw_overlay.py)| Command | Description | Example |
|---|---|---|
marker type x y | Draw marker | draw_overlay.py marker target 500 300 |
area x1 y1 x2 y2 | Draw rectangle | draw_overlay.py area 100 100 500 400 |
draw_on_image.py)| Command | Description | Example |
|---|---|---|
marker type x y | Draw marker on image | draw_on_image.py img.png marker target 500 300 |
area x1 y1 x2 y2 | Draw rectangle on image | draw_on_image.py img.png area 100 100 500 400 |
image_finder.py)| Command | Description | Example |
|---|---|---|
image template | Find by template | image_finder.py image button.png |
text str | Find by text (OCR) | image_finder.py text "Send" |
text-all | Recognize all text | image_finder.py text-all |
cleanup.py)| Command | Description | Example |
|---|---|---|
analyze dir | Analyze disk usage | cleanup.py analyze . |
clean dir | Clean files | cleanup.py clean . --days 7 --execute |
auto dir | Auto cleanup | cleanup.py auto . --max-files 50 |
© LeoYeAI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 11 other files (scripts, references) in skills/pyautogui of LeoYeAI/openclaw-master-skills.
Open the folder on GitHubat commit e5199b5
Openclaw Pyautogui next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Openclaw Pyautogui this skillLeoYeAI/openclaw-master-skills | 2.2k | — | ~4.7k | Automated safety check: Pass | MIT | |
| Abp App Nolayersabpframework/abp | 14k | — | ~575 | Automated safety check: Pass | LGPL-3.0 | |
| Feishu Driveraucvr/Group-Goki | 112 | 3 repos | ~587 | Automated safety check: Pass | MIT | |
| Azldev Comp Tomlmicrosoft/azurelinux | 5.3k | — | ~1.8k | Automated safety check: Pass | MIT | |
| Answer Me With HTMLOWWZO/ai-agent | 189 | 1 repos | ~4.1k | Automated safety check: Pass | MIT | |
| PikpakBengerthelorf/pikpaktui | 121 | — | ~1.2k | Automated safety check: Pass | Apache-2.0 |
abpframework/abp
ABP Single-Layer (No-Layers / nolayers) application template - single project structure, feature-based file organization, no separate Domain/Application.Contracts projects.
raucvr/Group-Goki
Feishu cloud storage file management. An agent skill from raucvr/Group-Goki.
microsoft/azurelinux
Read this before authoring, editing, or reviewing a .comp.toml file; do not work from memory.
OWWZO/ai-agent
Turns an answer into a one-page visual HTML explainer: the model writes a short Markdown draft and the bundled CLI builds one page.
Bengerthelorf/pikpaktui
Manage PikPak cloud storage — browse, upload, download, stream, share, and organize files via CLI.
MassLab-SII/open-agent-skills
Advanced file management tools. An agent skill from MassLab-SII/open-agent-skills.
LeoYeAI/openclaw-master-skills
Manages pipelines on a DevOps quality and efficiency platform through its OpenAPI: list workspaces and templates, create, update, run and cancel pipelines, and read run records.
LeoYeAI/openclaw-master-skills
Patches OpenClaw's Feishu extension so an edited document triggers an isolated agent session that reads the doc and replies inline, turning it into a live chat space.
LeoYeAI/openclaw-master-skills
Multi-context memory management system for OpenClaw agents with group-isolated storage, global shared memory, workspace organization, and group-specific skills isolation.
LeoYeAI/openclaw-master-skills
Runs a brand's AI-search visibility work end to end: diagnosing how AI platforms represent it, repositioning it, producing AI-optimized content and monitoring ongoing mentions.
LeoYeAI/openclaw-master-skills
Installs and authenticates the gws CLI, then automates Gmail, Drive, Sheets, Calendar, Docs, Chat and Tasks with ready-made recipes, persona bundles and security audits.
LeoYeAI/openclaw-master-skills
Runs four advisor roles, a fitness coach, nutritionist, data analyst and TCM practitioner, to build a health profile and track workouts, diet and wellness over time.
Categories
Cross-platform mouse/keyboard automation skill. An agent skill from LeoYeAI/openclaw-master-skills. Openclaw Pyautogui is an agent skill from LeoYeAI/openclaw-master-skills. Cross-platform mouse/keyboard automation skill.
Openclaw Pyautogui fits situations like: needs UI automation; coordinate verification; image analysis/annotation; on-screen element locating.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill openclaw-pyautogui -a claude-code`. Or copy the skill folder (skills/pyautogui in LeoYeAI/openclaw-master-skills) into .claude/skills/openclaw-pyautogui in your project. Claude Code loads it when a task matches its description.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill openclaw-pyautogui -a codex`. Or copy the skill folder (skills/pyautogui in LeoYeAI/openclaw-master-skills) into .agents/skills/openclaw-pyautogui in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LeoYeAI/openclaw-master-skills --skill openclaw-pyautogui -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/openclaw-pyautogui, .gemini/skills/openclaw-pyautogui, .github/skills/openclaw-pyautogui and .opencode/skills/openclaw-pyautogui in your project.
Going by SKILL.md and its folder, Openclaw Pyautogui needs Python for the scripts in its folder and the command-line tools its instructions call (python3, pip3, python and pip). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Openclaw Pyautogui is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.7k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 66 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Openclaw Pyautogui: Abp App Nolayers (abpframework/abp, 14k stars), Feishu Drive (raucvr/Group-Goki, 112 stars), Azldev Comp Toml (microsoft/azurelinux, 5.3k stars) and Answer Me With HTML (OWWZO/ai-agent, 189 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
LeoYeAI (a GitHub user) maintains it in LeoYeAI/openclaw-master-skills, which has 2,161 GitHub stars. The repository holds 1,235 skills in this directory. The repository was last updated on July 20, 2026.
Source: LeoYeAI/openclaw-master-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.