Agent Skills
› fanfan-de/anybox
› teams-reply-drafting
teams-reply-drafting
GitHub用于从Microsoft Teams上下文中识别需回复的消息并生成草稿。支持指定范围或自动扫描未读消息、提及及近期线程,遵循简洁回复规则,避免猜测,必要时引导至Planner任务管理。
Trigger Scenarios
用户希望快速回复Teams消息
需要整理未读或提及的对话草稿
询问哪些Teams消息需要处理
Install
npx skills add fanfan-de/anybox --skill teams-reply-drafting -g -y
SKILL.md
Frontmatter
{
"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 |
| Create Microsoft Planner tasks instead of replying in Teams | ../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
- If the user gave explicit scope, use the cheapest matching path first:
- specific message or thread path:
fetch, thenreply_to_messageonly if the user wants to send - named channel:
resolve_team,resolve_channel, thenlist_channel_messages - named chat or DM:
resolve_chat, thenlist_chat_messages
- specific message or thread path:
- If no explicit scope was provided, start with:
list_chats(unread_only=True)for unread direct conversations and group chatslist_recent_threadsfor recent channel or chat activity
- 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
- To detect recent mentions, get the caller profile and match
TeamsMessageResult.mentionsagainst the caller's user ID from direct message-history reads. Do not rely on Teams search hits for mention detection. - If the context is incomplete, write the smallest useful clarifying reply instead of guessing.
- 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:
*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.
Version History
- 08dc189 Current 2026-07-05 19:07


