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 sbroenne/mcp-windows --skill windows-automationgit clone --depth 1 https://github.com/sbroenne/mcp-windowsWrote 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/sbroenne/mcp-windows/windows-automation)<a href="https://agentmods.dev/skills/sbroenne/mcp-windows/windows-automation"><img src="https://agentmods.dev/badge/skills/sbroenne/mcp-windows/windows-automation/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/sbroenne/mcp-windows/windows-automation"><img src="https://agentmods.dev/badge/skills/sbroenne/mcp-windows/windows-automation.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00037 | $0.01244 |
| Opus 5.5 | $0.00015 | $0.00498 |
| Sonnet 5.5 | $0.00007 | $0.00249 |
| Haiku 4.5 | $0.00004 | $0.00124 |
Grade A, and why
windows-automation 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 1mo 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 — 92 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Context
Use this skill with a configured Windows MCP Server in any compatible host. Let Windows expose control names, state, and IDs instead of guessing from screenshots. The skill itself does not install or configure the server.
Preferred workflow
- Use
window_managementto find or activate the target window. - Discover with
ui_findorui_snapshot; pass the returned IDs toui_read,ui_click, andui_type. - Use
ui_read_tableto extract a grid, table, or details-view list into structured rows + headers in one call instead of scraping cells with repeatedui_read. - Use
file_savefor supported Save / Save As dialogs andfile_openfor Open flows. After failure orconfirmation_required, inspect the existing dialog and choose the next action explicitly. These helpers do not approve overwrites, dismiss errors, or retry dispatched actions. - Use
clipboard(get/set/clear) for fast bulk text IO — pair it with copy/paste hotkeys. - Use
ui_batchto run a multi-step sequence in one call. Keep reusable steps in project files. - Only fall back to
screenshot_control,mouse_control, orkeyboard_controlwhen the UI Automation tree is missing or the target is a custom canvas.
Patterns
Semantic-first automation
- Discover using names, control types, and automation IDs; act using the returned opaque
elementId. - Click, double-click, type, select, table reads, and state waits require IDs. Selection values still identify option text, while the ID identifies the containing control.
- Selectors are only for discovery and appear/disappear waits. Removed action selectors are errors.
- Read an element with its ID; omit the ID only for an explicit whole-window read. Element reads never widen to window OCR.
- Stale IDs require rediscovery. IDs belong to one owner and never transfer between MCP instances or the CLI daemon.
- Batch
$prevrequires one unambiguous immediately preceding result. Reusable batches should discover fresh controls on every run. - Each batch step requires its matching enabled tool (
key:keyboard_control;mouse/polyline:mouse_control). Forbidden steps reject the whole batch before it starts, even withstopOnError=false.withSnapshot=truerequires enabledui_snapshotbefore any action. Never route around disabled tools. - Re-check the UI tree after dialogs, page changes, or tab switches.
- Treat screenshots as discovery or fallback tools, not the primary control surface.
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.
- 1mo ago Changed · +22 lines · -3 tokens per session b1df00a75289
- 1mo ago Changed · +3 lines e4c45ae762be
- 1mo ago Changed · +6 lines bb9d4f60f85d
- 2mo ago First seen · 61 lines · 40 tokens per session scan A daddc0922575
windows-automation is a skill published in the GitHub repository sbroenne/mcp-windows (129 stars, last pushed yesterday), licensed MIT. It adds 37 tokens to every session and 1,244 once invoked, about $0.0001 per session on Opus 5.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-30.
windows-automation compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| windows-automationsbroenne/mcp-windows | Skill | 129 | yesterday | MIT | A | 37 | Claude Code, Codex |
| date-formatterAzure/azure-sdk-for-net | Skill | 6.1k | today | MIT | A | 13 | Claude Code, Codex |
| opentelemetry-net-instrumentationAaronontheweb/dotnet-skills | Skill | 1.3k | 9d ago | MIT | A | 56 | Claude Code |
| semantic-kernelmanagedcode/dotnet-skills | Skill | 508 | yesterday | MIT | A | 116 | Claude Code, Codex |
| winformsmanagedcode/dotnet-skills | Skill | 508 | yesterday | MIT | A | 122 | Claude Code, Codex |
| grpcmanagedcode/dotnet-skills | Skill | 508 | yesterday | MIT | A | 95 | Claude Code, Codex |
| add-adrSSWConsulting/SSW.VerticalSliceArchitecture | Skill | 416 | 8d ago | MIT | A | 83 | Claude Code |