Token导航 LogoToken导航TokenDH.com
前端设计external-servicegithub未标认证来源可访问许可证需确认审计通过

slack-block-kitSlack block KIT 前端

Agent Skill

用于处理 Slack 工作区里的频道、消息、线程、用户和通知信息。它适合让 Agent 查询团队沟通记录、整理上下文、回复线程或辅助协作提醒。使用时需要确认机器人或用户 token 是否具备目标频道访问权,私有频道和历史消息通常有额外权限限制;发送消息、@成员或批量读取对话时,应避免泄露内部讨论和敏感工作信息。

总安装

225

周安装

9

GitHub Stars

公开资料未说明

下载量

73
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:slack-block-kit(Slack block KIT 前端)
来源仓库:https://github.com/tylersahagun/pm-workspace
仓库路径:skills/slack-block-kit
安装命令:
npx skills add https://github.com/tylersahagun/pm-workspace --skill slack-block-kit
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/tylersahagun/pm-workspace --skill slack-block-kit

简介

用于处理 Slack 工作区的频道、消息和线程信息。

  • 可查询沟通记录、回复线程或辅助协作提醒。
  • 通过 npx skills add 命令从 GitHub 仓库安装,需确认机器人 token 权限。
  • 发送消息或读取历史时应避免泄露敏感工作内容。
  • slack-block-kit 属于前端设计类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Slack Block Kit Formatting Skill

This skill teaches agents to format Slack messages using Block Kit—a JSON-based UI framework for building rich, interactive messages.

When to Apply This Skill

Apply when:

  • Sending Slack messages via MCP tools
  • Creating notifications, alerts, or status updates
  • Building interactive messages with buttons or menus
  • Formatting EOD/EOW reports for Slack
  • Any message that should look professional

MCP Tools

Server: composio-config (Composio) Tool: SLACK_SEND_MESSAGE

{
  "channel": "C12345678",
  "text": "Fallback text for notifications",
  "blocks": [ ... ]
}

Important: Always include top-level text as notification fallback.


Architecture

Message Payload
└── blocks[] (layout containers, max 50)
    └── Block elements (interactive components)
        └── Composition objects (text, options)

Block Types Quick Reference

TypeUse ForKey Rules
headerTitles150 chars max, plain_text only
sectionMain content3000 chars, can have accessory
dividerVisual separationNo content
imageStandalone imagesHTTPS URL required, alt_text required
contextMetadata, timestampsMax 10 elements, renders small/muted
actionsButton rows, menusMax 25 elements
tableTabular data1 per message, max 100 rows, 20 columns
rich_textFormatted textLists, quotes, code blocks, styled text

Table Block (NEW)

Constraints:

  • Only 1 table per message (error: only_one_table_allowed)
  • Table renders at BOTTOM of message (appended)
  • Max 100 rows, 20 columns
  • Cells can be raw_text or rich_text

Basic Table

{
  "type": "table",
  "column_settings": [
    { "align": "left" },
    { "align": "center" },
    { "align": "right" }
  ],
  "rows": [
    [
      { "type": "raw_text", "text": "Name" },
      { "type": "raw_text", "text": "Count" },
      { "type": "raw_text", "text": "Value" }
    ],
    [
      { "type": "raw_text", "text": "Item A" },
      { "type": "raw_text", "text": "5" },
      { "type": "raw_text", "text": "$100" }
    ]
  ]
}

Column Settings

PropertyTypeDescription
alignstringleft, center, or right
is_wrappedbooleanWhether to wrap long text (default: false)

Table with Rich Text Cells (Links, Bold)

{
  "type": "table",
  "rows": [
    [
      { "type": "raw_text", "text": "Deal" },
      { "type": "raw_text", "text": "ARR" }
    ],
    [
      {
        "type": "rich_text",
        "elements": [
          {
            "type": "rich_text_section",
            "elements": [
              {
                "type": "link",
                "text": "Acme Corp",
                "url": "https://hubspot.com/deal/123"
              }
            ]
          }
        ]
      },
      {
        "type": "rich_text",
        "elements": [
          {
            "type": "rich_text_section",
            "elements": [
              { "type": "text", "text": "$50,000", "style": { "bold": true } }
            ]
          }
        ]
      }
    ]
  ]
}

Rich Text Block

Rich text provides more flexibility than mrkdwn. Use for complex formatting needs.

Rich Text Section (Basic)

