plugins/workiq-productivity/skills/action-item-extractor/SKILL.md
Extract action items with owners, deadlines, and priorities from meeting content
npx skillsauth add microsoft/work-iq action-item-extractorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Parses Teams meeting chat messages for action-oriented language — commitments, assignments, and deadlines. Cross-references owners against the attendee list and assigns priority levels. Outputs a structured table ready for downstream recipes.
| Requirement | Details |
|-------------|---------|
| WorkIQ CLI | User profile, meeting details, chat messages (read queries via ask) |
| Input | Type | Description | |-------|------|-------------| | meeting_identifier | string | Meeting title, keyword, or "latest" | | date | string (optional) | Target date (defaults to today) |
workiq-ask (
question: "What is my profile including display name and time zone? Also find the meeting matching '<meeting_identifier>' on <date> and list all attendees with their names and email addresses."
)
Extract: displayName, time zone, attendee list with names and emails.
workiq-ask (
question: "Get all chat messages from the Teams meeting '<meeting subject>' held on <date>, including sender names and timestamps."
)
Scan messages for:
Match extracted owner names to attendees[] from Step 1. Flag any unresolved names.
| # | Description | Owner | Due Date | Priority | |---|-------------|-------|----------|----------| | 1 | ... | ... | ... | P1/P2/P3 |
Return action items as structured data, plus inline display for the user.
| Error | Solution | |-------|----------| | No chat messages | Report "No meeting content found" | | Unresolved owner names | List as "[Unresolved: partial name]" for user clarification | | No deadlines mentioned | Mark all due dates as "TBD" |
Returns: structured action item list with owners, due dates, and priorities. Usable as input for downstream recipes.
This skill is invoked by recipes or orchestration agents — not directly by end users. To invoke it, supply the required inputs and ensure authentication is configured.
"sprint planning"), a partial title, or "latest" to target the most recent meeting."2026-03-03") to scope the calendar lookup. Omit to default to today.meeting_identifier (and optionally date) as inputs. The skill will execute Steps 1–7 automatically.{
"meeting_identifier": "sprint planning",
"date": "2026-03-03"
}
Output (sample): | # | Description | Owner | Due Date | Priority | |---|-------------|-------|----------|----------| | 1 | Update API docs with new endpoint schema | Firstname1 Lastname1 | 2026-03-07 | P2 | | 2 | Fix login blocker bug before release | Firstname2 Lastname2 | 2026-03-04 | P1 | | 3 | Review UX mocks when you get a chance | [Unresolved: Firstname3] | TBD | P3 |
{
"meeting_identifier": "latest"
}
The skill resolves today's date from the user profile time zone, finds the most recently concluded meeting, and parses its chat transcript for action items.
{
"meeting_identifier": "Q1 budget review",
"date": "2026-02-28"
}
The skill searches calendar events on February 28 for a meeting matching "Q1 budget review", fetches its Teams chat, and returns all commitments made — including any flagged with "ASAP" or "before end of quarter" language as P1 items.
business
Generates a Microsoft Planner status report for one plan, using task status, owners, dates, priorities, buckets, risks, wins, progress, upcoming commitments, and milestones.
tools
Adds Microsoft Entra SSO (single sign-on, no OBO) to a Microsoft 365 Copilot declarative agent whose tools are served by an MCP server — for BOTH widget standards: (1) the MCP Apps standard (from create-mcp-app / the MCP Apps SDK): a plugin manifest such as readiness_plugin.json (or another *_plugin.json with a runtimes[] block) and an EXPRESS-based MCP server; and (2) the OpenAI Apps (OAI Apps) layout from the ui-widget-developer skill: appPackage/mcpPlugin.json and a raw-http MCP server. When the layout is ambiguous, DEFAULT to the MCP Apps standard (most projects use it). The skill auto-detects the layout, reuses the existing named devtunnel + env/.env.local (never creates a second tunnel), registers the Entra app + ATK OAuth (MicrosoftEntra), patches the plugin manifest's runtimes[] auth to OAuthPluginVault, injects a minimal JWKS bearer-token guard into the existing server (an EXPRESS middleware for MCP Apps, or a raw-http guard WITHOUT rewriting to Express for OAI Apps), validates, sideloads, and prints an app-registration summary. SSO only — no OBO. Triggered by: "add sso to my mcp server", "wire entra sso for my copilot agent", "setup sso for mcp apps", "add sso after create-mcp-app", "add sso after ui-widget-developer", "add entra auth to my express mcp server", "configure only sso no obo"
tools
WorkIQ - Microsoft 365 tool surface for agents. Use for any workplace question or write action where data lives in M365. Supports semantic `ask` plus tools (`fetch`, create/update/delete, actions, functions, fetch_blob, path/schema discovery) for mail, meetings/calendar, documents/files, Teams chats/channels, OneDrive/SharePoint, and people. Read triggers, "what did [person] say", priorities/top of mind, meeting decisions/action items, summarize thread/chat, find emails/docs, list meetings/messages/files/channels, project status/updates, "what changed since", download file content. Write triggers, send/reply/forward email, create/update/accept/decline meetings, mark read, delete drafts/items, send/post/reply/react in Teams, set presence. Discovery triggers, available endpoints/paths, fields, request body, schema/data model. Prefer `ask` for synthesis; use entity tools for exact reads/writes.
tools
WorkIQ tools for Microsoft 365 workplace data and actions. Use for email, calendar events and meetings, files, SharePoint, OneDrive, Teams, people, Planner, and other M365 requests. Triggers include cancel meeting or event, accept or decline meetings, create or update events, create an upload session or replace an existing OneDrive file, find or summarize workplace content, send or reply to mail, manage or download files, manage tasks, and discover M365 paths or schemas. Prefer `ask` for synthesis and structured entity tools for exact reads, writes, and binary downloads with `fetch_blob`.