用途:帮助开发者构建丰富的 Block Kit 布局,覆盖消息、模态框(modal)与 Home tab 三种界面,并完成生成后的校验。
主要能力:先确定目标界面,再规划块布局,逐块依据在线文档生成 JSON,最后用公开方法 blocks.validate 校验。技能强调所有块类型、元素与字段都应以 docs.slack.dev 在线文档为准,不凭记忆编写;在参考 URL 后追加 .md 可获取 markdown 版本,无需鉴权。
使用方式:若请求足够具体(已明确界面与布局),可走快速路径,直接取所需文档页生成 JSON 并校验;若请求含糊、探索性或布局复杂,则走完整流程。开发者提供现有 JSON 时进入修改模式,解析现有块、推断界面、在保留原有 block_id 与 action_id 的前提下修改。
校验:blocks.validate 为公开 Web API,无需 token。优先使用 Slack CLI;未安装时改用 curl,POST 到 https://slack.com/api/blocks.validate,消息传 blocks 数组,模态框与 Home tab 传完整 view 对象。返回 ok:false 时按 errors 中的 pointer 定位并修正,再次校验直至成功。
限制:块数量上限为消息 50、模态框与 Home tab 各 100;每条消息仅一个 table 块,data_visualization 最多两个;alert 块仅模态框可用。文档指出 blocks.validate 只检查块与元素结构,不校验界面兼容性与数量上限,通过校验不代表满足这些约束。发送、预览等后续操作交由 Web API 层技能处理。
适用场景:部署失败通知、审批消息、反馈表单、设置模态框、Home tab 仪表盘、任务数据表等常见模式。