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.
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o ms-outlook-teams-assistant.zip https://jpskill.com/download/8843.zip && unzip -o ms-outlook-teams-assistant.zip && rm ms-outlook-teams-assistant.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/8843.zip -OutFile "$d\ms-outlook-teams-assistant.zip"; Expand-Archive "$d\ms-outlook-teams-assistant.zip" -DestinationPath $d -Force; ri "$d\ms-outlook-teams-assistant.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
ms-outlook-teams-assistant.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
ms-outlook-teams-assistantフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Claude が読む原文 SKILL.md(中身を展開)
この本文は AI(Claude)が読むための原文(英語または中国語)です。日本語訳は順次追加中。
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)
- Ensure Outlook Desktop is installed and signed in.
- Install the Python dependency (ask before doing this on the machine):
pip install pywin32
- Create a config file:
- Copy
references/config.example.json→references/config.jsonand fill it. - IMPORTANT: Do not commit
references/config.jsonif it contains personal IDs.
- Copy
B) Teams via Graph (optional)
Only if you can create an Entra ID app registration and grant permissions.
- Copy
references/config.example.json→references/config.jsonand fillteams.tenantId,teams.clientId, andteams.scopes. - Then run
scripts/teams_scan.pyonce 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
snoozeUntiltimestamp.
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=trueANDneedsReply=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-draftis 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).