Guidance for composing well-formatted, effective Slack messages using mrkdwn syntax
This skill provides guidance for composing well-formatted, effective Slack messages.
Apply this skill whenever composing, drafting, or helping the user write a Slack message — including when using slack_send_message, slack_send_message_draft, or slack_create_canvas.
Slack uses its own markup syntax called mrkdwn, which differs from standard Markdown. Always use mrkdwn when composing Slack messages:
| Format | Syntax | Notes |
|---|---|---|
| Bold | *text* | Single asterisks, NOT double |
| Italic | _text_ | Underscores |
| Strikethrough | ~text~ |
| Tildes |
| Code (inline) | `code` | Backticks |
| Code block | ```code``` | Triple backticks |
| Quote | > text | Angle bracket |
| Link | <url|display text> | Pipe-separated in angle brackets |
| User mention | <@U123456> | User ID in angle brackets |
| Channel mention | <#C123456> | Channel ID in angle brackets |
| Bulleted list | - item or • item | Dash or bullet character |
| Numbered list | 1. item | Number followed by period |
**bold** (double asterisks) — Slack uses *bold* (single asterisks)## headers — Slack does not support Markdown headers. Use *bold text* on its own line instead.[text](url) for links — Slack uses <url|text> format--- for horizontal rules — Slack does not render these*bold* for names, dates, deadlines, and action items so they stand out when scanning.reply_broadcast (also post to channel) only when the reply contains information everyone needs to see.#general is usually more formal than #random.