teams-reply-drafting
$
npx mdskill add openai/plugins/teams-reply-draftingDraft targeted Teams replies from conversation context.
- Helps users locate messages requiring responses quickly.
- Integrates with Teams channels, chats, and message threads.
- Decides scope based on user-provided filters or default signals.
- Delivers ready-to-send text drafts for immediate posting.
SKILL.md
.github/skills/teams-reply-draftingView on GitHub ↗
--- name: teams-reply-drafting description: Draft Microsoft Teams replies from available context. Use when the user wants help finding messages that likely need a response and preparing reply drafts. --- # Teams Reply Drafting Use this skill to identify Teams messages that likely need a reply and produce draft responses grounded in the available conversation context. ## Related Skills | Workflow | Skill | | --- | --- | | Refine or send the final Teams text | [../teams-messages/SKILL.md](../teams-messages/SKILL.md) | | Create Microsoft Planner tasks instead of replying in Teams | [../teams-planner-task-management/SKILL.md](../teams-planner-task-management/SKILL.md) | ## Start Here - If the user provided channels, threads, chats, people, or a time window, use that scope instead of the default fallback. - If no source scope was provided, treat this as best-effort reply drafting from available Teams signals rather than an exact "messages needing reply" detector. - Use draft replies when the user asked for drafting or review, and send when the requested action is to post or reply now. ## Workflow 1. If the user gave explicit scope, use the cheapest matching path first: - specific message or thread path: `fetch`, then `reply_to_message` only if the user wants to send - named channel: `resolve_team`, `resolve_channel`, then `list_channel_messages` - named chat or DM: `resolve_chat`, then `list_chat_messages` 2. If no explicit scope was provided, start with: - `list_chats(unread_only=True)` for unread direct conversations and group chats - `list_recent_threads` for recent channel or chat activity 3. Expand only the conversations needed to answer accurately: - unread chats first - then recent messages containing direct questions or clear asks - then recent mentions detected from message-history reads 4. To detect recent mentions, get the caller profile and match `TeamsMessageResult.mentions` against the caller's user ID from direct message-history reads. Do not rely on Teams search hits for mention detection. 5. If the context is incomplete, write the smallest useful clarifying reply instead of guessing. 6. If a message contains a follow-up but no reply is needed, say that directly. If the user wants it tracked, route the follow-up to the Planner skill instead of drafting a performative Teams reply. ## Drafting Rules - Answer the question first, then add clarification or next steps only when the context supports it. - Keep in-thread replies short unless the thread clearly requires a longer answer. - Preserve thread-specific facts, dates, links, and owners. - If there are multiple plausible reply targets, stop and ask which conversation the user means before drafting anything send-ready. ## Formatting Format multiple drafts as: ```md *Teams Reply Drafts — <scope>* *<chat / channel / thread info>* Draft: <draft text> *<chat / channel / thread info>* Draft: <draft text> ``` - Keep each item minimal: a short header plus the draft text. - If the user asked for a single reply, return only that item. - If nothing likely needing a reply is found, say so directly and explain the scope checked.
More from openai/plugins
- accessibility-and-inclusive-visualizationMake data visualizations accessible and inclusive. Use when the user needs chart or diagram accessibility guidance, text alternatives for complex visuals, color and contrast review, keyboard support, reduced-motion behavior for animation or parallax, or an accessibility QA workflow for exported figures, UML-like diagrams, and dashboards.
- agent-browserBrowser automation CLI for AI agents. Use when the user needs to interact with websites, verify dev server output, test web apps, navigate pages, fill forms, click buttons, take screenshots, extract data, or automate any browser task. Also triggers when a dev server starts so you can verify it visually.
- agent-browser-verifyAutomated browser verification for dev servers. Triggers when a dev server starts to run a visual gut-check with agent-browser — verifies the page loads, checks for console errors, validates key UI elements, and reports pass/fail before continuing.
- agents-sdkBuild AI agents on Cloudflare Workers using the Agents SDK. Load when creating stateful agents, durable workflows, real-time WebSocket apps, scheduled tasks, MCP servers, or chat applications. Covers Agent class, state management, callable RPC, Workflows integration, and React hooks. Biases towards retrieval from Cloudflare docs over pre-trained knowledge.
- ai-elementsAI Elements component library guidance — pre-built React components for AI interfaces built on shadcn/ui. Use when building chat UIs, message displays, tool call rendering, streaming responses, reasoning panels, or any AI-native interface with the AI SDK.
- ai-gatewayVercel AI Gateway expert guidance. Use when configuring model routing, provider failover, cost tracking, or managing multiple AI providers through a unified API.
- ai-generation-persistenceAI generation persistence patterns — unique IDs, addressable URLs, database storage, and cost tracking for every LLM generation
- ai-sdkVercel AI SDK expert guidance. Use when building AI-powered features — chat interfaces, text generation, structured output, tool calling, agents, MCP integration, streaming, embeddings, reranking, image generation, or working with any LLM provider.
- aiq-deploy|
- aiq-research|