teams-reply-drafting

Draft Microsoft Teams replies from available context. Use when the user wants help finding messages that likely need a response and preparing reply drafts.

685 stars

Best use case

teams-reply-drafting is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

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 using teams-reply-drafting should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/teams-reply-drafting/SKILL.md --create-dirs "https://raw.githubusercontent.com/openai/plugins/main/plugins/teams/skills/teams-reply-drafting/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/teams-reply-drafting/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How teams-reply-drafting Compares

Feature / Agentteams-reply-draftingStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Draft Microsoft Teams replies from available context. Use when the user wants help finding messages that likely need a response and preparing reply drafts.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 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) |

## 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.

## 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.

Related Skills

teams

685
from openai/plugins

Summarize Microsoft Teams conversations, triage unread or recent activity, draft follow-ups, and manage Planner tasks through connected Teams data. Use when the user wants to review chats or channels, identify owners and next steps, prepare a safe reply or post, or turn follow-ups into Teams-native tasks.

teams-planner-task-management

685
from openai/plugins

Review and manage Microsoft Teams Planner tasks. Use when the user wants to inspect plans or buckets, create tasks from follow-ups, update task fields, or safely delete a Planner task.

teams-notification-triage

685
from openai/plugins

Triage recent Microsoft Teams activity into a priority queue or task list for the user.

teams-messages

685
from openai/plugins

Compose, route, draft, or send Microsoft Teams messages with exact destination resolution, real user mentions, and Teams-native DM or channel routing.

teams-daily-digest

685
from openai/plugins

Create a daily Microsoft Teams digest from selected chats, channels, or workstreams. Use when the user asks for a daily Teams recap or summary of today's Teams activity.

teams-channel-summarization

685
from openai/plugins

Summarize activity from one Microsoft Teams channel or one scoped Teams conversation and return a concise recap or post-ready follow-up.

slack-reply-drafting

685
from openai/plugins

Draft Slack replies from available context. Use when the user wants help finding messages that likely need a response and preparing reply drafts.

outlook-email-reply-drafting

685
from openai/plugins

Draft Outlook email replies safely from connected mailbox context. Use when the user wants to reply to a thread, decide whether to reply-all, prepare a draft before sending, or turn the latest Outlook message into a polished response.

workflow

685
from openai/plugins

Vercel Workflow DevKit (WDK) expert guidance. Use when building durable workflows, long-running tasks, API routes or agents that need pause/resume, retries, step-based execution, or crash-safe orchestration with Vercel Workflow.

verification

685
from openai/plugins

Full-story verification — infers what the user is building, then verifies the complete flow end-to-end: browser → API → data → response. Triggers on dev server start and 'why isn't this working' signals.

vercel-storage

685
from openai/plugins

Vercel storage expert guidance — Blob, Edge Config, and Marketplace storage (Neon Postgres, Upstash Redis). Use when choosing, configuring, or using data storage with Vercel applications.

vercel-services

685
from openai/plugins

Vercel Services — deploy multiple services within a single Vercel project. Use for monorepo layouts or when combining a backend (Python, Go) with a frontend (Next.js, Vite) in one deployment.