/SKILL.md
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.
npx skillsauth add abhinavjp/ms-outlook-teams-assistant ms-outlook-teams-assistantInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
pip install pywin32references/config.example.json → references/config.json and fill it.references/config.json if it contains personal IDs.Only if you can create an Entra ID app registration and grant permissions.
references/config.example.json → references/config.json and fill teams.tenantId, teams.clientId, and teams.scopes.scripts/teams_scan.py once to complete Device Code sign-in.See references/teams-graph-setup.md.
Use scripts/scan_outlook.py.
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 200Heuristics (editable in config):
Output:
Then:
--mode telegram, send a single concise reminder message with bullet items.This skill uses a local state file to avoid nag loops.
internetMessageId (or subject+timestamp fallback) to the dismissed list.snoozeUntil timestamp.Use scripts/state.py helpers (or edit JSON directly if needed).
Use scripts/draft_reply.py.
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:
needsReply=truementionedMe=true AND needsReply=trueThe agent should send the output to Telegram if non-empty.
Inputs:
EntryID (preferred) or search by subject + recent window.Behavior:
references/writing-style.md.Outputs:
--create-draft is set.Ask only what you cannot infer:
Keep questions minimal (max 3 at a time).
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.