Agent skill

Ms Teams Setup

by davekilleen in davekilleen/Dex

Connect Microsoft Teams for cross-channel context awareness.

MITAuto-check passedDocuments & Office

Install Ms Teams Setup

skills CLI
$ npx skills add davekilleen/Dex --skill ms-teams-setup -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install davekilleen/Dex ms-teams-setup --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/davekilleen/Dex.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/ms-teams-setup .claude/skills/ms-teams-setup && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ms-teams-setup
GitHub stars
493
Token cost
~2.4k tokens
SKILL.md length
697 words
Files
1
Skills in repo
61
Repo updated
First seen
Licence
MIT

At a glance

Connect Microsoft Teams for cross-channel context awareness.

  • Works in 9 steps: Check if Already Connected → Explain What We're Setting Up → Add the Teams MCP Server → …
  • The user says connect Teams
  • SKILL.md covers What This Enables, Privacy, When to Run and Setup Flow, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Ms Teams Setup is an agent skill from davekilleen/Dex. Connect Microsoft Teams for cross-channel context awareness. Use when the user says 'connect Teams', 'hook up Microsoft'. Not for Google email/calendar; use google-workspace-setup.

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Documents & Office, covering Cloud office suites. It works with Microsoft Teams, Model Context Protocol and Google Workspace. The repository describes itself as: Your AI Chief of Staff — a personal operating system starter kit that adapts to your role. No coding required. The licence is MIT.

When your agent uses it

  • The user says connect Teams
  • Hook up Microsoft

Example prompts

  • “connect Teams”
  • “hook up Microsoft”
  • “/ms-teams-setup”

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. Check if Already Connected
  2. Explain What We're Setting Up
  3. Add the Teams MCP Server
  4. Authenticate via OAuth 2.0
  5. Configure Channels
  6. Test the Connection
  7. Save Configuration
  8. Coexistence Check (Slack + Teams)
  9. Capability Cascade (Confirm)

What it can do on your machine

Read from SKILL.md and the folder at commit 227f78e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are yaml and json).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Ms Teams Setup loads about 2.4k tokens when it runs. Until then it costs about 49 tokens; SKILL.md has 697 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~49
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from davekilleen/Dex at commit 227f78e, republished under its MIT licence (© davekilleen). 697 words, ~2,398 tokens.

