slack-formatting

Formats agent output for Slack delivery using mrkdwn text and Block Kit JSON blocks.

1|Updated Jun 21, 2026
One-click install
npx skills add https://github.com/tapway/shogun-os --skill slack-formatting-tapway
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: slack-formatting
Source: https://github.com/tapway/shogun-os/tree/main/skills/communication/slack-formatting
Command: npx skills add https://github.com/tapway/shogun-os --skill slack-formatting-tapway

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Slack messages often render poorly when agents output raw markdown: pipe tables appear as literal text, long messages get truncated mid-sentence, and file uploads fail against deprecated APIs. This Skill defines the exact formatting rules and delivery patterns for producing correctly rendered Slack messages. ## Core Features & Use Cases - Dual delivery modes: mrkdwn text for simple messages via send_message, and Block Kit JSON (header, section, table, alert, card, actions, markdown blocks) for rich layouts via chat.postMessage. - Gateway Block Kit pass-through: output a JSON payload with a top-level blocks array and the gateway auto-detects and renders it as native Slack blocks. - Long-content threading: split long reports into threaded messages of 2-3 section blocks each to avoid the 3,000-character mrkdwn truncation limit. - File uploads: the 3-step files.getUploadURLExternal flow with form-encoded bodies, replacing the deprecated files.upload API. - Use Case: An agent generating a daily project digest outputs Block Kit JSON with a header, status summary section, a markdown table of projects, and a context footer, which the gateway renders as a rich Slack message. ## Quick Start Format my project status report as a Slack Block Kit message with a header, summary section, and a table of active projects.

Frequently Asked Questions about slack-formatting

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I send a table in a Slack message?

Slack mrkdwn does not render pipe tables, so output Block Kit JSON with a markdown block containing the pipe table, or use a table block with raw_text cells. The gateway detects the JSON blocks array and renders it as a proper table.

What is the difference between mrkdwn and Block Kit in Slack?

Mrkdwn is Slack's lightweight text syntax for simple messages sent via send_message, supporting bold, italic, links, and lists. Block Kit is a JSON framework of blocks like header, section, table, and alert for rich structured layouts sent via chat.postMessage.

Why do my pipe tables render as raw text in Slack?

Slack mrkdwn has no table support, so pipe syntax displays as literal characters. Wrap the table in a Block Kit markdown block inside a JSON blocks array, which the gateway passes through to Slack for correct rendering.

How do I upload a file to Slack with the API?

Use the 3-step flow: call files.getUploadURLExternal with form-encoded data, POST the raw bytes to the returned URL, then call files.completeUploadExternal with the channel_id. The old files.upload method is deprecated and returns method_deprecated.

Why is my long Slack message getting cut off?

Slack truncates mrkdwn text fields at 3,000 characters and limits messages to 50 blocks. Split long content into multiple threaded messages with 2-3 section blocks each, keeping each section under roughly 2,500 characters.

Can I use markdown links and headers in Slack messages?

No. Slack does not support [text](url) links or # headers in mrkdwn. Use the <url|label> link syntax and Block Kit header blocks for headings, since HTML tags are also stripped.