Slack Message Formatting

    1

    Write Slack messages that render: mrkdwn vs markdown by posting route, Block Kit and a lint script

    Free

    Security scanned

    Works with the AI Agents you already use

    Claude CodeClaude CodeCursorCursorCodex CLICodex CLIMuseMuseDotsDots+22 more

    Slack Message Formatting

    Example session with this skill installed

    Post this to #release through the Slack Web API (chat.postMessage):

    Deploy done for v2.3

    Changes

    • Faster search
    • Fixed login bug

    @here please check

    • Read your context and instructions
    • Compiled the slack message formatting

    Summary

    The draft uses CommonMark, which chat.postMessage does not render. I checked it with the lint script and rewrote it in native mrkdwn.

    Lint result (scripts/lint_slack_text.py)

    4 issue(s) to fix:
      L1 [bold-commonmark] '**Deploy done**'
            -> CommonMark bold `**x**` -> native mrkdwn uses `*x*`
      L1 [md-link] '[v2.3](https://example.com/r/23)'
            -> markdown link `[t](url)` -> native uses `<url|t>`
      L3 [heading] '## C'
            -> `#` headings do not work -> use `*Heading*` (bold) or a Block Kit header
      L7 [bare-at-mention] '@here'
            -> plain @here/@channel does not notify -> use `<!here>` `<!channel>`
    

    Message to send (text field)

    *Deploy done* for <https://example.com/r/23|v2.3>
    
    *Changes*
    • Faster search
    • Fixed login bug
    
    <!here> please check
    

    Next steps

    • The list has only two items, so plain bullets are fine. For three or more items or nested lists, build rich_text blocks with scripts/rich_text_blocks.py and keep this text as the notification fallback.
    • Confirm you want to notify the whole channel with <!here> before sending.

    Connects securely to your tools. The creator never sees your data.

    About this skill

    Makes your agent write Slack messages that render correctly.

    Slack does not use standard markdown. It uses mrkdwn, and the bold syntax depends on how you post: *bold* through the Web API or a webhook, **bold** through connectors that convert CommonMark. Agents often get this wrong, so bold turns into italics, links show as raw brackets and lists collapse into one line. This skill makes the agent pick the posting route first, then write in that route's syntax.

    What it covers

    • Bold, italic, links and lists for each posting route (Web API, incoming webhook, Slack MCP servers, the Slack connector in Claude)
    • Real nested lists with Block Kit rich_text, plus a converter script
    • Mentions, channel links and dates by ID, and escaping
    • Block Kit for headings, tables and buttons
    • Keeping messages short: who does what to whom, 10 lines or less, no file paths or internal names
    • A checklist to run before sending

    Scripts (Python 3.9+, no dependencies, no network)

    • scripts/lint_slack_text.py finds markdown that will not render in Slack. --fix prints a converted version.
    • scripts/rich_text_blocks.py turns an indented list into Block Kit rich_text JSON, with --text for the plain fallback.

    The scripts never call Slack. Sending is up to you or your agent.

    Free and MIT licensed. Source: https://github.com/kojikojikojikoji/slack-message-formatting

    How to use

    Skills on Agensi run inside your AI agent. Copy the prompt, paste it into your agent, and it connects to Agensi and installs this skill for you. If a payment is needed, your agent shows it to you first.

    Reviews

    No reviews yet

    Be one of the first to try it. Every listed skill passes our trust checks below.

    Security scanned

    Passed our 8-point scan before listing

    Fresh listing

    Recently published to Agensi

    Free forever

    No account required to browse

    Trust & safety

    Security scanned

    Verified clean 1 day ago

    • Free to download with an account

    Requires

    Slack
    Python 3.9+ (optional, only for the scripts)
    Python
    Git

    Listed1 day ago

    What's inside

    Frequently Asked Questions