Agent skill
workiq
This skill should be used when the user asks to "install WorkIQ", "set up WorkIQ", "query my emails with AI", "connect AI to Microsoft 365", "query my meetings or documents", "use workiq ask", or wants to use natural language to search Microsoft 365 data (emails, meetings, Teams messages, documents, people) from an AI assistant.
Install this agent skill to your Project
npx add-skill https://github.com/ianphil/my-skills/tree/main/workiq
SKILL.md
Microsoft Work IQ
Microsoft Work IQ is a CLI that connects AI assistants to Microsoft 365 Copilot data. Use it to query emails, meetings, documents, Teams messages, and people information using natural language—directly from a terminal or from within GitHub Copilot CLI.
Note: Work IQ is currently in public preview. Features and APIs may change.
Prerequisites
- Node.js installed
- Microsoft 365 subscription with a Copilot license
- Administrative consent for the Work IQ application in your Microsoft Entra tenant
Admin Consent
Work IQ requires permissions that need administrative consent in your Entra tenant.
- If you are a tenant admin: Grant consent via the Azure portal or Microsoft Entra admin center
- If you are not an admin: Contact your organization administrator to grant consent
Reference: User and admin consent overview
Installation
Via GitHub Copilot CLI (recommended)
/plugin marketplace add github/copilot-plugins
/plugin install workiq@copilot-plugins
Restart Copilot CLI, then query M365 data directly in conversation.
Global install via npm
npm install -g @microsoft/workiq
First-Time Setup
Accept the EULA before first use:
workiq accept-eula
Commands
workiq accept-eula # Accept the EULA (required once)
workiq ask # Interactive mode (multi-turn conversation)
workiq ask -q "..." # Single question
workiq version # Show version info
Global options
| Option | Description | Default |
|---|---|---|
-t, --tenant-id <id> |
Microsoft Entra tenant ID | common |
--version |
Show version | |
-?, -h, --help |
Help |
workiq ask options
| Option | Description |
|---|---|
-q, --question <question> |
The question to ask |
Platform Support
- Windows (x64 and ARM64)
- Linux (x64 and ARM64)
- macOS (x64 and ARM64)
- Windows Subsystem for Linux (WSL) with browser support
What Data Can Be Queried
| Data Type | Example Query |
|---|---|
| Emails | "What did John say about the proposal?" |
| Meetings | "What's on my calendar tomorrow?" |
| Documents | "Find my recent PowerPoint presentations" |
| Teams messages | "Summarize today's messages in the Engineering channel" |
| People | "Who is working on Project Alpha?" |
Example Queries
Emails
workiq ask -q "What did John say about the proposal?"
workiq ask -q "Summarize emails from Sarah about the budget"
workiq ask -q "Find unread emails about Q4 planning"
Meetings / Calendar
workiq ask -q "What's on my calendar tomorrow?"
workiq ask -q "What was discussed in the standup this morning?"
workiq ask -q "What are my upcoming meetings this week?"
Documents
workiq ask -q "Find my recent PowerPoint presentations"
workiq ask -q "Find documents I worked on yesterday"
workiq ask -q "Summarize the specification document for the user portal"
Teams Messages
workiq ask -q "Summarize today's messages in the Engineering channel"
workiq ask -q "What did the team decide about the API design in Teams?"
People
workiq ask -q "Who is working on Project Alpha?"
workiq ask -q "Who are my manager's direct reports?"
Key Workflows
Finding project context while coding
To retrieve meeting/email context for a feature under development:
workiq ask -q "What requirements did Sarah share about the customer portal authentication feature?"
Work IQ returns meeting notes, emails, shared documents, and team decisions to give you context before writing code.
Starting feature implementation from a spec document
To summarize a SharePoint specification before coding:
workiq ask -q "Summarize the key requirements and features outlined in the specification document for the user portal testing sandbox."
Analyzing client feedback from meeting notes
To extract and triage issues raised in a Teams meeting, use interactive mode:
workiq ask
# > What were the specific issues raised by Alex in yesterday's meeting with Contoso?
# > Were any of these issues flagged as blocking the rollout?
Query Tips
When calling workiq ask -q from other skills or scripts, append these instructions to your query for tighter output:
- For concise responses: Add
"Be concise. Bullet points only. No follow-up offers."at the end of your query. WorkIQ's default responses are conversational and verbose — this suffix reduces output by ~60%. - For time-scoped queries: Use explicit dates (
"messages sent since 2026-02-25") rather than relative phrases ("last 24 hours"). Some Teams thread types don't reliably support relative time filtering. - For structured extraction: Ask for specific fields:
"List sender, subject, and action needed"produces cleaner output than open-ended"Summarize my emails".
Security and Privacy
Work IQ inherits Microsoft 365 Copilot's data protections:
- Accesses only data the authenticated user already has permission to view
- Does not store Microsoft 365 data—retrieves on-demand only
- Follows organizational security policies
- Enterprise admins have visibility and control over usage
Resources
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
commit
This skill should be used when the user asks to "commit changes", "push my code", "commit and push", "save my work", or wants to stage all changes and push to remote.
prime-feat
This skill should be used when the user asks to "load feature context", "resume feature work", "prime feature N", "continue feature N", or wants to load all planning artifacts for a specific feature number.
implement-agents
This skill should be used when the user asks to "implement in parallel", "run phases concurrently", "parallel implement", "implement-agents phase X phase Y", or wants to orchestrate multiple agents running /implement simultaneously.
code-walkthrough
Generate structured, hallucination-proof code walkthroughs using Showboat. Use when the user asks to "walk me through this code", "explain this codebase", "create a walkthrough", "document how this works", "give me a tour of this repo", or wants a readable narrative document that explains code with real verified snippets. Also triggers on "showboat", "linear walkthrough", or "code documentation". Not for quick code questions — this produces a full markdown document.
ainotes
This skill should be used when the user asks to "consolidate notes", "summarize ainotes", "clean up notes", "ainotes", or wants to consolidate accumulated agent observations into a compact summary.
implement
This skill should be used when the user asks to "implement phase N", "implement task T001", "do TDD for phase", "implement T001-T009", or wants to execute tasks following strict TDD red-green-refactor workflow.
Didn't find tool you were looking for?