slack
作者 vercel-labs透過瀏覽器自動化,從命令列操作 Slack。slack 技能會透過 agent-browser 連線到既有的 Slack 網頁工作階段,讓你可以檢查未讀頻道、掃描私訊、搜尋對話、擷取資料,並在更大型的自動化流程中產出結構化報告。
Overview
What the slack skill does
slack 技能會在你的瀏覽器中操控 Slack 網頁版,來自動化實際使用中的 Slack 工作區。它使用 agent-browser 控制既有的 Slack 工作階段,因此你可以:
- 查看哪些頻道與私訊有未讀訊息
- 在 Slack 介面中導航(Activity、DMs、channels、search)
- 從 Slack 各種視圖中擷取結構化資料
- 擷取螢幕截圖作為報告佐證
- 將可重複的 Slack 檢查流程納入更大的自動化工作流程
因為是直接操作線上 Slack 網頁介面,此技能會沿用你現有的權限、工作區配置與登入狀態。
Who this skill is for
在以下情況,適合使用 slack 技能:
- 你需要監控多個 Slack 工作區,並且要快速、可重複的狀態檢查
- 你的營運、客服或事故處理流程高度依賴 Slack 訊息
- 你希望 agent 或 CLI 工作能掃描 Slack 並產出摘要或報告
- 你偏好透過瀏覽器自動化(不想額外管理自訂 Slack app 或 API token)
這個技能非常適合工程師、SRE/Ops、分析師,以及任何在 Slack 上打造工作流程自動化或瀏覽器自動化的人。
What problems it solves
手動巡視 Slack 又慢又容易漏看。slack 技能可以幫你:
- 系統化找出所有有未讀的頻道與私訊
- 針對稽核或事故檢討,擷取佐證(螢幕截圖、畫面快照)
- 依照範本穩定產出 Slack 活動報告
- 重複利用常見的導航操作,而不用每次都重新摸索介面
如果你在寫腳本或讓 agent 執行工作時,常想著「幫我檢查 Slack」或「列出所有有未讀的頻道」,這個技能就是為此設計的。
When slack is not a good fit
若有以下需求,可能要考慮其他做法:
- 需要大量、深入的資料匯出或歷史分析(可能改用 Slack API 或官方匯出會更合適)
- 無法執行瀏覽器,或無法開啟除錯連接埠(此技能仰賴瀏覽器自動化)
- 需要完全沒有任何 UI 互動的純程式存取
但對多數營運類的工作流程來說,透過 agent-browser 操作既有的 Slack 網頁 UI,往往是最快上手的方式。
How to Use
Installation and setup
1. Add the slack skill
使用 npx 將 slack 技能安裝到你的 agent skills 環境中:
npx skills add https://github.com/vercel-labs/agent-browser --skill slack
此指令會從 vercel-labs/agent-browser repository 取回 slack 技能定義以及支援檔案(包含 SKILL.md、references 和 templates)。
2. Prepare a Slack browser session
slack 技能假設你已在瀏覽器中開啟 Slack,或是有一個 agent-browser 可控制的 Slack 視窗。
常見設定方式如下:
# Option A: 連線到既有的瀏覽器工作階段(Slack 已開啟)
agent-browser connect 9222
# Option B: 若尚未執行 Slack,直接開啟 Slack
agent-browser open https://app.slack.com
實際使用的連接埠(上述範例為 9222)取決於你啟動瀏覽器時如何開啟 remote debugging。請依你的環境調整。
3. Confirm agent-browser access
連線或開啟後,先擷取一張 snapshot 確認 Slack 介面可被存取:
agent-browser snapshot -i
snapshot 中會列出互動元素(例如 @e1、@e2 等 ref),稍後你可以在指令中點擊、讀取並自動化這些元素。
Core workflow pattern
1. Connect or open Slack
每次工作階段都從連線到 Slack 網頁開始:
agent-browser connect 9222
# or
agent-browser open https://app.slack.com
2. Discover elements with a snapshot
使用 snapshot 來查看目前 Slack 頁面呈現的內容:
agent-browser snapshot -i
你會看到像 @e14 對應 Activity 分頁、@e13 對應 DMs,或對應「More unreads」按鈕的某個 ref。這些 ref 能讓你穩定地編寫導航腳本。
3. Navigate to the relevant view
依需求點擊分頁、展開側邊欄或開啟不同區塊:
# 範例:開啟 Activity 分頁
agent-browser click @e14
agent-browser wait 1000
每次導航後,可以再截一次 snapshot 來探索新的元素與文字。
4. Extract information or take actions
當你已在正確的視圖中,就可以:
- 從 snapshot 讀取訊息內容、頻道名稱或計數
- 點進單一頻道或私訊對話
- 捲動並擷取螢幕截圖,供後續摘要或分析使用
以下是檢查未讀的範例流程:
agent-browser connect 9222
agent-browser snapshot -i
# 在 snapshot 輸出中尋找 "More unreads"
agent-browser click @e21 # 範例:對應 "More unreads" 按鈕的 ref
agent-browser screenshot slack-unreads.png
5. Capture evidence
與 Slack 相關的稽核、事故檢討或每日站會摘要,往往需要螢幕截圖與結構化筆記作為佐證。
你可以使用:
agent-browser screenshot activity.png
再搭配下方提到的報告範本,將這些原始發現整理成標準化報告。
Common Slack automation tasks
此 repository 內含 references/slack-tasks.md,裡面記錄了常見工作流程的逐步操作範本。幾個重要任務包含:
Check all unread messages across Slack
當你想完整掌握所有尚未閱讀的內容時可以使用。
高階步驟如下(完整說明請見 references/slack-tasks.md):
- 連線到 Slack:
agent-browser connect 9222 - 開啟 Activity 分頁,確認 Slack 是否顯示沒有未讀。
- 切換到 DMs 分頁,找出帶有未讀標記的對話。
- 在頻道側邊欄展開「More unreads」,列出所有未讀頻道。
- 擷取各視圖的螢幕截圖,並彙整成摘要。
這個模式很適合排程化的「check my Slack」自動化,或在執行後續工作前,需要先確認你已追上進度的 agent。
Find all channels in a workspace
當你需要盤點自己能存取的所有頻道時:
- 連線並截圖 snapshot:
agent-browser connect 9222 agent-browser snapshot -i - 在側邊欄找到 "Channels" 區塊。
- 點擊展開並擷取螢幕截圖(例如
all-channels.png)。 - 從 snapshot 輸出中解析頻道名稱。
這能支援後續的自動化,例如繪出頻道結構、分類活動類型,或產生工作區概覽。
Using templates and references
Reference playbooks
references/ 資料夾提供現成的 Slack 自動化指引:
references/slack-tasks.md– 記錄檢查未讀、列出頻道與其他常見流程的操作模式。
你可以把它當成 agent 或腳本的操作手冊,重複利用裡面的步驟組合。
Reporting templates
templates/ 資料夾則包含結構化報告範本:
templates/slack-report-template.md– 用於 Slack 分析的 Markdown 報告架構。
其中包含以下區塊:
- 依 Activity、DMs 與 channels 分類的未讀數量
- 未讀頻道與未讀私訊清單
- 頻道快照統計
- 最活躍頻道與關鍵對話
使用這個範本,可以統一你的自動化流程如何向利害關係人呈現 Slack 分析結果。
Files to review first
若想理解並擴充 slack 技能,建議先閱讀 repository 中這些檔案:
SKILL.md– slack 技能的主要定義、說明與可用工具列表references/slack-tasks.md– 詳細任務流程與自動化模式templates/slack-report-template.md– 方便人閱讀的 Slack 報告結構
這些檔案能讓你掌握預期的使用方式,而不必翻遍整個 repo。
FAQ
What is the slack skill in agent-browser?
slack 技能是一個可重複使用的自動化設定檔,用來教會 agent-browser 如何透過 Slack 網頁 UI 與工作區互動。它專注在檢查未讀、瀏覽頻道與 DMs、搜尋及資料擷取等工作,全部透過瀏覽器自動化完成,而不是使用 Slack API 直接存取。
How do I install the slack skill?
你可以透過 npx 從 vercel-labs/agent-browser repository 安裝:
npx skills add https://github.com/vercel-labs/agent-browser --skill slack
安裝完成後,請確認你能執行 agent-browser,並連線到一個已開啟或可開啟 Slack 的瀏覽器。
Do I need a Slack app or API token to use this skill?
不需要。slack 技能是透過瀏覽器中的 Slack web application 進行操作。只要你在該瀏覽器中已登入 Slack,且 agent-browser 能控制它,技能就能利用你既有的存取權限來執行任務。
Can this skill read all messages in my workspace?
此技能只能看到你的 Slack 帳號在網頁介面上看得到的內容,不會繞過任何權限限制。它比較適合用在營運類檢查(未讀狀態、頻道清單、近期活動),而不是匯出整個工作區的完整歷史訊息。
How stable are element refs like @e14 or @e21?
像 @e14 這類 ref 是由每次的 agent-browser snapshot 動態產生,可能會隨工作階段或 Slack UI 更新而改變。references/slack-tasks.md 中示範了如何在 snapshot 輸出中尋找 "Activity"、"DMs" 或 "More unreads" 等標籤,然後動態使用對應的 ref,而不是把數字寫死在腳本裡。
Is the slack skill suitable for headless or server environments?
只要能執行支援 remote debugging、且可被 agent-browser 連線的瀏覽器,就能在 headless 或伺服器環境中使用。如果你的環境完全無法執行或存取瀏覽器,那這種以瀏覽器為基礎的技能就不適合,改用 API 型整合可能會更恰當。
What categories of automation does this skill support?
slack 技能主要屬於 workflow-automation 工具,其次也是一個 browser-automation 工具。特別適合這類由 CLI 或 agent 驅動的流程:
- 在執行其他工作前先檢查 Slack 狀態
- 在事故處理或客服流程中,從 Slack 收集必要資訊
- 依照範本產出標準化的 Slack 活動報告
Where can I learn the detailed task flows?
在技能的 Files 檢視中打開:
SKILL.md:高階定義與快速上手範例references/slack-tasks.md:逐個任務的詳細操作指引templates/slack-report-template.md:報告結構範本
這幾份文件加起來,足以讓你判斷要如何把 slack 技能調整成符合自己工作流程與限制的版本。
