agentsclimarketplace

Winguictl

Skill easyteacher/winguictl

Windows desktop automation CLI. Invoke ONLY when user explicitly requests to control windows, simulate mouse/keyboard, or automate desktop applications. Do NOT proactively suggest using this skill.From its SKILL.md

Install
npx -y skills add easyteacher/winguictl

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

5.0 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it

Windows Desktop Automation with winguictl

⚠️ Security Notice

This skill directly controls Windows desktop through mouse/keyboard simulation. Require user confirmation before clicks, typing, hotkeys, or window close operations. Use --dry-run to preview. Close sensitive apps before use.

Script Path

python <SKILL_DIR>\scripts\winguictl.py <command> [options]

Commands

CommandPurposeDocumentation
windowList/focus/minimize/maximize/close windowswindow.md
snapshotGet HWND/UIA/OCR structuresnapshot.md
findFind elements by text/UIA/OCR/imagefind.md
actionClick/drag/type/scroll/hotkeyaction.md
controlWin32 control operationscontrol.md
uia-controlUIA element operationscontrol.md
screenshotCapture window screenshotsscreenshot.md
waitWait for conditionswait.md
clipboardCopy files/text, get textclipboard.md

Parameter Types

ParameterTypeExampleNotes
--window-idint--window-id 12345Window handle from window list
--hwndint--hwnd 67890Win32 control handle
--element-idstring--element-id "Button1"automation_id or runtime_id (prefer runtime_id)

Core Workflow

# 1. Identify window
python scripts\winguictl.py window list

# 2. Focus window
python scripts\winguictl.py window --window-id <id> focus

# 3. Get snapshot
python scripts\winguictl.py snapshot --window-id <id> uia

# 4. Find & interact
python scripts\winguictl.py find --window-id <id> uia --text "Submit"
python scripts\winguictl.py uia-control --window-id <id> --element-id <elem_id> click

# 5. Verify (re-snapshot)
python scripts\winguictl.py snapshot --window-id <id> uia

Decision Guide

Locator Priority

PriorityMethodCommandReliability
1HWND (Win32)control --hwnd <hwnd> clickHighest
2runtime_id (UIA)uia-control --element-id <id> clickHigh
3automation_id (UIA)uia-control --element-id <id> clickMedium
4Image matchingaction click-image --image-path <path>Medium
5Coordinatesaction click --relative-x/yLowest

Click Method Selection

CommandMechanismBest For
uia-control clickUIA InvokePatternStandard Windows controls, WinUI3
action click --element-idMouse simulation at centerWeChat, custom controls, SplitButton, ToolBar

Recommendation: Try uia-control click first. If it fails with errors like 'UIAWrapper' object has no attribute 'click' or returns ok: false, immediately fall back to action click --element-id.

Common Scenarios

ScenarioCommand
Win32 control with hwndcontrol --hwnd <hwnd> click
UIA element with runtime_iduia-control --element-id "42-3155764" click
Text-based elementfind ocr "text"action click --element-id
Qt applicationsAdd --skip-actions --skip-state for faster UIA
SplitButton / ToolBar (save dialog toolbar)action click --element-id (NOT uia-control)
Set text in edit/combo boxuia-control set-text "value" --verify-change

Key Rules

  • Re-snapshot after actions: UI state changes after clicks/typing
  • Use --dry-run: Preview operations before execution
  • Always prefer control/uia-control over action: More reliable for standard Windows controls, WinUI3, and custom controls that implement UIA interfaces.
  • Prefer runtime_id: More reliable than automation_id
  • Report window_id: Always include exact window identifier in results
  • Coordinate system: relative_rect = window-relative; absolute_rect = screen-absolute

Application Guides

References

What ships with it: 55 files

420.2 KB alongside SKILL.md, 15 of them executable

scripts/

15 more files not listed here. See all 55 in the repository.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.