Download for MacApple silicon, macOS 14+
Skill

block-kit

@slackapi Updated 2026-10-22

Use when a developer wants to build or validate Block Kit layouts for Slack messages, modals, or Home tabs: message layouts, modals/forms/dialogs, Home tab interfaces, interactive buttons or menus, or modifying existing Block Kit JSON. Also trigger on any Slack UI component (sections, actions, inputs, headers, alerts, tables, carousels), the words "blocks" or "Block Kit Builder", a request to preview rendered blocks, or pasted JSON like "type": "section". Validates via the blocks.validate API method.

claude-codecodexcursormcpskillsslack

Install

With your agent

Install OMGSkills skill "slackapi/slack-skills-plugin:skills/block-kit" into this agent's normal skills directory: call the OMGSkills MCP get_install_plan tool for your agent and run the script it returns (it installs only the pinned commit and verifies SKILL.md), and stop if MCP or the pin is unavailable. Do not overwrite or change existing skills without asking me.

Manual command

git clone https://github.com/slackapi/slack-skills-plugin /tmp/slack-skills-plugin && ln -s /tmp/slack-skills-plugin/skills/block-kit ~/.claude/skills/block-kit

From README

Block Kit Help the developer build a rich Block Kit layout. If $0 is exactly message, modal, or home-tab, treat it as the target surface. Otherwise (including if it's empty or any other value), ignore it and determine the surface in Step 1. This skill walks through surface selection, layout planning, JSON generation, and validation. Block types, elements, and fields come from the live docs (see Source of Truth below) — discover them and read each component's schema there, never from memory. Common Block Kit mistakes (and why): A few errors recur often enough to flag up front. Most others are caught by blocks.validate in Step 5, so lean on validation rather than memorizing rules. "type": "text" is not a thing. Text is a composition object: { "type": "plaintext", "text": "..." } or { "type": "mrkdwn", "text": "..." }. markdown is a block type, not a text type. A markdown block holds standard markdown; text objects inside other blocks use mrkdwn (see mrkdwn vs.