PowerSkills

July 2, 2026 · View on GitHub

License: MIT Release PowerShell 5.1+ Windows Stars AgentSkills

PowerSkills Hero

Windows capabilities for AI agents — Outlook, Edge browser, desktop automation, and shell commands as structured JSON skills.

Installation

git clone https://github.com/aloth/PowerSkills

Each skill has a SKILL.md for self-discovery. No dependencies required.

For AI agents (via AgentSkills)

npx skills add aloth/PowerSkills

Quick Start

# List available skills
.\powerskills.ps1 list

# Get skill help
.\powerskills.ps1 outlook help

# Run actions
.\powerskills.ps1 outlook inbox --limit 10
.\powerskills.ps1 browser tabs
.\powerskills.ps1 desktop screenshot --out-file screen.png
.\powerskills.ps1 system exec --command "whoami"
.\powerskills.ps1 workiq check
.\powerskills.ps1 workiq ask --question "What's on my calendar tomorrow?"

Skills

SkillDescription
outlookEmail & calendar via Outlook COM
workiqMicrosoft 365 (mail/calendar/Teams/SharePoint/OneDrive) via Work IQ CLI
browserEdge automation via CDP (Chrome DevTools Protocol)
desktopScreenshots, window management, keystrokes
systemShell commands, processes, system info

Output Format

All commands return JSON with consistent envelope:

{
  "status": "success",
  "exit_code": 0,
  "data": { ... },
  "timestamp": "2026-03-06T16:00:00+01:00"
}

Requirements

  • Windows 10/11
  • PowerShell 5.1+
  • Microsoft Outlook (for outlook skill)
  • Microsoft Edge with --remote-debugging-port=9222 (for browser skill)
  • Node.js + npm (for workiq install; skip if you install Work IQ another way)

Execution Policy

If scripts are blocked (UnauthorizedAccess error), set the execution policy:

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

Or run one-off with bypass:

powershell -ExecutionPolicy Bypass -File .\powerskills.ps1 list

Standalone Skills

Each skill can be called directly without powerskills.ps1:

.\skills\outlook\outlook.ps1 inbox --limit 5
.\skills\system\system.ps1 info
.\skills\browser\browser.ps1 tabs

Standalone mode uses lib\bootstrap.ps1 for arg parsing and JSON output.

Edge CDP Setup

# Start Edge with debugging enabled
Start-Process "msedge" -ArgumentList "--remote-debugging-port=9222"

Configuration

Edit config.json:

{
  "edge_debug_port": 9222,
  "default_timeout": 30,
  "outlook_body_max_chars": 5000,
  "output_dir": ""
}

For AI Agents

Each skill has a SKILL.md with action documentation. Point your agent to skills/<name>/SKILL.md for structured capability discovery.

Agent Integration

Add to your skills directory or reference directly:

# SKILL.md reference
skills:
  - name: powerskills
    description: Windows automation via PowerShell (Outlook, Edge, desktop)
    location: /path/to/PowerSkills/

Project Structure

PowerSkills/
├── powerskills.ps1          # CLI entry point / dispatcher
├── config.json              # Configuration
├── lib/
│   └── bootstrap.ps1        # Shared arg parsing & JSON output helpers
├── assets/
│   └── powerskills-ai-agents-windows-powershell-automation.jpg
├── skills/
│   ├── outlook/
│   │   ├── SKILL.md         # Agent-readable skill documentation
│   │   └── outlook.ps1      # Outlook COM automation
│   ├── workiq/
│   │   ├── SKILL.md
│   │   └── workiq.ps1       # Microsoft 365 via Work IQ CLI
│   ├── browser/
│   │   ├── SKILL.md
│   │   └── browser.ps1      # Edge CDP automation
│   ├── desktop/
│   │   ├── SKILL.md
│   │   └── desktop.ps1      # Win32 window/screenshot/clipboard
│   └── system/
│       ├── SKILL.md
│       └── system.ps1       # System info, processes, exec
├── tests/
│   └── test-all.ps1         # Test suite (-SkipBrowser, -SkipOutlook, -SkipWorkIq)
├── SKILL.md                 # Root skill metadata
├── LICENSE                  # MIT
└── README.md

Contributing

Contributions are welcome! Here's how you can help:

  • Report bugs - open an issue with the Bug Report template
  • Request features - suggest new actions or skills via Feature Request
  • Add a skill - create a new folder under skills/ with a .ps1 and SKILL.md
  • Improve existing skills - better error handling, new actions, documentation fixes
  • Join the discussion - share ideas in Discussions

When adding or modifying skills, please follow the existing patterns:

  1. Use lib\bootstrap.ps1 for arg parsing and JSON output
  2. Return results via Write-SkillResult / Write-SkillError
  3. Include a SKILL.md with action documentation
  4. Test both dispatcher and standalone modes

License

MIT