用途:该技能用于通过 Slack Incoming Webhook URL 直接发送 Slack 通知,消息发布到 Messages 界面,不创建模态框或 Home 标签。
主要能力:支持纯文本、Slack mrkdwn(如 bold、italic、~strike~、code、链接、emoji)、Block Kit blocks、attachments,以及 thread_ts、unfurl_links、unfurl_media 等可选字段。默认输出 dry-run JSON 载荷;显式加 --send 后才调用 webhook,并返回 Slack HTTP 状态与响应体。脚本会本地校验 blocks 是否为 Messages 界面支持的块类型,并限制 50 个块。
使用方式:依赖 curl、bash、python3。Webhook URL 解析顺序为 SLACK_WEBHOOK_URL、--webhook-url-stdin、本地保存的 ~/.config/slack-webhook/webhook_url。可保存 URL:SLACK_WEBHOOK_URL="https://hooks.slack.com/services/..." bash <skill-path>/scripts/send_slack_webhook.sh --save-webhook-url;一次性发送:printf '%s\n' 'https://hooks.slack.com/services/...' | bash <skill-path>/scripts/send_slack_webhook.sh --webhook-url-stdin --text "Deploy completed." --send;清除:bash <skill-path>/scripts/send_slack_webhook.sh --clear-webhook-url。常用参数包括 --text、--text-file、--payload-json、--payload-file、--blocks-json、--attachments-json、--thread-ts、--unfurl-links、--unfurl-media、--output、--send 等。
适用场景:部署完成通知、构建状态、KPI 汇总、发布演示、线程回复等 Slack 消息推送。
限制:Incoming Webhook 绑定单一目标,无法任意选频道;仅能发送,不能读取、删除消息或管理频道用户;webhook URL 属机密,不应回显或写入日志;消息含 ! 可能触发 shell 历史展开,建议用脚本加引号或 --text-file;Slack 通常限速约每秒一条;发送外部可见且不可撤销,--send 前需确认频道与内容。未提供 webhook URL 时仍可 dry-run,发送需先配置,配置说明见 https://frevana.gitbook.io/frevana-docs/connect-chat-apps/slack-webhook-integration。