Download SKILL.mdSave it as .claude/skills/ms-teams-setup/SKILL.md (or your agent's skills folder).
name
ms-teams-setup
description
Connect Microsoft Teams for cross-channel context awareness. Use when the user says 'connect Teams', 'hook up Microsoft'. Not for Google email/calendar; use `google-workspace-setup`.
integration.id
teams
integration.name
Microsoft Teams
integration.mcp_server
teams-mcp
integration.auth
oauth2
<!-- Generated from `.claude/skills/ms-teams-setup/SKILL.md` by `scripts/generate-agents-skills.py`. Do not edit. -->

Teams Setup

Connect your Microsoft Teams workspace to Dex so your daily plans, meeting prep, and people pages get richer context from Teams conversations.

What This Enables

Once connected, Dex can:

  • Meeting Prep: See recent Teams conversations with attendees before your meeting
  • Daily Plan: Surface unread chats and mentions that need your attention
  • Person Context: Know what you last discussed with someone in Teams

Privacy

  • Dex reads Teams messages on demand -- nothing is stored permanently
  • Messages are fetched, summarized, and discarded after the session
  • Only YOUR tenant messages are accessible (scoped to your account)
  • The OAuth token stays local on your machine and is gitignored

When to Run

  • User types /ms-teams-setup
  • User asks about connecting Teams
  • User wants Teams context in daily plans or meeting prep
  • During /integrate-mcp if Teams is mentioned

Setup Flow

Step 1: Check if Already Connected
  1. Try calling teams_health_check() from the Teams MCP server
  2. If healthy and responding, skip to Step 5 (Configure Channels)
  3. If the tool is not available or errors, continue to Step 2
Step 2: Explain What We're Setting Up

Say:

**Let's connect Microsoft Teams to Dex.**

This uses an OAuth 2.0 flow through Microsoft Entra ID (Azure AD) to securely
access your Teams messages and channels.

**What you'll need:**
- Your Microsoft 365 / Teams account credentials
- About 5 minutes (may need admin consent depending on your org)

**Ready to go?**

Wait for confirmation.

Step 3: Add the Teams MCP Server

Check the user's MCP configuration. If teams-mcp is not listed:

  1. Explain what we're adding:
I need to add the Teams connector to your Dex configuration.

This adds a bridge that lets Dex read your Teams messages and channels
through the Microsoft Graph API using OAuth 2.0.
  1. Add to the user's .mcp.json (use the /dex-add-mcp skill or manual edit):
json
{
  "teams-mcp": {
    "command": "npx",
    "args": ["-y", "teams-mcp"],
    "env": {
      "TEAMS_TENANT_ID": "<tenant-id>",
      "TEAMS_CLIENT_ID": "<client-id>"
    }
  }
}
  1. Tell the user the MCP server needs to restart for changes to take effect.
Step 4: Authenticate via OAuth 2.0
  1. Guide the user through the OAuth flow:
**Microsoft Entra ID Authentication**

You'll need to authorize Dex to read your Teams data. This opens a browser
window where you sign in with your Microsoft account.

**Steps:**
1. I'll start the auth flow -- a browser window will open
2. Sign in with your Microsoft 365 account
3. Grant the requested permissions (read messages, channels, presence)
4. The token will be saved locally on your machine

**Starting now...**
  1. Run the Teams MCP auth command (e.g., teams_authenticate())
  2. Verify with teams_health_check()

If health check succeeds:

Connected! I can see your Teams tenant.

If it fails -- admin consent required:

Hmm, your organization requires admin consent for this app.

**Options:**
1. **Ask your IT admin** to approve the app in Entra ID (Azure AD)
   - App permissions needed: Chat.Read, ChannelMessage.Read, User.Read, Presence.Read
2. **Use a personal account** if this is for personal Teams
3. **Skip for now** and come back after admin approval

Which would you prefer?

If it fails -- other error:

That didn't work. A few things to check:

1. **Are you signed into the right Microsoft account?**
2. **Is your organization using Microsoft 365?** (Teams needs an M365 license)
3. **Try signing out of all Microsoft accounts** in your browser, then retry

Want to retry?

Retry up to 2 times, then offer to skip and come back later.

Step 5: Configure Channels

Once connected, ask:

**Which Teams channels matter most for your work?**

I'll prioritize these when building your daily digest and meeting prep.

Some common choices:
- Your 1:1 chats (always included automatically)
- Team channels (e.g., General, your department)
- Project-specific channels
- Customer or deal channels

**Which channels should I watch?** (Just list names, or say "show me what's available")

If they say "show me what's available":

  • Run teams_list_channels() or equivalent
  • Show the list and let them pick

Save their choices for the config file.

Step 6: Test the Connection

Run a quick test to confirm everything works:

  1. teams_list_chats(limit=3) -- verify chats load
  2. teams_search_messages(query="test", count=1) -- verify search works

Show a brief summary:

**Quick test results:**
- Chats: Found [N] recent conversations
- Search: Working

Everything looks good!

If either fails, troubleshoot before proceeding.

Step 7: Save Configuration

Write to System/integrations/config.yaml -- update the teams section:

yaml
teams:
  enabled: true
  configured_at: YYYY-MM-DD
  priority_channels:
    - channel-name-1
    - channel-name-2
  features:
    teams_digest: true
    meeting_prep: true
    person_enrichment: true

If the file already exists, only update the teams: section. Preserve other integration configs.

Step 8: Coexistence Check (Slack + Teams)

Check if Slack is also enabled in config.yaml. If so:

**Both Slack and Teams are now connected!**

Here's how they work together:
- **Daily Plan** shows both digests, clearly labeled: "**Slack:**" and "**Teams:**"
- **Meeting Prep** searches both for attendee context
- No duplication -- each source is labeled and deduplicated where the same person appears in both
- You can disable either one anytime without affecting the other

When both Slack AND Teams are enabled:

  • /daily-plan shows both digests side by side
  • /meeting-prep checks both for attendee context
  • No duplication -- each source is labeled
  • If the same person appears in both Slack and Teams, context is merged with source labels
Show full SKILL.md (263 more words)Show less
Step 9: Capability Cascade (Confirm)
**Teams is connected!**

Here's what just changed:

### Enhanced
- **`/daily-plan`** -- Now includes a Teams digest with unread chats and mentions
- **`/meeting-prep`** -- Searches Teams for recent threads with attendees

### New Superpowers
- **Teams Digest** -- Appears automatically in your daily plans
- **Teams Person Context** -- People pages include latest Teams conversations

### How It Works
- **Reading:** Teams context appears automatically in your plans and prep
- **Privacy:** Messages are fetched on demand, summarized, then discarded. Nothing stored permanently.

You can adjust settings anytime by running `/ms-teams-setup` again.

Troubleshooting

Token Expired

OAuth tokens expire periodically (typically every 60-90 minutes, with a refresh token lasting longer). If you see auth errors:

  1. Run /ms-teams-setup
  2. The OAuth flow will refresh your token automatically
  3. If refresh fails, you'll need to sign in again

This is normal -- Microsoft OAuth tokens have shorter lifespans than some other services.

Your Microsoft 365 admin may need to approve the app. Common permissions needed:

  • Chat.Read -- Read your chat messages
  • ChannelMessage.Read.All -- Read channel messages
  • User.Read -- Read your profile
  • Presence.Read -- Read presence status

Ask your IT team to approve these in Entra ID > Enterprise Applications.

"Teams MCP not found"

The server might not be in your configuration. Re-run /ms-teams-setup and it will detect and fix this.

Rate Limiting

Microsoft Graph API has throttling limits. If you see 429 errors, wait a few minutes and retry. This rarely happens during normal use.

No Messages Found

A few possibilities:

  • Your tenant may restrict API access. Check with your IT/admin team.
  • Ensure your account has a Teams license (not just Outlook).
  • Try teams_search_messages(query="hello", count=1) as a basic test.

Reconfiguration

If the user runs /ms-teams-setup when already configured:

  1. Check current status with teams_health_check()
  2. Show current config from System/integrations/config.yaml
  3. Offer options:
    • Update priority channels
    • Toggle features (digest, meeting prep, person enrichment)
    • Re-authenticate (if token expired)
    • Disconnect Teams
Disconnect Flow

If user wants to disconnect:

  1. Update System/integrations/config.yaml:
    yaml
    teams:
      enabled: false
  2. Confirm: "Teams is disconnected. Your daily plans and meeting prep will no longer include Teams context. Run /ms-teams-setup anytime to reconnect."

© davekilleen, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/ms-teams-setup of davekilleen/Dex.

Open the folder on GitHubat commit 227f78e

Compare with similar skills

Ms Teams Setup next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Ms Teams Setup compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ms Teams Setup this skilldavekilleen/Dex493—~2.4kAutomated safety check: PassMIT
Google Workspaceswarmclawai/swarmclaw688—~680Automated safety check: PassMIT
Managing Google Workspacetaylorwilsdon/google_workspace_mcp3.3k—~2.9kAutomated safety check: PassMIT
Gwskv0906/pm-kit138—~1.6kAutomated safety check: PassMIT
Google Workspacemitsuhiko/agent-stuff3.2k—~919Automated safety check: PassApache-2.0
Auth Preflightai-analyst-lab/ai-analyst304—~3.1kAutomated safety check: PassMIT

Similar skills

  • Google Workspace

    swarmclawai/swarmclaw

    Use Google Workspace CLI (gws) for Drive, Docs, Sheets, Gmail, Calendar, Chat, and related Workspace API tasks.

    688 GitHub stars~680 tokensUpdated 3 mo ago
    Documents & OfficeAuto-check passed
  • Managing Google Workspace

    taylorwilsdon/google_workspace_mcp

    Manages Google Workspace operations across 12 services (Gmail, Drive, Calendar, Docs, Sheets, Slides, Forms, Tasks, Contacts, Chat, Apps Script, Custom Search).

    3.3k GitHub stars~2.9k tokensUpdated 2 days ago
    Documents & OfficeAuto-check passed
  • Gws

    kv0906/pm-kit

    This skill should be used when the user asks to "set up gws", "install Google Workspace CLI", "connect Gmail to Claude", "manage Google Drive from terminal", "send email from CLI", "check my…

    138 GitHub stars~1.6k tokensUpdated 3 mo ago
    Documents & OfficeAuto-check passed
  • Google Workspace

    mitsuhiko/agent-stuff

    Access Google Workspace APIs (Drive, Docs, Calendar, Gmail, Sheets, Slides, Chat, People) via local helper scripts without MCP.

    3.2k GitHub stars~919 tokensUpdated 11 days ago
    Documents & OfficeAuto-check passed
  • Auth Preflight

    ai-analyst-lab/ai-analyst

    Verify Google Workspace MCP authentication at the start of any session that needs Google APIs (Docs, Slides, Drive).

    304 GitHub stars~3.1k tokensUpdated 8 days ago
    Documents & OfficeAuto-check passed
  • Google Chat

    sanjay3290/ai-skills

    Interact with Google Chat - send, read, edit, delete and react to messages, share images and files, reply in threads, and manage spaces and DMs.

    431 GitHub stars~1.2k tokensUpdated 28 days ago
    Backend & APIsAuto-check passed

More from davekilleen/Dex

All 61 skills in this repo
  • Dspy Ruby

    davekilleen/Dex

    This skill should be used when working with DSPy.rb, a Ruby framework for building type-safe, composable LLM applications.

    493 GitHub starsUsed in 1 repo~3.9k tokens
    Auto-check passed
  • Diff Adopt Profile

    davekilleen/Dex

    Adopt a full published Heydex profile by handle ('set me up like @davekilleen').

    493 GitHub stars~2.1k tokensUpdated today
    Auto-check passed
  • Diff Generate

    davekilleen/Dex

    Package one workflow — how you use Dex for a specific job — into a shareable DexDiff methodology doc.

    493 GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Creating Agent Skills

    davekilleen/Dex

    Expert guidance for creating, writing, and refining Claude Code Skills.

    493 GitHub starsUsed in 1 repo~1.7k tokens
    Auto-check passed
  • Feedback

    davekilleen/Dex

    Report a Dex bug to the Dex team with zero homework — Dex investigates locally, builds a privacy-safe report, shows it to you (or auto-sends if you've chosen that), and tracks the ticket until it's…

    493 GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • Dhh Rails Style

    davekilleen/Dex

    This skill should be used when writing Ruby and Rails code in DHH's distinctive 37signals style.

    493 GitHub starsUsed in 1 repo~1.7k tokens
    Auto-check passed

Questions about Ms Teams Setup

What does Ms Teams Setup do?

Connect Microsoft Teams for cross-channel context awareness. Ms Teams Setup is an agent skill from davekilleen/Dex. Connect Microsoft Teams for cross-channel context awareness.

When should I use Ms Teams Setup?

Ms Teams Setup fits situations like: the user says connect Teams; hook up Microsoft.

How do I install Ms Teams Setup in Claude Code?

Run `npx skills add davekilleen/Dex --skill ms-teams-setup -a claude-code`. Or copy the skill folder (.agents/skills/ms-teams-setup in davekilleen/Dex) into .claude/skills/ms-teams-setup in your project. Claude Code loads it when a task matches its description.

How do I install Ms Teams Setup in Codex?

Run `npx skills add davekilleen/Dex --skill ms-teams-setup -a codex`. Or copy the skill folder (.agents/skills/ms-teams-setup in davekilleen/Dex) into .agents/skills/ms-teams-setup in your project. Codex loads it when a task matches its description.

Can I use Ms Teams Setup in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add davekilleen/Dex --skill ms-teams-setup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ms-teams-setup, .gemini/skills/ms-teams-setup, .github/skills/ms-teams-setup and .opencode/skills/ms-teams-setup in your project.

What does Ms Teams Setup need to run?

SKILL.md names no scripts, command-line tools or credentials: Ms Teams Setup is instructions for the agent only.

Does Ms Teams Setup access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Ms Teams Setup safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Ms Teams Setup use?

Ms Teams Setup is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Ms Teams Setup use?

About 2.4k tokens (SKILL.md is roughly 9.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Ms Teams Setup?

Skills that share tags, products or a category with Ms Teams Setup: Google Workspace (swarmclawai/swarmclaw, 688 stars), Managing Google Workspace (taylorwilsdon/google_workspace_mcp, 3.3k stars), Gws (kv0906/pm-kit, 138 stars) and Google Workspace (mitsuhiko/agent-stuff, 3.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ms Teams Setup?

davekilleen (a GitHub user) maintains it in davekilleen/Dex, which has 493 GitHub stars. The repository holds 61 skills in this directory. The repository was last updated on October 8, 2026.

Source: davekilleen/Dex on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.