Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add dcl632/windows-gui-mcp --skill windows-gui-mcpgit clone --depth 1 https://github.com/dcl632/windows-gui-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/dcl632/windows-gui-mcp/windows-gui-mcp)<a href="https://agentmods.dev/skills/dcl632/windows-gui-mcp/windows-gui-mcp"><img src="https://agentmods.dev/badge/skills/dcl632/windows-gui-mcp/windows-gui-mcp/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/dcl632/windows-gui-mcp/windows-gui-mcp"><img src="https://agentmods.dev/badge/skills/dcl632/windows-gui-mcp/windows-gui-mcp.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00067 | $0.00748 |
| Opus 5 | $0.00034 | $0.00374 |
| Sonnet 5 | $0.00013 | $0.00150 |
| Haiku 4.5 | $0.00007 | $0.00075 |
Grade A, and why
windows-gui scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 84 lines — stays where its author put it; the contents beside it link to each section on GitHub.
windows-gui operator playbook
You are driving a Windows desktop through the windows-gui MCP.
Every action must follow the identifier-priority ladder:
automation_id > name > control_type > class_name
> image template > OCR text > raw coordinates
Raw coordinates are forbidden by default. Use them only through the fallback tool after semantic lookup has failed and explain why the fallback is needed.
Mandatory loop
For every UI step, use this sequence:
1. list_windows()
2. focus_window(title_regex=...)
3. dump_ui_tree(window_handle=..., max_depth=6)
4. find_element(spec={...})
5. click_element / type_text / hotkey
6. Check verify.ok
7. If verify.ok is false, re-dump and replan before retrying
Hard rules
- Never pass coordinates to
click_element. - Never use
fallback_click_by_image_or_ocrbefore tryingfind_element. - Always name a post-condition for clicks that open, close, or change UI state.
- Always check
verify.okin the tool response. - Hotkeys use pywinauto syntax:
^s,%{F4},+{TAB},^+s,{ENTER},{ESC}.
Recovery ladder
verify.ok == false
|
+-- 1. dump_ui_tree again
+-- 2. wait_until_element(spec=..., state="visible", timeout=10)
+-- 3. screenshot()
+-- 4. verify_text_exists(text=..., source="ui_tree")
+-- 5. verify_text_exists(text=..., source="ocr")
+-- 6. fallback_click_by_image_or_ocr
Reusable scripts
After a multi-step task succeeds, call generate_stable_script_from_trace().
It emits a pywinauto script that replays the trace without MCP. Steps that used
OCR or coordinate fallback are emitted as TODO markers; replace those markers
with stable UI identifiers before reusing the script.
Common Windows app hints
- Notepad: title regex
Notepad|Untitled; Save As dialogs often expose the filename field asautomation_id="1001"in classic common dialogs. - Calculator: most buttons expose stable
namevalues such asOne,Plus,Equals, andClear. - Microsoft Office: ribbon items often expose automation IDs; use a deeper
dump_ui_tree(max_depth=10)before choosing targets. - Browser native dialogs: common dialogs often use
class_name="#32770". - UWP / WinUI apps: prefer UIA and verify state changes carefully.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 84 lines · 67 tokens per session scan A c3428498c0d3
windows-gui is a skill published in the GitHub repository dcl632/windows-gui-mcp (1 stars, last pushed 3mo ago), licensed MIT. It adds 67 tokens to every session and 748 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
autoit-gui
Self-contained Windows GUI automation + runtime verification using ONLY the autoit MCP — no other skills required. Launch an app, wait for windows, drive menus, click/type into controls or by pixel, take a screenshot (via the bundled AutoIt ScreenCapture UDF) and read it back, and PROVE a result by checking a file on…
robotgo-flow
Use when building YAML-driven Windows RPA workflows in Go — step-by-step desktop automation with image template matching, interactive recording mode, hotkey triggers. RobotGo-Flow: YAML-based Windows RPA framework built on RobotGo.
axstream
Fast deterministic macOS UI automation via replayable macros. Use BEFORE driving any macOS app's UI by hand (clicking/typing via computer-use or screenshots) — if a macro exists, replay finishes the task in seconds with no per-step reasoning; after doing a UI task manually, save it as a macro so the next run is fast.…
kwin-desktop-automation
Use when the user asks to launch, click, type, screenshot, or otherwise drive a Linux KDE Plasma / Wayland desktop app through the kwin-mcp MCP server. Trigger when kwin-mcp tools are available and the task involves desktop GUI automation, end-to-end GUI testing, kiosk / embedded device control, or live KDE Plasma…
openadapt-gui-write
OpenAdapt compiles demonstrated GUI workflows into programs. This package invokes them over MCP.
open-compute-bridge
Bindet das model-agnostische Computer-Use-Modul open-compute (Screenshot-Wahrnehmung, Windows-UIA-Elementklicks, sicherheitsgegatete Aktionen) fuer ALLE Agenten des Systems ein -- Claude Code, Codex und agy/Antigravity. Nutzen, wenn ein Dienst eine interaktive GUI- oder Browser-Aktion braucht, die kein reiner…