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_work_iq) |
| Input | Type | Description | |-------|------|-------------| | meeting_identifier | string | Meeting title, keyword, or "latest" | | date | string (optional) | Target date (defaults to today) |
workiq-ask_work_iq (
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_work_iq (
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.
tools
Sub-skill of microsoft-365-agents-toolkit. Routed expert system with 100+ micro-expert files for migrating Slack bots to Teams, cross-platform bridging, and dual-platform bot development. USE FOR: migrating Slack bot to Teams, adding Teams support to Slack bot, building dual-platform bots, converting Block Kit to Adaptive Cards, identity/OAuth bridging, deploying bots to Azure or AWS, configuring AI model providers. DO NOT USE FOR: general web development, non-bot projects, standalone Teams development without Slack (use parent skill instead).
tools
Build, test, and deploy code-based Teams apps using the M365 Agents Toolkit CLI. USE FOR: Custom Engine Agents (CEA), Teams bots, tabs, message extensions, Agents Playground local testing, Azure provision/deploy, Slack-to-Teams migration, cross-platform bot development, Block Kit to Adaptive Cards conversion, AI model integration (OpenAI/Azure/Anthropic/Bedrock). DO NOT USE FOR: declarative agents — use the `declarative-agent-developer` skill instead. Triggers: "build a teams bot", "custom engine agent", "CEA", "teams agent", "tab app", "message extension", "test with agents playground", "provision to azure", "deploy to azure", "migrate slack bot", "slack to teams", "convert block kit", "add azure openai to my bot"
tools
--- name: workiq-preview description: Preview build of WorkIQ — the full Microsoft 365 tool surface: agentic semantic queries via ask_work_iq PLUS direct, structured reads and writes for emails, meetings, calendar, documents, Teams messages, OneDrive/SharePoint files, and people. USE THIS SKILL for ANY workplace question or write action where the data lives in Microsoft 365. Read triggers, "what did [person] say", "what are [person]'s priorities", "top of mind from [person]", "what was discussed
development
Query Microsoft 365 Copilot for workplace intelligence - emails, meetings, documents, Teams messages, and people information. USE THIS SKILL for ANY workplace-related question where the answer likely exists in Microsoft 365 data. This includes questions about what someone said, shared, or communicated; meetings, emails, messages, or documents; priorities, decisions, or context from colleagues; organizational knowledge; project status; team activities; or any information that would be in Outlook, Teams, SharePoint, OneDrive, or Calendar. When in doubt about workplace context, try WorkIQ first. Trigger phrases include "what did [person] say", "what are [person]'s priorities", "top of mind from [person]", "what was discussed", "find emails about", "what meetings", "what documents", "who is working on", "what's the status of", "any updates on", etc.