Skip to content
MCP Servers
Skill

/channel-audit

Audit Teams channels across your teams — identify inactive channels, low‑engagement conversations, channels with no recent posts, and recommend cleanup actions.

BOOST
From plugin
work-iq
1k19 skills2 MCP
Install
$ npx -y skills add microsoft/work-iq --skill channel-audit --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/channel-audit

Context preview

The summary Claude sees to decide when to auto-load this skill.

Audit Teams channels across your teams — identify inactive channels, low‑engagement conversations, channels with no recent posts, and recommend cleanup actions.

SKILL.md

channel-audit.SKILL.md
name: channel-audit
description: Audit Teams channels across your teams — identify inactive channels, low‑engagement conversations, channels with no recent posts, and recommend cleanup actions.

Channel Audit

Audit all Microsoft Teams channels across your teams to assess activity levels and engagement health. Identifies inactive channels, stale conversations, and low‑engagement spaces — then presents a prioritized audit report with recommended cleanup actions such as archiving, merging, or reviving channels.

When to Use

  • "Audit my Teams channels"
  • "Which channels are inactive?"
  • "Find dead channels across my teams"
  • "Teams channel cleanup report"
  • "Show me channels with no posts in the last month"
  • "Which channels should we archive?"
  • "Channel health check for the Engineering team"

Instructions

Step 1: Identify the User

workiq-ask (
  question: "What is my profile information including display name, email, and time zone?"
)

Extract **displayName**, **email**, and **timeZone** for date calculations.

Step 2: Discover All Teams and Channels

List every team and their channels:

workiq-ask (
  question: "List all Microsoft Teams teams I belong to. For each team, list all channels including the channel name, description, type (standard, private, shared), and creation date."
)

Build an inventory of every channel:

  • **Team name**
  • **Channel name**, **description**
  • **Channel type** (standard, private, shared)
  • **Created date** (from channel metadata)

If the response is too large or truncated, query teams individually:

workiq-ask (
  question: "List all channels in the '<team name>' team including channel name, description, type, and creation date."
)

Step 3: Assess Channel Activity

For each channel (or batch of channels within a team), pull recent messages to measure activity:

workiq-ask (
  question: "Show me the 10 most recent messages in the '<channel name>' channel of the '<team name>' team. For each message include the sender, date, content summary, reply count, and whether it was from a bot or connector."
)

For each channel, calculate:

  • **Last message date** — when the most recent message was posted
  • **Days since last post** — time delta from today
  • **Message count** (in the sample) — indicator of volume
  • **Unique authors** — how many distinct people posted
  • **Reply depth** — are messages getting replies or going unanswered?
  • **Content type** — are posts substantive or just bot notifications?

Step 4: Get Channel Membership Data

For each channel (especially those flagged as low‑activity):

workiq-ask (
  question: "How many members are in the '<channel name>' channel of the '<team name>' team? List the member count."
)

Record:

  • **Member count** — total members in the channel
  • **Activity ratio** — unique posters vs. total members (engagement metric)

Step 5: Classify Channel Health

Categorize each channel based on activity metrics:

**🟢 Active** — Messages within the last 7 days, multiple authors, replies present

  • Engagement: healthy, no action needed

**🟡 Slow** — Last message 7–30 days ago, limited authors

  • Recommendation: monitor, consider consolidating

**🟠 Stale** — Last message 30–90 days ago, very few participants

  • Recommendation: notify channel owners, consider archiving

**🔴 Dead** — No messages in 90+ days

  • Recommendation: archive or delete

**⚪ Bot‑Only** — Recent messages, but only from automated bots or connectors

  • Recommendation: review if the channel serves a purpose beyond bot notifications

Step 6: Identify Potential Duplicates

Compare channel names and descriptions across teams to find potential duplicates:

  • Channels with similar names (e.g., "#design" and "#design-team")
  • Channels with overlapping membership and similar topics
  • Flag these as merge candidates

Step 7: Compile the Audit Report

Output Format

🔍 CHANNEL AUDIT REPORT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📅 Audit date: {date}
👤 Audited by: {displayName}
🏢 Teams scanned: {N}  ·  📢 Channels audited: {N}

📊 HEALTH OVERVIEW
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🟢 Active:    {N} channels  ({percentage}%)
🟡 Slow:      {N} channels  ({percentage}%)
🟠 Stale:     {N} channels  ({percentage}%)
🔴 Dead:      {N} channels  ({percentage}%)
⚪ Bot‑only:  {N} channels  ({percentage}%)

🔴 DEAD CHANNELS — Recommend Archive ({count})
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  {Team} › #{Channel}
     📅 Last post: {date} ({N} days ago)
     👥 Members: {N}  ·  💬 Last author: {name}
     💡 Action: Archive
  
  {Team} › #{Channel}
     📅 Last post: {date} ({N} days ago)
     👥 Members: {N}  ·  💬 Last author: {name}
     💡 Action: Archive

🟠 STALE CHANNELS — Monitor / Consider Archiving ({count})
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  {Team} › #{Channel}
     📅 Last post: {date} ({N} days ago)
     👥 Members: {N}  ·  📝 Active posters: {N} ({ratio}%)
     💡 Action: Notify owner, review purpose

🟡 SLOW CHANNELS — Watch List ({count})
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  {Team} › #{Channel}
     📅 Last post: {date} ({N} days ago)
     👥 Members: {N}  ·  📝 Active posters: {N}

⚪ BOT‑ONLY CHANNELS ({count})
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  {Team} › #{Channel}
     🤖 Only automated posts detected
     💡 Action: Review if bot output is still needed

🔄 POTENTIAL DUPLICATES
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  • {Team1} › #{Channel A}  ↔  {Team2} › #{Channel B}
    Reason: Similar names, overlapping members
    💡 Action: Consider merging

🟢 HEALTHY CHANNELS ({count})
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  {Team} › #{Channel} — {N} posts last 7d, {N} authors
  {Team} › #{Channel} — {N} posts last 7d, {N} authors

📋 RECOMMENDED ACTIONS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  1. 🗑️ Archive {N} dead channels
  2. 📧 Notify owners of {N} stale channels
  3. 🔄 Review {N} pote
Read more
Ships withwork-iq

The official Microsoft Work IQ plugin collection for GitHub Copilot ✨ Extend the power of GitHub Copilot with Work IQ plugins — MCP servers, skills, and tools that connect AI assistants to your Microsoft 365 data.

Get the whole plugin

Other skills on work-iq.