agentsclimarketplace

Workiq

Skill aloth/PowerSkills/skills/workiq

Windows PowerShell toolkit for AI agents: Microsoft 365 (mail, calendar, Teams, SharePoint, OneDrive) via Work IQ + Microsoft Graph, Outlook COM, Edge browser (CDP), desktop, and system control - all returning structured JSON.

Install
npx -y skills add aloth/PowerSkills --skill workiq

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

What its author says it does

Copied from the file, not written here

Microsoft 365 automation via Work IQ (Graph-backed CLI). Ask natural-language questions against Outlook mail, calendar, Teams messages, SharePoint, OneDrive, and People. Fetch entities by URL, run OpenAPI actions (sendMail, copy, move), call functions (getSchedule, delta, reminderView), list Work IQ agents. Use when needing tenant-side M365 data without depending on a running Outlook desktop client. Includes install/check helpers so the skill covers first-time setup.

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

6.6 KB, as published. Nobody here has run it

PowerSkills - Work IQ

Microsoft 365 automation through the official Work IQ CLI. Talks straight to Graph via silent SSO, so it reaches mail, calendar, Teams, SharePoint, OneDrive, and People without needing a running Outlook desktop client.

Why not just use outlook?

Aspectpowerskills workiqpowerskills outlook
BackendMicrosoft Graph via Work IQ CLILocal Outlook COM
ReachMail + Calendar + Teams + SharePoint + OneDrive + PeopleMail + Calendar only
Outlook client requiredNoYes (must be running)
ElevationWorks from admin or user shellNon-admin only (COM integrity)
Tenant setupRequires user consent (some tenants need admin consent)None
Output shapeStructured Graph entities + deep-linksCOM properties

Use workiq for the strong, cloud-side path. Keep outlook for offline or COM-only situations.

Requirements

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

Setup in one command

If Work IQ is not installed yet, this skill can bootstrap it:

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

install runs npm install -g @microsoft/workiq. accept-eula records EULA acceptance. check reports version, EULA state, and whether the CLI is reachable on PATH.

Actions

.\powerskills.ps1 workiq <action> [--params]
ActionParamsDescription
checkReport install state: installed, version, path, eula_accepted
install[--scope user|machine]Install Work IQ globally via npm (user scope by default)
accept-eulaAccept Work IQ EULA (required once before any query)
versionShow Work IQ CLI version
ask--question "text" [--agent name] [--timeout 120]Natural-language query against a Work IQ agent
agents[--get-card name]List Work IQ agents, or return one agent card
fetch--url <graph-path>Fetch a Work IQ entity by path (e.g. /me, /me/messages)
search-paths--filter <regex> [--backend graph-v1|sharepoint-rest|dataverse]Discover Graph paths by regex (helps build fetch/call-function URLs)
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>Call a read-only Graph function (e.g. /me/calendar/getSchedule?...). Include the query string in --url.
do-action--url <path> [--body <json>]POST a Graph action (e.g. /me/sendMail)
create--url <collection> --body <json>POST a new entity (e.g. /me/messages)
update--url <entity> --body <json>PATCH an existing entity (e.g. /me/events/{id})
delete--url <entity>DELETE an entity
debug--conversation <id>Create a Work IQ debug share link for a conversation
raw--args "arg1 arg2 ..."Escape hatch: run any raw workiq sub-command
helpShow this file

Examples

# One-time setup
.\powerskills.ps1 workiq install
.\powerskills.ps1 workiq accept-eula
.\powerskills.ps1 workiq check

# Natural language against your inbox / calendar / Teams
.\powerskills.ps1 workiq ask --question "What's on my calendar tomorrow?"
.\powerskills.ps1 workiq ask --question "Summarize unread emails from the last 24h and prioritize"
.\powerskills.ps1 workiq ask --question "Show Teams messages from #engineering in the last 3 hours"

# List agents available in this tenant
.\powerskills.ps1 workiq agents

# Discover Graph paths and fetch entities
.\powerskills.ps1 workiq search-paths --filter "calendar"
.\powerskills.ps1 workiq fetch --url "/me/messages?$top=5"
.\powerskills.ps1 workiq get-schema --path "/me/calendar/events"

# Call a Graph function (query string lives in --url)
.\powerskills.ps1 workiq call-function --url "/me/calendar/getSchedule?startDateTime=2026-07-02T00:00:00&endDateTime=2026-07-02T23:59:59"

# Send a mail via Graph action
.\powerskills.ps1 workiq do-action --url "/me/sendMail" `
  --body '{"message":{"subject":"Hi","body":{"contentType":"Text","content":"Test"},"toRecipients":[{"emailAddress":{"address":"[email protected]"}}]}}'

# Escape hatch for anything the wrapper does not surface yet
.\powerskills.ps1 workiq raw --args "policy list"

Output

Every action returns the standard PowerSkills envelope:

{
  "status": "success",
  "exit_code": 0,
  "data": { ... },
  "timestamp": "2026-07-01T18:00:00+02:00"
}

For actions that surface raw Work IQ output (ask, raw, fetch), data contains:

  • stdout - the text Work IQ returned (ANSI codes are stripped)
  • stderr - any warnings Work IQ printed
  • exit_code - Work IQ's own exit code
  • command - the exact argv that was executed (for debugging)

Structured actions (check, version, agents) return parsed fields.

Notes and quirks

  • stdio transport only. Work IQ's mcp command runs over stdio. This skill does not spin up an HTTP MCP server; if you want MCP integration, register workiq mcp in your host's MCP config directly.
  • .cmd vs .exe. On Windows, calling shims from Node causes spawn EINVAL. This skill resolves the real workiq.exe under %APPDATA%\npm\node_modules\@microsoft\workiq\bin\win-x64\workiq.exe when possible, and falls back to whatever is on PATH.
  • First-run consent. The first ask may pop a browser window for consent. After that, silent SSO takes over.
  • Tenant policy. Some enterprise tenants require an admin to consent to Work IQ before users can use it. If ask fails with a consent error, share the message with your IT admin.
  • Deep-links can be long. ask output often contains multi-hundred-character deep-link URLs. The wrapper leaves them intact so the agent can follow them.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.