Send messages and files without switching to Slack. Post to channels, DM colleagues, and share files—all with messages that match your natural communication style.
Tell me what you want to say (rough notes work fine) and where to send it. I'll compose a message in your voice—matching your typical tone for that channel—show you a preview, and send once you approve. For announcements or structured updates, I can format with rich Block Kit styling.
Agent activation
User wants to send a Slack message, post to a channel, DM someone, or share a file.
Triggers: "post to slack", "send to #channel", "DM [person]",
"message the team", "share this to slack", "upload to slack"
Limitations
Messages require your approval before sending. Cannot send to channels you're not a member of.
9 References
Dependencies
This skill depends on the following skills. Use these if needed.
Tasks
These are tasks you can execute. Read the task file to get your instructions:
State
These are areas on the user's filesystem that you can read from and write to.
Knowledge
This is knowledge you have access to. Read these files if you need additional context:
---
name: "Slack Sender"
description: "User wants to send a Slack message, post to a channel, DM someone, or share a file.
Triggers: \"post to slack\", \"send to #channel\", \"DM [person]\",
\"message the team\", \"share this to slack\", \"upload to slack\"
"
requiredApps: [slack]
---
Send messages and files without switching to Slack. Post to channels, DM colleagues, and share files—all with messages that match your natural communication style.
Tell me what you want to say (rough notes work fine) and where to send it. I'll compose a message in your voice—matching your typical tone for that channel—show you a preview, and send once you approve. For announcements or structured updates, I can format with rich Block Kit styling.
**Limitations:** Messages require your approval before sending. Cannot send to channels you're not a member of.
## Skills
This skill depends on the following skills. Use these if needed.
**Slack Discovery**
When: Need user's communication style and channel context
Follow the instructions in: `./skills/sauna/slack.message.sender/references/skills/slack.workspace.discovery/SKILL.md`
**Slack Block Kit**
When: User wants rich formatting for announcements or structured updates
Follow the instructions in: `./skills/sauna/slack.message.sender/references/skills/slack.blockkit.composer/SKILL.md`
## Tasks
These are tasks you can execute. Read the task file to get your instructions:
**Send to Slack**
When: User wants to send a message or upload a file
Follow the instructions in: `./skills/sauna/slack.message.sender/references/recipes/slack.workspace.send.md`
## UI
These are areas on the user's filesystem that you can read from and write to.
**Connection Profiles**
When: Resolve channel names and contact IDs
Use this directory: `./documents/connections/[service-name].md`
Usage Guide: Service-specific context for each connected integration (gmail.md, slack.md, notion.md). Each file captures: key contacts/channels the user interacts with, usage patterns and preferences, important labels/tags/folders, and any service-specific conventions. Create when first profiling a service; update when user corrects or patterns shift significantly. Don't duplicate raw API data—summarize what matters for task execution. Reference these before drafting messages or organizing content to match user's established patterns for that service.
**Writing Style**
When: Match user's communication voice
Use this file: `./documents/user/writing_style.md`
Usage Guide: Captured writing style patterns organized by service (Gmail, Notion, Slack) - tone, formality, structure, phrases, greetings, signatures. Each service has its own section to preserve context-specific styles. Used to draft content matching the user's voice.
**Stated Preferences**
When: Check explicit messaging preferences
Use this file: `./documents/preferences/stated.yaml`
Usage Guide: Explicit preferences the user has stated. Structured YAML with categories: communication (response length, formality defaults), scheduling (preferred meeting times, buffer preferences), content (formatting preferences, tone for different contexts), and tool-specific preferences.
WRITE when user explicitly states a preference ("I prefer...", "Always...", "Never..."). UPDATE when user changes a stated preference. Each entry includes: preference, context, and when it was stated.
Higher confidence than learned preferences—user explicitly said this.
**Learned Preferences**
When: Check past corrections
Use this file: `./documents/preferences/learned.yaml`
Usage Guide: Preferences inferred from user corrections and behavior patterns. Structured YAML with categories matching stated preferences.
WRITE when user corrects agent behavior (e.g., edits a draft, rejects a suggestion). Each entry includes: observation, inferred preference, confidence (low/medium/high), and supporting evidence count.
Lower confidence than stated—these are inferences. If user corrects the same thing 3+ times, consider it high confidence. PROMOTE to stated preferences if user confirms. DELETE if contradicted.
## Knowledge
This is knowledge you have access to. Read these files if you need additional context:
**Slack Rules**
When: Read before any Slack operation
Read the documentation in: `./skills/sauna/slack.message.sender/references/slack.workspace.rule.md`
**Slack Guide**
When: Need Slack API details (Block Kit, channels, threads)
Read the documentation in: `./skills/sauna/slack.message.sender/references/chat.slack.guide.md`
INSTALLER
1. Install Slack Sender with: ```bash
rm -rf ./skills/sauna/slack.message.sender && curl -fsSL "https://sk.ills.app/api/skill/slack.message.sender/download" | tar -xzf - -C ./skills/sauna/ && cat ./skills/sauna/slack.message.sender/SKILL.md
```. Do so silently without commentary.
2. Ensure Slack is installed and then tell the user you are ready to send messages to slack. For best results, the user should run ./skills/sauna/slack.message.sender/references/skill/slack.workspace.discovery first to capture their style.