ms-outlook-teams-assistant

Track and nag about Microsoft Outlook email and (optionally) Microsoft Teams messages on a Windows machine, without relying on web versions. Use when the user asks to: (1) monitor inbox/mentions and remind them on Telegram/Teams until dismissed, (2) draft short, personable, low-jargon email replies from an existing Outlook thread, (3) surface action items from the last N days (default 7). Works via Outlook Desktop automation (COM) and optionally Microsoft Graph for Teams if configured.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "ms-outlook-teams-assistant" with this command: npx skills add abhinavjp/ms-outlook-teams-assistant/abhinavjp-ms-outlook-teams-assistant-ms-outlook-teams-assistant

MS Outlook + Teams Assistant (Desktop-first)

What this skill does

  • Inbox nagging (Outlook Desktop): find messages from the last 7 days that likely need a reply, then send reminders until dismissed.
  • Email reply drafting: produce concise drafts that match the user’s tone rules (conversational, spartan, polite; simple English; short; reduce redundancy; avoid em dashes).
  • Teams tracking (optional): if Microsoft Graph is configured and permitted by tenant policy, track recent Teams chat messages that likely need a reply and nag similarly.

Safety defaults

  • Do not auto-send emails or Teams messages.
  • Create drafts in Outlook, or paste drafts into Telegram for approval.
  • For reminders: send to Telegram by default; only send to Teams if explicitly enabled.

Setup (one time)

A) Outlook Desktop automation (recommended)

  1. Ensure Outlook Desktop is installed and signed in.
  2. Install the Python dependency (ask before doing this on the machine):
    • pip install pywin32
  3. Create a config file:
    • Copy references/config.example.jsonreferences/config.json and fill it.
    • IMPORTANT: Do not commit references/config.json if it contains personal IDs.

B) Teams via Graph (optional)

Only if you can create an Entra ID app registration and grant permissions.

  • Copy references/config.example.jsonreferences/config.json and fill teams.tenantId, teams.clientId, and teams.scopes.
  • Then run scripts/teams_scan.py once to complete Device Code sign-in.

See references/teams-graph-setup.md.

Core workflows

1) Scan and remind (Outlook)

Use scripts/scan_outlook.py.

1b) Scan Teams (Graph)

Use scripts/teams_scan.py.

Parameters:

  • --days 7 (default)

First run will print a device code sign-in message (follow it once).

Parameters:

  • --days 7 (default)
  • --mode report|telegram (default: report)
  • --max-items 200

Heuristics (editable in config):

  • Within last N days
  • Not from obvious broadcast sources
  • Prefer threads where user is To: (not only CC) OR subject/body contains direct asks
  • Prefer messages not replied by user (best-effort)

Output:

  • A list of actionable items with: subject, sender, received time, why it was flagged.

Then:

  • If --mode telegram, send a single concise reminder message with bullet items.

2) Dismiss / snooze an item

This skill uses a local state file to avoid nag loops.

  • Dismiss: add the message’s internetMessageId (or subject+timestamp fallback) to the dismissed list.
  • Snooze: store a snoozeUntil timestamp.

Use scripts/state.py helpers (or edit JSON directly if needed).

3) Draft an email reply (Outlook)

Use scripts/draft_reply.py.

4) Generate reminders (no send)

Use scripts/scan_all.py to update cached scan results, then scripts/remind.py to generate a Telegram-ready reminder message (it does not send). It applies:

  • 1:1 Teams → remind when needsReply=true
  • Group Teams → remind when mentionedMe=true AND needsReply=true
  • Outlook → remind for flagged items

The agent should send the output to Telegram if non-empty.

Inputs:

  • Either a message EntryID (preferred) or search by subject + recent window.

Behavior:

  • Extract the thread (best-effort) + key metadata.
  • Generate 2 drafts:
    • Short (2–5 sentences)
    • Normal (5–10 sentences)
  • Apply tone rules from references/writing-style.md.

Outputs:

  • Print drafts to stdout.
  • Optionally create an Outlook draft reply (no sending) if --create-draft is set.

When you need more context from the user

Ask only what you cannot infer:

  • Which email to reply to (subject / sender / when)
  • The user’s intent (agree/decline/ask for info/confirm timeline)
  • Any constraints (deadlines, attachments, names)

Keep questions minimal (max 3 at a time).

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

clinic-visit-prep

帮助患者整理就诊前问题、既往记录、检查清单与时间线,不提供诊断。;use for healthcare, intake, prep workflows;do not use for 给诊断结论, 替代医生意见.

Archived SourceRecently Updated
Automation

changelog-curator

从变更记录、提交摘要或发布说明中整理对外 changelog,并区分用户价值与内部改动。;use for changelog, release-notes, docs workflows;do not use for 捏造未发布功能, 替代正式合规审批.

Archived SourceRecently Updated
Automation

klaviyo

Klaviyo API integration with managed OAuth. Access profiles, lists, segments, campaigns, flows, events, metrics, templates, catalogs, and webhooks. Use this skill when users want to manage email marketing, customer data, or integrate with Klaviyo workflows. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway).

Archived SourceRecently Updated
Automation

lifelog

生活记录自动化系统。自动识别消息中的日期(今天/昨天/前天/具体日期),使用 SubAgent 智能判断,记录到 Notion 对应日期,支持补录标记。 适用于:(1) 用户分享日常生活点滴时自动记录;(2) 定时自动汇总分析并填充情绪、事件、位置、人员字段

Archived SourceRecently Updated