{
  "type": "rich_text",
  "elements": [
    {
      "type": "rich_text_section",
      "elements": [
        { "type": "text", "text": "Hello " },
        { "type": "text", "text": "bold text", "style": { "bold": true } },
        { "type": "text", "text": " and " },
        { "type": "text", "text": "italic", "style": { "italic": true } }
      ]
    }
  ]
}

Rich Text List (Bullet/Numbered)

{
  "type": "rich_text",
  "elements": [
    {
      "type": "rich_text_section",
      "elements": [{ "type": "text", "text": "Features shipped:" }]
    },
    {
      "type": "rich_text_list",
      "style": "bullet",
      "elements": [
        {
          "type": "rich_text_section",
          "elements": [{ "type": "text", "text": "HubSpot integration" }]
        },
        {
          "type": "rich_text_section",
          "elements": [{ "type": "text", "text": "Mobile improvements" }]
        }
      ]
    }
  ]
}

Rich Text Quote

{
  "type": "rich_text",
  "elements": [
    {
      "type": "rich_text_quote",
      "elements": [
        {
          "type": "text",
          "text": "This is really going to change how we work."
        }
      ]
    }
  ]
}

Rich Text Element Types

TypePropertiesUse For
texttext, stylePlain/styled text
linkurl, text, styleClickable links
useruser_id, style@mentions
channelchannel_id, style#channel links
usergroupusergroup_id, style@group mentions
emojiname, unicodeEmoji
datetimestamp, formatFormatted dates
broadcastrange (here/channel/everyone)@here/@channel/@everyone

Text Style Object

{
  "style": {
    "bold": true,
    "italic": true,
    "strike": true,
    "code": true
  }
}

Block JSON Structures

Header Block

{
  "type": "header",
  "text": {
    "type": "plain_text",
    "text": ":rocket: Header Text Here",
    "emoji": true
  }
}

Section Block

{
  "type": "section",
  "text": {
    "type": "mrkdwn",
    "text": "*Bold* and _italic_ text with <https://example.com|links>"
  }
}

Section with Accessory (Button)

{
  "type": "section",
  "text": {
    "type": "mrkdwn",
    "text": "Your meeting has been processed."
  },
  "accessory": {
    "type": "button",
    "text": { "type": "plain_text", "text": "View", "emoji": true },
    "url": "https://app.askelephant.com/meetings/123",
    "action_id": "view_meeting"
  }
}

Section with Fields (Two-Column Layout)

{
  "type": "section",
  "fields": [
    { "type": "mrkdwn", "text": "*Status:*\nComplete" },
    { "type": "mrkdwn", "text": "*Duration:*\n45 min" },
    { "type": "mrkdwn", "text": "*Attendees:*\n4 people" },
    { "type": "mrkdwn", "text": "*Priority:*\nHigh" }
  ]
}

Rules: Max 10 fields, each max 2000 chars.

Divider Block

{
  "type": "divider"
}

Image Block

{
  "type": "image",
  "image_url": "https://example.com/chart.png",
  "alt_text": "Q4 revenue chart"
}

Context Block

{
  "type": "context",
  "elements": [
    {
      "type": "mrkdwn",
      "text": ":clock1: Posted at <!date^1706451200^{date_short_pretty} at {time}|Jan 28, 2026>"
    }
  ]
}

Actions Block

{
  "type": "actions",
  "block_id": "actions_1",
  "elements": [
    {
      "type": "button",
      "text": { "type": "plain_text", "text": "Approve", "emoji": true },
      "style": "primary",
      "action_id": "approve_btn",
      "value": "approved"
    },
    {
      "type": "button",
      "text": { "type": "plain_text", "text": "Reject", "emoji": true },
      "style": "danger",
      "action_id": "reject_btn",
      "value": "rejected"
    }
  ]
}

Button styles: primary (green), danger (red), or omit for default gray.


mrkdwn Syntax (NOT Standard Markdown!)

Text Formatting

FormatSyntaxExample
Bold*text**important*
Italic_text__emphasis_
Strikethrough~text~~deleted~
Code` code `` function() `
Code block``` `code` ```Multi-line
Quote>textIndented

Links and Mentions

TypeSyntax
URL<https://example.com>
URL with text`<https://example.com\Click here>`
User mention<@U12345678>
Channel link<#C12345678>
@here<!here>
@channel<!channel>

Escape Characters

CharacterEscape As
&&
<<
>>

NOT Supported (Common Mistakes)

WrongCorrect
**bold***bold*
*italic*_italic_
[text](url)`<url\text>`
# HeaderUse header block

