mcpbeat Sign in

Action Item Extractor Agent Skill

Extract action items with owners, deadlines, and priorities from meeting content

1k tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
960
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/microsoft/work-iq --skill action-item-extractor

The instruction itself

19 sections, as written by the author

Action Item Extractor

Description

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.

Prerequisites

| Requirement | Details |

|-------------|---------|

| WorkIQ CLI | User profile, meeting details, chat messages (read queries via ask) |

Required Inputs

| Input | Type | Description |

|-------|------|-------------|

| meeting_identifier | string | Meeting title, keyword, or "latest" |

| date | string (optional) | Target date (defaults to today) |


Execution Steps

Step 1: Retrieve User Profile, Meeting Details, and Attendees

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.

Step 2: Pull Teams Meeting Chat Messages

workiq-ask (
  question: "Get all chat messages from the Teams meeting '<meeting subject>' held on <date>, including sender names and timestamps."
)

Step 3: Parse for Action-Oriented Language

Scan messages for:

  • Explicit assignments: "[name] will...", "AI: [person] to..."
  • Commitments: "I'll handle...", "Let me take care of..."
  • Deadlines: "by Friday", "end of sprint", "before next meeting"
  • Urgency markers: "ASAP", "urgent", "blocker", "critical"

Step 4: Cross-Reference Owners Against Attendee List

Match extracted owner names to attendees[] from Step 1. Flag any unresolved names.

Step 5: Assign Priority

  • P1 (High): Contains urgency markers, blocker language, or executive requests
  • P2 (Medium): Standard commitments with deadlines
  • P3 (Low): Nice-to-haves, "when you get a chance" items

Step 6: Format Action Items Table

| # | Description | Owner | Due Date | Priority |

|---|-------------|-------|----------|----------|

| 1 | ... | ... | ... | P1/P2/P3 |

Step 7: Output Structured Data

Return action items as structured data, plus inline display for the user.


Error Handling

| 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" |

Output

Returns: structured action item list with owners, due dates, and priorities. Usable as input for downstream recipes.

Instructions

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.

  • Set the meeting identifier: Pass a meeting title keyword (e.g., "sprint planning"), a partial title, or "latest" to target the most recent meeting.
  • Optionally specify a date: Provide an ISO date string (e.g., "2026-03-03") to scope the calendar lookup. Omit to default to today.
  • Invoke the skill: Pass meeting_identifier (and optionally date) as inputs. The skill will execute Steps 1–7 automatically.
  • Consume the output: The structured action item table is returned as data and is also rendered inline for the user.

Examples

Example 1: Extract items from today's sprint planning meeting

{
  "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 |


Example 2: Extract items from the latest meeting (no date specified)

{
  "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.


Example 3: Target a specific meeting by keyword on a past date

{
  "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.

Other skills for the same job

different authors, same section of the catalogue
Meeting Insights Analyzer
by frostant
×8

Analyzes meeting transcripts and recordings to uncover behavioral patterns, communication insights, and actionable feedback. Identifies when you avoid conflict, use filler words, dominate conversations, or miss opportunities to listen. Perfect for professionals seeking to improve their communication and leadership skills.

3k tokens
Slack Gif Creator
by JayZeeDesign
×7

Toolkit for creating animated GIFs optimized for Slack, with validators for size constraints and composable animation primitives. This skill applies when users request animated GIFs or emoji animations for Slack from descriptions like "make me a GIF for Slack of X doing Y".

53k tokens scripts
Developer Growth Analysis
by frostant
×6

Analyzes your recent Claude Code chat history to identify coding patterns, development gaps, and areas for improvement, curates relevant learning resources from HackerNews, and automatically sends a personalized growth report to your Slack DMs.

4k tokens
Slack Gif Creator
by anthropics
vendor ×5

Knowledge and utilities for creating animated GIFs optimized for Slack. Provides constraints, validation tools, and animation concepts. Use when users request animated GIFs for Slack like "make me a GIF of X doing Y for Slack.

11k tokens scripts
Skill Share
by frostant
×4

A skill that creates new Claude skills and automatically shares them on Slack using Rube for seamless team collaboration and skill discovery.

728 tokens
Electron
by vercel-labs
vendor ×2

Automate Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify, etc.) using agent-browser via Chrome DevTools Protocol. Use when the user needs to interact with an Electron app, automate a desktop app, connect to a running app, control a native app, or test an Electron application. Triggers include "automate Slack app", "control VS Code", "interact with Discord app", "test this Electron app", "connect to desktop app", or any task requiring automation of a native Electron application.

2k tokens
Notion Meeting Intelligence
by openai
vendor ×2

Prepare meeting materials with Notion context and Codex research; use when gathering context, drafting agendas/pre-reads, and tailoring materials to attendees.

18k tokens
Daily Meeting Update
by softaworks
×2

Interactive daily standup/meeting update generator. Use when user says 'daily', 'standup', 'scrum update', 'status update', 'what did I do yesterday', 'prepare for meeting', 'morning update', or 'team sync'. Pulls activity from GitHub, Jira, and Claude Code session history. Conducts 4-question interview (yesterday, today, blockers, discussion topics) and generates formatted Markdown update.

8k tokens scripts

How to use it

Copy the folder

Take microsoft/action-item-extractor from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.