Skip to content

Releases: aloth/PowerSkills

v0.2.0 - Work IQ skill with install/check helpers

Choose a tag to compare

@aloth aloth released this 02 Jul 08:49

Minor release that adds a Work IQ skill and updates test and doc surfaces to match.

New skill: workiq

Talks to Microsoft 365 through the official Work IQ CLI. Unlike the existing outlook skill, it does not need a running Outlook desktop client and covers mail, calendar, Teams messages, SharePoint, OneDrive, and People through Microsoft Graph via silent SSO.

The skill ships as a pending powerskills-workiq sub-skill under the umbrella powerskills package. Root-level powerskills.ps1 dispatches to it exactly like the other sub-skills.

Actions

  • check - report installed, version, path, eula_accepted
  • install [--scope user|machine] - npm install -g @microsoft/workiq (default user)
  • accept-eula - one-time EULA acceptance
  • version - print the Work IQ CLI version
  • ask --question "..." [--agent name] [--timeout N] - natural-language query
  • agents [--get-card name] - list Work IQ agents, or return one agent card
  • fetch --url <graph-path> - fetch a Graph entity (e.g. /me, /me/messages)
  • search-paths --filter <regex> [--backend graph-v1|sharepoint-rest|dataverse] - discover Graph paths by regex
  • get-schema --path <api-path> [--method get|post|patch|delete] [--api-version v1.0|beta] - return the OpenAPI schema for a given path
  • call-function --url <path-with-query> - GET-style Graph function (e.g. /me/calendar/getSchedule?...)
  • do-action --url <path> [--body <json>] - POST-style Graph action (e.g. /me/sendMail)
  • create --url <collection> --body <json> - POST a new entity
  • update --url <entity> --body <json> - PATCH an existing entity
  • delete --url <entity> - DELETE an entity
  • debug --conversation <id> - build a Work IQ debug share link
  • raw --args "..." - escape hatch that runs any raw workiq sub-command
  • help - print SKILL.md

Setup in one flow

.\powerskills.ps1 workiq install
.\powerskills.ps1 workiq accept-eula
.\powerskills.ps1 workiq check

Implementation notes

  • Argument passing. Windows PowerShell 5.1's Start-Process -ArgumentList splits array elements on whitespace, which breaks natural-language input like ask -q "how many mails do I have". The skill instead runs Work IQ inside a background job and uses PowerShell's & $exe @args splat operator, which preserves argument boundaries correctly. Timeouts are enforced through Wait-Job -Timeout.
  • Executable resolution. The skill prefers the real workiq.exe under %APPDATA%\npm\node_modules\@microsoft\workiq\bin\win-x64\workiq.exe because Node on Windows fails with spawn EINVAL when calling npm shim .cmd files. If that path is missing, it falls back to whatever Get-Command workiq resolves.
  • ANSI stripping. Work IQ emits ANSI CSI and OSC sequences on stdout. A regex strip runs before results are returned so downstream JSON stays clean.
  • EULA detection. check probes workiq agents list and inspects stderr for EULA prompts to fill eula_accepted.
  • raw escape hatch. Deliberately does not call Assert-WorkIqOk, so callers can inspect exit codes themselves.

Docs

  • Root SKILL.md description now includes Work IQ and lists powerskills-workiq as a discoverable sub-skill.
  • Root README.md gains a workiq row in the skills table, adds Node.js and npm to Requirements, includes two workiq examples in the Quick-Start block, and updates the project structure tree.
  • New skills/workiq/SKILL.md documents actions, examples, output shape, and quirks. Includes a comparison table with the outlook skill.

Tests

  • tests/test-all.ps1 gains a [ Work IQ ] section covering dispatcher help, check, version, standalone version, and raw.
  • New -SkipWorkIq switch aligned with -SkipOutlook and -SkipBrowser.
  • Full run on the maintainer's machine: 14 passed, 0 failed.

Requirements

  • Windows 10 or 11
  • PowerShell 5.1 or later
  • Node.js and npm (for workiq install)
  • Microsoft 365 work account signed in on the machine (Windows Account Manager / SSO) for the Work IQ actions

Existing skills (outlook, browser, desktop, system) are unchanged.

Commits

  • 4aca060 feat(workiq): add Work IQ skill with install/check helpers

Full Changelog: v0.1.1...v0.2.0

v0.1.1 - Help handler fix and AgentSkills docs

Choose a tag to compare

@aloth aloth released this 01 Jul 15:27

Patch release focused on fixing a hang in help actions and clarifying how AgentSkills users get executable scripts.

Fixes

outlook help no longer hangs indefinitely

The dispatcher's help path fed the SKILL.md content, a string returned by Get-Content -Raw with hidden PSNoteProperty decorations, straight into ConvertTo-Json -Depth 10. That recursed into the cyclical PSProvider property, growing exponentially. A 2.4 KB file produced 2.2 MB at depth 5 and never returned at depth 10.

Fixed by casting to [string] before serialization, both in powerskills.ps1 and skills/outlook/outlook.ps1.

Impact: All powerskills.ps1 <skill> help and .\skills\<skill>\<skill>.ps1 help calls now return in under a second and no longer touch COM/CDP.

Standalone help handler added to browser, desktop, system skills

When invoked directly (e.g. .\skills\browser\browser.ps1 help), these previously fell into the default throw. They now return the SKILL.md content and a list of available actions, consistent with the outlook skill.

Docs

SKILL.md: AgentSkills vs. clone-based execution

npx skills add aloth/PowerSkills only publishes the Markdown skill definitions into ~\.agents\skills\powerskills\; the .ps1 scripts stay in the repo. Added a "Getting the executable scripts" section documenting the git clone step and the recommended powershell -NoProfile -ExecutionPolicy Bypass -File ... invocation pattern.

Requirements

Unchanged since v0.1.0.

Commits

  • d6d0fbb fix(outlook): handle help action without COM connection
  • 8deeb13 fix(skills): add help handler to standalone browser/desktop/system
  • 1072f82 docs(skill): clarify AgentSkills vs. clone-based execution

Full Changelog: v0.1.0...v0.1.1

v0.1.0 - Initial Release

Choose a tag to compare

@aloth aloth released this 06 Mar 17:31

First public release of PowerSkills - a PowerShell automation toolkit for AI agents.

Skills

  • Outlook - Email inbox, folders, search, send, calendar
  • Browser - Edge DevTools Protocol (CDP) - tabs, navigation, screenshots, DOM
  • Desktop - Window management, screenshots, clipboard, notifications
  • System - System info, process management, command execution, environment

Features

  • Structured JSON output with consistent envelope (status, exit_code, data, timestamp)
  • Dispatcher mode (powerskills.ps1 <skill> <action>) and standalone mode (.\skills\system\system.ps1 info)
  • Shared bootstrap library for argument parsing and output formatting
  • SKILL.md files for agent discovery
  • Test suite (tests/test-all.ps1)

Requirements

  • Windows 10/11
  • PowerShell 5.1+
  • Edge with --remote-debugging-port=9222 for browser skill
  • Outlook desktop app for outlook skill