Message Templates by Use Case

Newsletter Template (Polished)

Use for company-wide updates, weekly digests, or announcements.

{
  "text": "Paper Company Newsletter - November 12, 2019",
  "blocks": [
    {
      "type": "header",
      "text": {
        "type": "plain_text",
        "text": ":newspaper:  AskElephant Update  :newspaper:",
        "emoji": true
      }
    },
    {
      "type": "context",
      "elements": [
        {
          "text": "*January 28, 2026*  |  Product Team",
          "type": "mrkdwn"
        }
      ]
    },
    { "type": "divider" },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": ":loud_sound: *IN CASE YOU MISSED IT* :loud_sound:"
      }
    },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "The *HubSpot integration* shipped last week. Customers can now sync all their meeting data to HubSpot automatically."
      },
      "accessory": {
        "type": "button",
        "text": { "type": "plain_text", "text": "Learn More", "emoji": true },
        "url": "https://docs.askelephant.com/hubspot"
      }
    },
    { "type": "divider" },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": ":calendar: |   *UPCOMING*  | :calendar:"
      }
    },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "`02/01` *Speaker ID V2* — Improved speaker identification\n`02/15` *Admin Onboarding* — Streamlined workspace setup"
      }
    },
    { "type": "divider" },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "*FOR YOUR INFORMATION*"
      }
    },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": ":bulb: *Mobile app update* is now available. Make sure customers update for better recording reliability."
      }
    },
    { "type": "divider" },
    {
      "type": "context",
      "elements": [
        {
          "type": "mrkdwn",
          "text": ":pushpin: Questions? Drop them in *#product-forum*"
        }
      ]
    }
  ]
}

Rob Report (Revenue Team, Simple Language)

Use for CRO/revenue team updates with simplified language and customer-visible features only.

{
  "text": "What's New - January 27, 2026",
  "blocks": [
    {
      "type": "header",
      "text": {
        "type": "plain_text",
        "text": "What's New - January 27, 2026",
        "emoji": true
      }
    },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "Hey Revenue Team! Here's what shipped that you can use with customers right now."
      }
    },
    { "type": "divider" },
    {
      "type": "header",
      "text": {
        "type": "plain_text",
        "text": "What's New",
        "emoji": true
      }
    },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "*The app runs faster now* — Pages load quicker, especially with lots of conversations.\n\n*@ mentions work better in chat* — AskElephant understands who you're talking about more reliably."
      }
    },
    { "type": "divider" },
    {
      "type": "header",
      "text": {
        "type": "plain_text",
        "text": "What We Fixed",
        "emoji": true
      }
    },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "• Notification banners showing at wrong time\n• Scrolling no longer jumps around\n• Words getting cut off in meeting details"
      }
    },
    { "type": "divider" },
    {
      "type": "header",
      "text": {
        "type": "plain_text",
        "text": "Revenue Wins",
        "emoji": true
      }
    },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "*Total New ARR:* $20,399 (4 deals)\n*Expansion:* $5,700 (Hadco Construction)\n*Total ARR Impact:* $26,100"
      }
    },
    { "type": "divider" },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "_All features listed are available to your team now._"
      }
    },
    {
      "type": "table",
      "column_settings": [
        { "align": "left" },
        { "align": "center" },
        { "align": "center" },
        { "align": "center" },
        { "align": "center" }
      ],
      "rows": [
        [
          { "type": "raw_text", "text": "SDR" },
          { "type": "raw_text", "text": "Convos" },
          { "type": "raw_text", "text": "Pitches" },
          { "type": "raw_text", "text": "Meetings" },
          { "type": "raw_text", "text": "ICP Held" }
        ],
        [
          { "type": "raw_text", "text": "Jamis Benson" },
          { "type": "raw_text", "text": "7" },
          { "type": "raw_text", "text": "6" },
          { "type": "raw_text", "text": "4" },
          { "type": "raw_text", "text": "2" }
        ],
        [
          { "type": "raw_text", "text": "Carter Thomas" },
          { "type": "raw_text", "text": "8" },
          { "type": "raw_text", "text": "6" },
          { "type": "raw_text", "text": "5" },
          { "type": "raw_text", "text": "1" }
        ],
        [
          { "type": "raw_text", "text": "Team Total" },
          { "type": "raw_text", "text": "18" },
          { "type": "raw_text", "text": "14" },
          { "type": "raw_text", "text": "12" },
          { "type": "raw_text", "text": "3" }
        ]
      ]
    }
  ]
}

