windows-automation

Automate native Windows apps and system settings using PowerShell, COM APIs, and UI Automation.

1.2k|166|Updated Feb 7, 2026
One-click install
npx skills add https://github.com/vellum-ai/vellum-assistant --skill windows-automation
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: windows-automation
Source: https://github.com/vellum-ai/vellum-assistant/tree/main/skills/windows-automation
Command: npx skills add https://github.com/vellum-ai/vellum-assistant --skill windows-automation

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Controlling native Windows desktop applications and system settings from an AI assistant is difficult when no direct CLI or API exists, and naive approaches like screen coordinates or blind keystrokes are fragile and error-prone.

Core Features & Use Cases

  • App Discovery and Launching: Find Start menu apps with Get-StartApps, inspect running desktop apps by process and window title, and launch apps or Windows Settings pages via URI schemes like ms-settings:.
  • Office COM Automation: Control scriptable Microsoft Office apps such as Excel through documented COM APIs, with strict cleanup patterns that release COM objects and never save or overwrite existing documents.
  • UI Automation Inspection: Load the built-in UI Automation assemblies to enumerate windows and controls by process ID, automation ID, or control type, then invoke supported patterns like InvokePattern or ValuePattern.
  • Use Case: Ask the assistant to open the microphone privacy settings page, or to inspect the buttons of a running desktop app and click a specific control through UI Automation instead of guessing screen coordinates.

Quick Start

Use the windows-automation skill to open the Windows microphone privacy settings page and list the currently running desktop apps with their window titles.

Frequently Asked Questions about windows-automation

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate Windows desktop apps with PowerShell?

Use Get-StartApps to discover apps, Start-Process to launch them, and Get-Process to inspect running windows by title. For deeper control, use documented COM APIs for Office apps or the UI Automation assemblies for native controls.

How to open Windows Settings pages from a script?

Launch Settings pages with Start-Process and the ms-settings: URI scheme, for example Start-Process "ms-settings:privacy-microphone" opens the microphone privacy page. Each Settings section has its own documented URI.

Can I automate Microsoft Office apps like Excel from PowerShell?

Yes, Office desktop apps expose COM APIs accessible via New-Object -ComObject Excel.Application. Keep the COM object alive during the operation, close unsaved temporary documents with Close($false), quit the app, and release COM objects in a finally block.

Why is my UI Automation tree empty for some apps?

An empty UI Automation tree usually means the target app runs at a higher integrity level than the automation process. Do not bypass Windows security boundaries; run both apps at the same privilege level if appropriate.

What are the limitations of Windows UI automation with this approach?

Consequential actions like saving, sending, deleting, or overwriting content are unsupported because there is no in-process confirmation gate. Existing documents are treated as read-only, and screen coordinates or blind keystrokes are avoided as fragile.