Skip to content
AI & Agents
Skill

/block-kit

Use proactively for structured or interactive Slack replies, and when asked to author or validate native Slack Block Kit JSON.

BOOST
From plugin
openclaw
391k68 skills
Install
$ npx -y skills add openclaw/openclaw --skill block-kit --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/block-kit

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use proactively for structured or interactive Slack replies, and when asked to author or validate native Slack Block Kit JSON.

SKILL.md

block-kit.SKILL.md
name: block-kit
description: "Use proactively for structured or interactive Slack replies, and when asked to author or validate native Slack Block Kit JSON."
metadata: { "openclaw": { "emoji": "🧱", "requires": { "config": ["channels.slack"] } } }
allowed-tools: ["message"]

Slack Block Kit

Make useful Slack replies feel native. When structure or one-click follow-up improves the outcome, send a rich message without waiting for the user to ask for Block Kit.

Choose the surface

Use a `presentation` when the reply has at least one of these shapes:

  • a decision, confirmation, or next action that belongs on buttons or a select
  • a status, comparison, report, or plan that scans better as titled sections, a table, or a chart
  • important context that should be visually separated from the primary result

Use plain text for short answers and casual conversation where structure adds no value.

Send the result

For a reply in Slack, call the `message` tool with `action: "send"` and a portable `presentation`. The Slack plugin renders it as native Block Kit. Use the exact schema exposed by the current tool; supported block types can include `text`, `context`, `divider`, `buttons`, `select`, `chart`, and `table`.

  • Put the outcome first. Keep titles, labels, and context concise.
  • Give interactive controls real follow-up semantics. Use typed `callback` actions for conversational choices and `url` for an external destination. Do not use generic `command` actions for Slack controls; Slack renders them as text fallback rather than clickable controls.
  • Include a useful `message` fallback that preserves the meaning without the rich layout.
  • After the visible send succeeds, do not repeat the same content in the final response.

A control is complete only when its value is self-contained enough for the next agent turn to understand and act on. When an interaction returns, acknowledge the choice visibly and continue the requested workflow.

Native Block Kit authoring

When the user is building a Slack app or explicitly requests raw Block Kit JSON, read [the adapted official Block Kit guide](references/official-block-kit.md) in full. For common message, modal, and App Home layouts, also read [the official patterns](references/official-common-patterns.md).

Follow the adapted guide's live-documentation and `blocks.validate` workflow for native JSON. Do not pass native Slack blocks to OpenClaw's `presentation` field; the plugin owns that conversion.

Read more
Ships withopenclaw

OpenClaw is an open-source AI assistant that runs on your own computer and meets you in the channels you already use: Discord, iMessage, Slack, Teams, Telegram, WhatsApp, and 20+ more, plus native apps for macOS, iOS, Android, Windows, and Linux.

Get the whole plugin
Stats
391,228
Stars
82,236
Forks
Active
Maintenance
TypeScript
Language
MIT
License
5m ago
Last commit
10mo ago
Created
3h ago
Added

Repo: openclaw/openclaw

Other skills on openclaw.