Triage Messages logo

Triage Messages

Organization
techwolf-ai
triage-messages

Batch-processes Slack messages and emails to surface what needs the manager's attention, categorised by urgency and type. Designed for batch-responder managers who do Slack sweeps rather than staying in reactive mode. Supports effective communication and responsiveness. Never drafts replies, only surfaces and prioritises.

Overview

Publishertechwolf-ai
Repositoryai-first-toolkit
Skill nametriage-messages
Stars
138
Forks
7
Bundled files
2
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 2 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by techwolf-ai on GitHub. Read the source before you install it.

Installation

Install the Triage Messages AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/techwolf-ai/ai-first-toolkit/tree/main/plugins/people-management/skills/triage-messages
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/techwolf-ai/ai-first-toolkit.git /tmp/ai-first-toolkit
mkdir -p .claude/skills
cp -r /tmp/ai-first-toolkit/plugins/people-management/skills/triage-messages .claude/skills/triage-messages
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Triage Messages in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Triage Messages on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Triage Messages is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Triage Messages

Principle: "You are responsible." This skill surfaces and categorises. The manager decides what to act on and how.

Scans unread Slack messages and recent emails, categorises them by urgency and type, and presents a prioritised overview.

When to Use

  • Morning routine: catch up on what happened overnight
  • After a block of focus time or meetings
  • When the manager says "what did I miss?", "catch me up", "triage my messages"
  • Can be scoped to a time window: "triage since yesterday", "triage last 2 hours"

Instructions

If any MCP connector is unavailable, follow the connector unavailability protocol in references/operating-principles.md.

1. Determine Time Window

Default: since the manager's last likely check-in (use calendar to estimate, if they were in back-to-back meetings for 3 hours, scan those 3 hours).

If specified: use the provided time window.

If unclear, ask:

What time period should I triage? Options:
- Since this morning
- Last [N] hours
- Since yesterday
- Custom range

2. Load Manager Context

Read from manager-context/ (if available):

  • manager-profile.md: to know who the direct reports are (their messages get higher priority)
  • terminology.md: to decode internal shorthand in messages
  • team/: to understand team members' projects and responsibilities
  • sources.md: to know which customer/project channels to monitor

3. Scan Slack

Search for messages in the time window:

Priority channels (scan first):

  • Channels where the manager was @-mentioned
  • DMs to the manager
  • Team channels (from manager-context)
  • Customer/project channels (from manager-context)

Broader channels (scan for relevance):

  • Company-wide channels
  • Cross-functional channels the manager is in

For each message/thread, capture:

  • Who sent it
  • Channel
  • Content summary (1 line)
  • Whether the manager was mentioned or it's in a direct thread
  • Link to the message

4. Scan Email

Search Gmail for messages in the time window:

  • Unread emails
  • Emails where the manager is in To: (not just CC:)
  • Emails from direct reports or known stakeholders
  • Emails with urgent/action keywords

For each email, capture:

  • Sender
  • Subject
  • Brief summary
  • Whether it requires action or is FYI

5. Categorise

Sort everything into these buckets:

🔴 Needs Your Decision

  • Blockers waiting on the manager
  • Approval requests
  • Escalations
  • Time-sensitive decisions
  • Criteria: someone is explicitly waiting for the manager's input

🟡 Team Member Needs

  • Questions from direct reports
  • Requests for help or guidance
  • Friction signals (repeated blockers, frustration)
  • Criteria: a team member needs support but isn't fully blocked

🔵 FYI / Context

  • Status updates
  • Announcements
  • Cross-functional threads where the manager should be aware
  • Criteria: useful to know, no action needed right now

🟢 Customer-Related (if applicable)

  • Messages in customer/project channels
  • Customer-related emails
  • Delivery updates, escalations, timeline changes

6. Present the Triage

Read references/output-template.md for the full output template structure.

7. Offer Follow-Up

That's your triage for [time window]. Want me to:
- Dig deeper on any specific item?
- Prep context for responding to something?
- Run /plan-priorities to fold these into your day?

Important Notes

Read references/operating-principles.md for shared operating principles (data scope, DM flagging, signals vs diagnoses, connector unavailability).

Additional notes specific to this skill:

  • Never draft replies. The manager writes their own messages. This skill only surfaces and categorises.
  • Don't over-categorise as urgent. Reserve the red category for genuine blockers. Most things are FYI.
  • Link everything. Every item should link directly to the source message/email.
  • Decode shorthand. Use terminology.md to translate internal terms so the triage is immediately clear.
  • If volume is high (50+ messages), summarise the FYI bucket rather than listing every item.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Triage Messages AI skill do?

Batch-processes Slack messages and emails to surface what needs the manager's attention, categorised by urgency and type. Designed for batch-responder managers who do Slack sweeps rather than staying in reactive mode. Supports effective communication and responsiveness. Never drafts replies, only surfaces and prioritises.

Why use Triage Messages on TypingMind?

Because you install it once and use it with any model. Triage Messages is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Triage Messages in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/techwolf-ai/ai-first-toolkit/tree/main/plugins/people-management/skills/triage-messages. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Triage Messages?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Triage Messages?

As many as you like. As long as a model supports skills, you can use Triage Messages with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Triage Messages AI skill free?

Yes. It is published on GitHub by techwolf-ai under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