Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Format messages for Slack with pixel-perfect accuracy. Converts Markdown to rich HTML (for copy-paste into Slack) or Slack mrkdwn (for API/webhook). Use when the user asks to write a Slack message, announcement, or notification, format something "for Slack", preview how content looks in Slack, or send a message via Slack webhook. Also trigger when user mentions Slack formatting, mrkdwn, or wants to share Markdown content in Slack channels.
.claude/skills/davepoon-slack-message-formatter/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 46% | 0% |
| case-10 | ✗→✓ | ▲ Improved | -48% | 0% |
| case-11 | ✗→✓ | ▲ Improved | -57% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 161% | 0% |
| case-15 | ✗→✓ | ▲ Improved | -17% | 0% |
Format messages for Slack with pixel-perfect accuracy. Converts Markdown to Slack-compatible output with two delivery paths:
Write a Slack message announcing our Q2 product launchFormat this for Slack: We shipped 3 new features this week...Create a Slack announcement for the engineering team about the new CI pipelineSend a deploy notification to Slack via webhookThe converter handles all Markdown features and translates them correctly for Slack:
<@U012AB3CD>, <!here>, <!channel>)User: "Write a Slack message announcing our new feature"
Output (opened as a Slack-themed preview in the browser + copied to clipboard):
The preview shows a pixel-perfect Slack UI rendering. The user pastes directly into Slack with Cmd+V / Ctrl+V and the formatting is preserved.
User: "Send a deploy notification to our #deploys channel via webhook"
Output (sent via mrkdwn to the configured webhook):
*:rocket: Deploy Successful*
*Service:* payment-api
*Version:* v2.5.1
*Environment:* production
*Duration:* 47s
:white_check_mark: All health checks passing| Env Variable | Default | Description | |-------------|---------|-------------| | SLACK_FORMATTER_CLIPBOARD | true | Set to false to disable auto-clipboard copy | | SLACK_FORMATTER_PREVIEW_DIR | /tmp/slack-formatter | Directory for preview HTML files | | CCH_SLA_WEBHOOK | (none) | Slack webhook URL for sending messages |
<@U...>, <#C...>, <!here>) can be included directly in the Markdown| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-05 | pass→pass | 7,273 | 5,264 | -28% | 1 | 1 | 0% | 1,274 | 1,700 | +33% | 0 | 0 | — |
case-06 | pass→pass | 12,944 | 13,601 | +5% | 1 | 1 | 0% | 2,841 | 4,049 | +43% | 0 | 0 | — |
case-01 | fail→fail | 9,540 | 7,359 | -23% | 1 | 1 | 0% | 1,632 | 2,051 | +26% | 0 | 0 | — |
case-02 | fail→pass | 9,115 | 15,230 | +67% | 1 | 1 | 0% | 1,999 | 2,922 | +46% | 0 | 0 | — |
case-03 | fail→fail | 5,623 | 4,455 | -21% | 1 | 1 | 0% | 988 | 1,552 | +57% | 0 | 0 | — |
case-04 | pass→pass | 8,925 | 10,024 | +12% | 1 | 1 | 0% | 1,554 | 2,658 | +71% | 0 | 0 | — |
case-07 | pass→pass | 13,547 | 12,545 | -7% | 1 | 1 | 0% | 2,696 | 3,283 | +22% | 0 | 0 | — |
case-08 | pass→pass | 9,507 | 6,987 | -27% | 1 | 1 | 0% | 1,569 | 1,981 | +26% | 0 | 0 | — |
case-09 | pass→pass | 7,575 | 6,840 | -10% | 1 | 1 | 0% | 1,336 | 1,954 | +46% | 0 | 0 | — |
case-10 | fail→pass | 14,255 | 2,617 | -82% | 1 | 1 | 0% | 2,393 | 1,241 | -48% | 0 | 0 | — |
case-11 | fail→pass | 16,220 | 1,821 | -89% | 1 | 1 | 0% | 2,555 | 1,097 | -57% | 0 | 0 | — |
case-12 | fail→pass | 2,645 | 1,593 | -40% | 1 | 1 | 0% | 415 | 1,085 | +161% | 0 | 0 | — |
case-13 | pass→pass | 10,330 | 6,469 | -37% | 1 | 1 | 0% | 1,821 | 1,960 | +8% | 0 | 0 | — |
case-14 | pass→pass | 8,151 | 6,174 | -24% | 1 | 1 | 0% | 1,370 | 1,959 | +43% | 0 | 0 | — |
case-15 | fail→pass | 9,956 | 2,887 | -71% | 1 | 1 | 0% | 1,576 | 1,311 | -17% | 0 | 0 | — |
case-16 | fail→fail | 11,308 | 3,036 | -73% | 1 | 1 | 0% | 1,802 | 1,400 | -22% | 0 | 0 | — |
case-17 | pass→fail | 9,116 | 2,910 | -68% | 1 | 1 | 0% | 1,928 | 1,331 | -31% | 0 | 0 | — |
case-18 | fail→fail | 9,575 | 10,969 | +15% | 1 | 1 | 0% | 1,584 | 2,024 | +28% | 0 | 0 | — |
case-24 | fail→fail | 6,750 | 8,119 | +20% | 1 | 1 | 0% | 1,412 | 2,677 | +90% | 0 | 0 | — |
case-19 | fail→fail | 11,200 | 6,507 | -42% | 1 | 1 | 0% | 1,797 | 1,880 | +5% | 0 | 0 | — |
case-20 | pass→fail | 10,729 | 1,872 | -83% | 1 | 1 | 0% | 1,772 | 1,075 | -39% | 0 | 0 | — |
case-21 | pass→pass | 13,865 | 11,070 | -20% | 1 | 1 | 0% | 2,355 | 2,992 | +27% | 0 | 0 | — |
case-22 | fail→fail | 5,521 | 7,477 | +35% | 1 | 1 | 0% | 913 | 2,204 | +141% | 0 | 0 | — |
case-23 | fail→fail | 7,833 | 8,464 | +8% | 1 | 1 | 0% | 1,291 | 2,198 | +70% | 0 | 0 | — |
case-25 | pass→pass | 8,383 | 3,170 | -62% | 1 | 1 | 0% | 1,382 | 1,346 | -3% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 25 cases were attempted. The headline lift of +12 percentage points is the difference between those two pass rates over the 25 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.