Daily Digest (Engineering/Product)

{
  "text": "AskElephant Daily Digest",
  "blocks": [
    {
      "type": "header",
      "text": {
        "type": "plain_text",
        "text": "AskElephant Daily Digest",
        "emoji": true
      }
    },
    {
      "type": "context",
      "elements": [
        { "type": "mrkdwn", "text": ":newspaper: Thursday, January 23, 2026" }
      ]
    },
    { "type": "divider" },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "*:trophy: Today's Headline*\n\n>*Dialpad Goes Live + Desktop Stability* — Another major telephony platform now integrated."
      }
    },
    { "type": "divider" },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "*:sparkles: New Features*\n\n*CRM Integrations*\n• Dialpad direct integration — full telephony support\n• Dialpad event handling — deduplication and routing\n\n*Recording & Capture*\n• Desktop MP4 audio — higher quality recordings\n• Web recording visual feedback"
      }
    },
    { "type": "divider" },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "*:wrench: Improvements*\n\n• Engagement page restored\n• AI description improvements\n• Query performance instrumented"
      }
    },
    { "type": "divider" },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "*:bug: Bugs Fixed: 6*\n\n• Auto logout toggle restored\n• Desktop recording stop reliability\n• Mobile push notification delivery"
      }
    },
    { "type": "divider" },
    {
      "type": "section",
      "text": { "type": "mrkdwn", "text": "*:busts_in_silhouette: Team Focus*" }
    },
    {
      "type": "section",
      "fields": [
        { "type": "mrkdwn", "text": "*Eduardo*\nDialpad, desktop, mobile" },
        { "type": "mrkdwn", "text": "*Matt Noxon*\nPerformance, dataloaders" },
        { "type": "mrkdwn", "text": "*Jason*\nStripe, PostHog, analytics" },
        { "type": "mrkdwn", "text": "*Dylan*\nVoiceprint, embeddings" }
      ]
    },
    { "type": "divider" },
    {
      "type": "context",
      "elements": [
        {
          "type": "mrkdwn",
          "text": ":chart_with_upwards_trend: *Stats:* 6 features | 3 improvements | 6 bugs fixed"
        },
        {
          "type": "mrkdwn",
          "text": ":rocket: *21 PRs merged* • *Eduardo leading with 10*"
        }
      ]
    }
  ]
}

Deal Closed Celebration

{
  "text": "Deal Closed: Acme Corp - $50,000 ARR",
  "blocks": [
    {
      "type": "header",
      "text": {
        "type": "plain_text",
        "text": ":tada: Deal Closed!",
        "emoji": true
      }
    },
    {
      "type": "section",
      "fields": [
        { "type": "mrkdwn", "text": "*Account:*\nAcme Corp" },
        { "type": "mrkdwn", "text": "*ARR:*\n$50,000" },
        { "type": "mrkdwn", "text": "*Rep:*\n<@U12345>" },
        { "type": "mrkdwn", "text": "*Type:*\nNew Business" }
      ]
    },
    {
      "type": "context",
      "elements": [
        {
          "type": "mrkdwn",
          "text": "Closed on <!date^1706451200^{date_long}|January 28, 2026>"
        }
      ]
    }
  ]
}

Approval Request (Interactive)

{
  "text": "Approval Needed: Enterprise Pricing",
  "blocks": [
    {
      "type": "header",
      "text": {
        "type": "plain_text",
        "text": ":raised_hand: Approval Needed",
        "emoji": true
      }
    },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "*Enterprise Pricing Proposal*\nNew tier at $2,500/mo for 50+ seats."
      }
    },
    {
      "type": "section",
      "fields": [
        { "type": "mrkdwn", "text": "*Requested by:*\n<@U12345>" },
        { "type": "mrkdwn", "text": "*Deadline:*\nFeb 1, 2026" }
      ]
    },
    {
      "type": "actions",
      "block_id": "approval_actions",
      "elements": [
        {
          "type": "button",
          "text": { "type": "plain_text", "text": "Approve", "emoji": true },
          "style": "primary",
          "action_id": "approve_proposal"
        },
        {
          "type": "button",
          "text": { "type": "plain_text", "text": "Reject", "emoji": true },
          "style": "danger",
          "action_id": "reject_proposal"
        },
        {
          "type": "button",
          "text": {
            "type": "plain_text",
            "text": "View Details",
            "emoji": true
          },
          "url": "https://notion.so/proposal-123",
          "action_id": "view_details"
        }
      ]
    }
  ]
}

