Agent skill · writing content · ccheney
slack-block-kit
Proactively apply when generating Slack API payloads with blocks, chat.postMessage calls with structured content, streaming AI responses, or views.open/views.publish calls. Triggers on Block Kit, Slack blocks, section block, actions block, header block, context block, alert block, card block, carousel block, container block, table block, data table block, data visualization block, Slack chart, markdown block, rich text block, image block, input block, video block, context_actions block, plan block, task_card block, chat.startStream, chat.appendStream, chat.stopStream, Slack modal, Slack App Home, Slack surfaces, Slack interactive elements, Slack button, select menu, overflow, datepicker, checkboxes, radio buttons, Work Objects, Slack link unfurl, views.open, views.update, views.push, views.publish, Slack composition objects. Use when building Block Kit payloads, blocks arrays, modals, App Home views, interactive elements, link unfurling, streaming agent output, or rich message layouts.
Why this skill is useful
Provides detailed guidelines and decision trees for generating Slack Block Kit payloads that the AI wouldn't reliably infer on its own.
What it needs
About 11k tokens when loaded. Last updated 2026-07-07. 58 stars on the source repository.
What this skill does
Slack Block Kit UI framework for building rich, interactive layouts in Slack messages, modals, and App Home. CRITICAL: Two Markup Systems Text inside Block Kit text objects uses Slack mrkdwn syntax (bold, <url text>), NOT standard Markdown. The only exception is the markdown block, which accepts standard Markdown (bold, text). Mixing these up is the single most common Block Kit generation error. Quick Decision Trees "Should I use blocks?" "Which block type?" "mrkdwn or markdown block?" "table, datatable, or markdown table?" Block Types Overview Full property tables for all 21 blocks: references/BLOCKS.md. Highlights and sharp edges below. header Large bold text. plaintext only—mrkdwn is not supported. Max 150 chars. Optional level selects H1-H4. section Primary content block. Supports text (3000 chars), two-column fields (10 items, 2000 chars each), and one accessory element. Either text or fields is required. Set expand: true to prevent "see more" truncation on long AI responses. Compatible accessories: button, overflow, datepicker, timepicker, select menus, multi-select menus, checkboxes, radio buttons, image, workflow button. divider context Small, muted text for metadata. Elements: plaintext or mrkdwn text objects, plus image elements. Max 10 elements. actions Interactive elements: buttons, select menus, overflow menus, date pickers. Max 25 elements. Button styles: primary (green), danger (red), or omit for default. Use primary sparingly—one per set. Slack requires actionid uniqueness within the containing block; globally unique IDs within a payload make routing safer. alert Callout for status, risk, or urgency. Modals only — putting an alert in a message payload is invalid. Text accepts plaintext or mrkdwn, max 200 chars. level: default, info, warning, error, or success. For message-surface callouts, use a section block with an emoji or a card instead. card Compact, scannable preview for entities, summaries, records, or agent results. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills ccheney/slack-block-kit