slack
作成者 vercel-labsブラウザー自動化を使って、コマンドラインから Slack を操作できます。slack スキルは `agent-browser` 経由で、既存の Slack Web セッションに接続し、未読チャンネルの確認、DM のスキャン、会話の検索、データ抽出、構造化レポートの作成などを、より大きなワークフローの一部として実行できます。
Overview
What the slack skill does
slack スキルは、ブラウザー上の Slack Web アプリを操作して、実際の Slack ワークスペースを自動化します。既にログイン済みの Slack セッションを agent-browser が制御することで、次のようなことが可能になります。
- 未読メッセージがあるチャンネルや DM を一覧で確認
- Slack の UI(Activity、DM、チャンネル、検索)を自動でナビゲート
- Slack の各ビューから構造化されたデータを抽出
- レポート用の証跡としてスクリーンショットを取得
- 定型的な Slack チェックを、より大きな自動化ワークフローの一部として組み込み
ライブの Slack Web インターフェースに対して動作するため、既存の権限、ワークスペース構成、認証状態をそのまま利用できます。
Who this skill is for
次のような場合は、slack スキルの利用を検討してください。
- 複数の Slack ワークスペースを監視しており、素早く・何度でも同じ条件で状態確認をしたい
- オペレーション、サポート、インシデント対応など、Slack 上のメッセージに依存する業務フローを回している
- エージェントや CLI ジョブに Slack のスキャンとサマリー/レポート出力を任せたい
- Slack アプリの作成や API トークン管理ではなく、ブラウザー自動化ベースで進めたい
Slack 上で workflow automation や browser automation を構築したいエンジニア、SRE/オペレーション担当、アナリストなどに特にフィットします。
What problems it solves
手作業で Slack をチェックするのは時間がかかり、見落としも起こりがちです。slack スキルを使うと、次のような課題を解消できます。
- 未読のあるチャンネルや DM を、漏れなく体系的に洗い出し
- コンプライアンス対応やインシデント振り返り用に、証跡(スクリーンショットやスナップショット)を取得
- テンプレートから一貫した形式の Slack アクティビティレポートを自動生成
- その都度 UI を覚え直す代わりに、共通のナビゲーションパターンを再利用
スクリプトやエージェントの一部で「Slack を確認して」「未読のあるチャンネルを全部見せて」といった処理をさせたい場合、このスキルを前提に設計されています。
When slack is not a good fit
次のようなケースでは、別のアプローチの方が適している可能性があります。
- 大量データのエクスポートや長期的な履歴分析が必要(Slack API や公式エクスポートの利用が向いている場合があります)
- ブラウザーを起動できない、またはデバッグポートを開けない(このスキルはブラウザー自動化に依存します)
- UI を一切触らず、完全にプログラムのみでアクセスしたい
一方で、多くの運用系ワークフローについては、既存の Slack Web UI を agent-browser 経由で操作するのが、最も手早い立ち上げ方です。
How to Use
Installation and setup
1. Add the slack skill
npx を使って、エージェントのスキル環境に slack スキルを追加します。
npx skills add https://github.com/vercel-labs/agent-browser --skill slack
このコマンドで、vercel-labs/agent-browser リポジトリから slack スキル定義と、SKILL.md、references、templates などの関連ファイルが取得されます。
2. Prepare a Slack browser session
slack スキルは、agent-browser が制御できるブラウザー内で Slack が開かれていることを前提としています。
一般的なセットアップ例:
# Option A: すでに Slack を開いているブラウザーセッションに接続
agent-browser connect 9222
# Option B: まだ Slack を開いていない場合に直接起動
agent-browser open https://app.slack.com
上記のポート番号(9222)は、リモートデバッグを有効にしてブラウザーを起動した方法によって変わります。自分の環境に合わせて調整してください。
3. Confirm agent-browser access
接続または起動ができたら、Slack の UI にアクセスできているか、スナップショットを取得して確認します。
agent-browser snapshot -i
スナップショットには、@e1 や @e2 のような ref が付いたインタラクティブ要素が列挙されます。これらを使って、後続のコマンドでクリックや読み取り、自動化を行います。
Core workflow pattern
1. Connect or open Slack
すべてのセッションは、Slack Web アプリへの接続から始まります。
agent-browser connect 9222
# or
agent-browser open https://app.slack.com
2. Discover elements with a snapshot
現在 Slack がどの画面を表示しているかを把握するため、スナップショットを取得します。
agent-browser snapshot -i
ここで、Activity タブなら @e14、DM なら @e13、"More unreads" ボタン用の ref などが見つかります。これらの ref を使うことで、安定したナビゲーションスクリプトを書けます。
3. Navigate to the relevant view
必要に応じてタブをクリックしたり、サイドバーを展開したり、セクションを開いたりします。
# 例: Activity タブを開く
agent-browser click @e14
agent-browser wait 1000
画面遷移後に再度スナップショットを取得して、新しい要素やテキストを確認しながら進めます。
4. Extract information or take actions
目的のビューに到達したら、次のような操作が可能です。
- スナップショットからメッセージ本文・チャンネル名・件数などを読み取る
- 各チャンネルや DM にクリックで遷移
- スクロールしながらスクリーンショットを取得し、後でサマリー化
未読確認のパターン例:
agent-browser connect 9222
agent-browser snapshot -i
# スナップショット出力内で "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
このリポジトリには、よくあるワークフローの手順をまとめた references/slack-tasks.md が同梱されています。主なタスクは次のとおりです。
Check all unread messages across Slack
Slack 全体で、まだ読んでいないものを完全に把握したいときに使う手順です。
ハイレベルな流れ(詳細は references/slack-tasks.md を参照):
- Slack に接続:
agent-browser connect 9222 - Activity タブを開き、未読がないかどうかを確認。
- DM タブに切り替え、未読バッジの付いた会話を特定。
- チャンネルサイドバーで "More unreads" を展開し、未読チャンネルを一覧化。
- 各ビューのスクリーンショットを取得し、サマリーとしてまとめる。
このパターンは、定期実行の「check my Slack」自動化や、次の処理に進む前に最新状態を確認するエージェントに最適です。
Find all channels in a workspace
ワークスペース内で、自分がアクセスできるチャンネル一覧を取得したい場合の手順です。
- 接続とスナップショット取得:
agent-browser connect 9222 agent-browser snapshot -i - サイドバー内の "Channels" セクションを特定。
- それをクリックして展開し、例えば
all-channels.pngのようなファイル名でスクリーンショットを保存。 - スナップショット出力からチャンネル名をパース。
このフローは、チャンネル構造のマッピング、アクティビティの分類、ワークスペース概要レポートの自動生成などの基盤になります。
Using templates and references
Reference playbooks
references/ フォルダーには、Slack 自動化向けのプレイブックが用意されています。
references/slack-tasks.md– 未読チェック、チャンネル一覧取得など、よくあるワークフローのパターン集
エージェントやスクリプト用のプレイブックとして扱い、記載された手順をビルディングブロックのように再利用できます。
Reporting templates
templates/ フォルダーには、構造化されたレポートテンプレートが含まれています。
templates/slack-report-template.md– Slack 分析向けの Markdown レポートひな形
テンプレートには次のようなセクションが含まれます。
- Activity・DM・チャンネルごとの未読件数
- 未読チャンネル/未読 DM の一覧
- チャンネルごとのスナップショット統計
- 最もアクティブなチャンネルと主要な会話
このテンプレートを使うことで、自動化処理が出力する Slack 結果のサマリーを、関係者向けに標準化された形式で共有できます。
Files to review first
slack スキルの意図や拡張方法を理解するには、まず次のリポジトリ内ファイルを確認してください。
SKILL.md– slack スキルのメイン定義、説明、利用可能なツール一覧references/slack-tasks.md– 具体的なタスクフローと自動化パターンtemplates/slack-report-template.md– 人間向け Slack レポートの構造
これらを読むだけで、リポジトリ全体を細かく読むことなく、想定される使い方を把握できます。
FAQ
What is the slack skill in agent-browser?
slack スキルは、agent-browser に Slack ワークスペースとのやり取り方法を教える、再利用可能な自動化プロファイルです。Slack の Web UI を経由し、未読チェック、チャンネルや DM のナビゲーション、検索、データ抽出といった操作を、Slack API ではなくブラウザー自動化で行うことに特化しています。
How do I install the slack skill?
vercel-labs/agent-browser リポジトリから、npx を使ってインストールします。
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 アカウントが Web インターフェースから見える範囲に限られます。権限を超えたアクセスは行いません。全メッセージの長期履歴エクスポートというよりも、未読状況、チャンネルリスト、直近アクティビティなどの運用チェックに向いています。
How stable are element refs like @e14 or @e21?
@e14 のような ref は、各 agent-browser snapshot のたびに付与されるもので、セッションごとに変わることがありますし、Slack の UI 変更によっても変動します。references/slack-tasks.md では、スナップショット出力内で "Activity"、"DMs"、"More unreads" といったラベルを探し、そのラベルに紐づく ref を動的に取得して使うパターンを説明しています。固定の番号をハードコードしない運用が推奨です。
Is the slack skill suitable for headless or server environments?
agent-browser が接続可能な形で、リモートデバッグ付きブラウザーを起動できる環境であれば、サーバーや headless 環境でも利用可能です。逆に、まったくブラウザーを起動できない・アクセスできない環境では、このブラウザー前提のスキルは適さず、API ベースの連携の方が良いでしょう。
What categories of automation does this skill support?
slack スキルは、主に workflow-automation 用、次いで browser-automation 用のツールです。次のような CLI / エージェント駆動のワークフローに適しています。
- 他のジョブを動かす前に、Slack の状態を確認する
- インシデント対応やサポートプロセスの一環として Slack から情報を収集する
- テンプレートに基づいて、標準化された Slack アクティビティレポートを生成する
Where can I learn the detailed task flows?
スキルの Files ビューを開き、次のファイルを確認してください。
SKILL.md– スキルのハイレベル定義とクイックスタート例references/slack-tasks.md– タスク別の具体的な手順templates/slack-report-template.md– レポート構造の定義
これらのドキュメントを組み合わせて読むことで、自分のワークフローや制約に合わせて slack スキルをどう適用するかを判断するのに十分な情報が得られます。