Alert/Warning

{
  "text": "Alert: High API Error Rate",
  "blocks": [
    {
      "type": "header",
      "text": {
        "type": "plain_text",
        "text": ":rotating_light: Alert: High Error Rate",
        "emoji": true
      }
    },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "API error rate has exceeded 5% threshold.\n\n*Current rate:* 7.2%\n*Threshold:* 5%\n*Duration:* 15 minutes"
      }
    },
    {
      "type": "actions",
      "elements": [
        {
          "type": "button",
          "text": {
            "type": "plain_text",
            "text": "View Dashboard",
            "emoji": true
          },
          "url": "https://grafana.example.com/alerts",
          "style": "primary"
        },
        {
          "type": "button",
          "text": {
            "type": "plain_text",
            "text": "Acknowledge",
            "emoji": true
          },
          "action_id": "ack_alert"
        }
      ]
    },
    {
      "type": "context",
      "elements": [
        {
          "type": "mrkdwn",
          "text": ":clock1: Triggered at <!date^1706451200^{time}|2:30 PM>"
        }
      ]
    }
  ]
}

Template Selection Decision Tree

What are you sending?
│
├── Update for Revenue Team (Rob, AEs, SDRs)?
│   └── Use: Rob Report Template
│       • Simple language (high school reading level)
│       • Customer-visible features only
│       • Table block for SDR metrics
│
├── Company-wide announcement?
│   └── Use: Newsletter Template
│       • Header with emoji
│       • Context with date
│       • "In Case You Missed It" section
│       • "Upcoming" with dates in backticks
│       • "For Your Information" callout
│
├── Engineering/Product digest?
│   └── Use: Daily Digest Template
│       • Headline quote block
│       • Categorized sections (Features, Improvements, Bugs)
│       • Team Focus with fields
│       • Stats in context block
│
├── Deal closed?
│   └── Use: Deal Closed Template
│       • Header with :tada:
│       • Fields for Account/ARR/Rep/Type
│       • Context with date
│
├── Need approval?
│   └── Use: Approval Request Template
│       • Actions block with Approve/Reject buttons
│       • Fields for requester/deadline
│
├── Alert/Error?
│   └── Use: Alert Template
│       • :rotating_light: emoji
│       • Current vs threshold values
│       • Acknowledge button
│
└── Tabular data?
    └── Use: Table Block (1 per message)
        • Put at END of blocks array
        • Use column_settings for alignment
        • Center numeric columns

Block Selection Quick Guide

Content TypeBest Block
Title/Headlineheader
Main textsection
Key-value pairssection with fields
Text + buttonsection with accessory
Standalone imageimage
Row of buttonsactions
Metadata/footercontext
Visual breakdivider
Tabular datatable (1 per message, at end)
Complex formattingrich_text

Validation Checklist

Before sending:

  • Valid JSON syntax
  • Fallback text field at root level
  • All action_id values unique
  • Character limits respected (header: 150, section: 3000)
  • Image URLs are HTTPS
  • mrkdwn syntax correct (not standard Markdown)
  • Max 50 blocks for messages
  • Only 1 table block (if using tables)
  • Table block is LAST in blocks array

Common Emoji Reference

TypeEmojis
Success:white_check_mark: :tada: :rocket:
Alert:warning: :rotating_light: :exclamation:
Info:information_source: :memo: :newspaper:
Revenue:moneybag: :chart_with_upwards_trend: :trophy:
Meetings:movie_camera: :calendar: :busts_in_silhouette:
Dev:hammer_and_wrench: :gear: :package: :bug:
Time:clock1: :hourglass: :stopwatch:
Category:sparkles: :wrench: :loud_sound: :bulb:

Date Formatting

Use <!date^TIMESTAMP^FORMAT|FALLBACK> in mrkdwn.

TokenOutput
{date_num}2026-01-28
{date_short}Jan 28, 2026
{date_long}Monday, January 28th, 2026
{date_pretty}today/yesterday/tomorrow or date
{time}2:34 PM
{ago}3 minutes ago

Example:

<!date^1706451200^{date_short_pretty} at {time}|Jan 28, 2026>

Testing

Recommend testing in Block Kit Builder before sending.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

38.21%
按下载量换算28

Claude

29.51%
按下载量换算22

Cursor

17.99%
按下载量换算13

Gemini CLI

9.13%
按下载量换算7

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

external-service

该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills