slack-block-kit
by bill492
Send rich Slack Block Kit messages — native tables, structured layouts. Use when formatting tabular data for Slack, sending Block Kit payloads, or when markdown tables render poorly in Slack.
安装
claude skill add --url github.com/openclaw/skills/tree/main/skills/bill492/slack-block-kit文档
Slack Block Kit
Send native Block Kit payloads to Slack. Primary use case: tables (Slack's native table block type).
When to Use
- Tabular data in Slack (financial summaries, comparison grids, status dashboards)
- Markdown tables render poorly or not at all in Slack — use Block Kit tables instead
Sending Block Kit Tables
Quick Path: scripts/table.mjs
Generate table JSON from headers + rows:
node <skill_dir>/scripts/table.mjs \
--headers '["Source","Amount","Status"]' \
--rows '[["Mochary","$11K","Pending"],["MHC","$13.4K","Invoiced"]]' \
--align '1:right' \
--compact --blocks-only
Options:
--headers '["H1","H2"]'— first row (bold by default)--rows '[["a","b"],["c","d"]]'— data rows--json '{"headers":[...],"rows":[...]}'— single JSON input--stdin— read JSON from stdin--align '<col>:<left|center|right>,...'— column alignment (0-indexed)--wrap '<col>,...'— columns to wrap text--no-bold-headers— plain text headers--compact— minified JSON--blocks-only— output just the blocks array (for API calls)
Empty cells are handled automatically (zero-width space).
Posting to Slack
The message tool does not pass blocks through. Use the Slack API directly:
BLOCKS=$(node <skill_dir>/scripts/table.mjs --compact --blocks-only \
--headers '["Col A","Col B"]' \
--rows '[["val1","val2"]]')
curl -s -X POST https://slack.com/api/chat.postMessage \
-H "Authorization: Bearer $SLACK_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d "$(jq -n \
--arg channel "$CHANNEL_ID" \
--arg thread "$THREAD_TS" \
--argjson blocks "$BLOCKS" \
'{channel: $channel, thread_ts: $thread, text: "Fallback text", blocks: $blocks}')"
The bot token is in openclaw.json at channels.slack.botToken. The text field is required (accessibility fallback) but won't display when blocks render.
Table Block Constraints
- 1 table per message (Slack limit)
- Max 100 rows, max 20 columns
- Cells:
raw_text(plain) orrich_text(bold, links, mentions) - Empty text is not allowed — the script uses zero-width spaces automatically
Combining Text + Table
Post your text message first via message tool, then post the table in the same thread via curl. Or include a section block before the table in the blocks array.
Manual Block Kit JSON
For non-table blocks or custom layouts, construct the JSON directly. Reference: https://docs.slack.dev/reference/block-kit/blocks/table-block/
Cell with bold text:
{"type": "rich_text", "elements": [{"type": "rich_text_section", "elements": [{"type": "text", "text": "Bold", "style": {"bold": true}}]}]}
Plain text cell:
{"type": "raw_text", "text": "Plain"}
相关 Skills
MCP构建
by anthropics
聚焦高质量 MCP Server 开发,覆盖协议研究、工具设计、错误处理与传输选型,适合用 FastMCP 或 MCP SDK 对接外部 API、封装服务能力。
✎ 想让 LLM 稳定调用外部 API,就用 MCP构建:从 Python 到 Node 都有成熟指引,帮你更快做出高质量 MCP 服务器。
Slack动图
by anthropics
面向Slack的动图制作Skill,内置emoji/消息GIF的尺寸、帧率和色彩约束、校验与优化流程,适合把创意或上传图片快速做成可直接发送的Slack动画。
✎ 帮你快速做出适配 Slack 的动图,内置约束规则和校验工具,少踩上传与播放坑,做表情包和演示都更省心。
接口设计评审
by alirezarezvani
审查 REST API 设计是否符合行业规范,自动检查命名、HTTP 方法、状态码与文档覆盖,识别破坏性变更并给出设计评分,适合评审接口方案和版本迭代前把关。
✎ 做API和架构方案时,它能帮你提前揪出接口设计问题并对齐最佳实践,评审视角系统,团队协作更省心。
相关 MCP 服务
Slack 消息
编辑精选by Anthropic
Slack 是让 AI 助手直接读写你的 Slack 频道和消息的 MCP 服务器。
✎ 这个服务器解决了团队协作中需要 AI 实时获取 Slack 信息的痛点,特别适合开发团队让 Claude 帮忙汇总频道讨论或发送通知。不过,它目前只是参考实现,文档有限,不建议在生产环境直接使用——更适合开发者学习 MCP 如何集成第三方服务。
by netdata
io.github.netdata/mcp-server 是让 AI 助手实时监控服务器指标和日志的 MCP 服务器。
✎ 这个工具解决了运维人员需要手动检查系统状态的痛点,最适合 DevOps 团队让 Claude 自动分析性能数据。不过,它依赖 NetData 的现有部署,如果你没用过这个监控平台,得先花时间配置。
by d4vinci
Scrapling MCP Server 是专为现代网页设计的智能爬虫工具,支持绕过 Cloudflare 等反爬机制。
✎ 这个工具解决了爬取动态网页和反爬网站时的头疼问题,特别适合需要批量采集电商价格或新闻数据的开发者。不过,它依赖外部浏览器引擎,资源消耗较大,不适合轻量级任务。