Best for
- Use when the user needs to check unread channels, navigate Slack, send messages, extract data, find information, search conversations, or automate any Slack task.
vercel-labs/agent-browser/skill-data/slack/SKILL.md
Interact with Slack workspaces using browser automation. Use when the user needs to check unread channels, navigate Slack, send messages, extract data, find information, search conversations, or automate any Slack task. Triggers include "check my Slack", "what channels have unreads", "send a message to", "search Slack for", "extract from Slack", "find who said", or any task requiring programmatic Slack interaction.
Decision brief
Interact with Slack workspaces to check messages, extract data, and automate common tasks.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/vercel-labs/agent-browser --skill "skill-data/slack"Inspect the Agent Skill "slack" from https://github.com/vercel-labs/agent-browser/blob/01c1147da66940c034a5ccea497447e52c2f6dfe/skill-data/slack/SKILL.md at commit 01c1147da66940c034a5ccea497447e52c2f6dfe. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Connect to an existing Slack browser session or open Slack:
1. Connect/Navigate: Open or connect to Slack 2. Snapshot: Get interactive elements with refs (@e1, @e2, etc.) 3. Navigate: Click tabs, expand sections, or navigate to specific channels 4. Extract/Interact: Read data or perform actions 5. Screenshot: Capture evidence of findings
agent-browser connect 9222
agent-browser open https://app.slack.com bash agent-browser snapshot -i bash
agent-browser connect 9222 agent-browser snapshot -i
Permission review
The documentation includes network, browsing, or remote request actions.
agent-browser open https://app.slack.comEvidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 83/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 39,896 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Interact with Slack workspaces to check messages, extract data, and automate common tasks.
Connect to an existing Slack browser session or open Slack:
# Connect to existing session on port 9222 (typical for already-open Slack)
agent-browser connect 9222
# Or open Slack if not already running
agent-browser open https://app.slack.com
Then take a snapshot to see what's available:
agent-browser snapshot -i
@e1, @e2, etc.)# Example: Check unread channels
agent-browser connect 9222
agent-browser snapshot -i
# Look for "More unreads" button
agent-browser click @e21 # Ref for "More unreads" button
agent-browser screenshot slack-unreads.png
# Connect to Slack
agent-browser connect 9222
# Take snapshot to locate unreads button
agent-browser snapshot -i
# Look for:
# - "More unreads" button (usually near top of sidebar)
# - "Unreads" toggle in Activity tab (shows unread count)
# - Channel names with badges/bold text indicating unreads
# Navigate to Activity tab to see all unreads in one view
agent-browser click @e14 # Activity tab (ref may vary)
agent-browser wait 1000
agent-browser screenshot activity-unreads.png
# Or check DMs tab
agent-browser click @e13 # DMs tab
agent-browser screenshot dms.png
# Or expand "More unreads" in sidebar
agent-browser click @e21 # More unreads button
agent-browser wait 500
agent-browser screenshot expanded-unreads.png
# Search for channel in sidebar or by name
agent-browser snapshot -i
# Look for channel name in the list (e.g., "engineering", "product-design")
# Click on the channel treeitem ref
agent-browser click @e94 # Example: engineering channel ref
agent-browser wait --load networkidle
agent-browser screenshot channel.png
# Use Slack search
agent-browser snapshot -i
agent-browser click @e5 # Search button (typical ref)
agent-browser fill @e_search "keyword"
agent-browser press Enter
agent-browser wait --load networkidle
agent-browser screenshot search-results.png
# Get list of all visible channels
agent-browser snapshot --json > slack-snapshot.json
# Parse for channel names and metadata
# Look for treeitem elements with level=2 (sub-channels under sections)
# Open a channel
agent-browser click @e_channel_ref
agent-browser wait 1000
# Get channel info (members, description, etc.)
agent-browser snapshot -i
agent-browser screenshot channel-details.png
# Scroll through messages
agent-browser scroll down 500
agent-browser screenshot channel-messages.png
When you need to document findings from Slack:
# Take annotated screenshot (shows element numbers)
agent-browser screenshot --annotate slack-state.png
# Take full-page screenshot
agent-browser screenshot --full slack-full.png
# Get current URL for reference
agent-browser get url
# Get page title
agent-browser get title
Understanding Slack's sidebar helps you navigate efficiently:
- Threads
- Huddles
- Drafts & sent
- Directories
- [Section Headers - External connections, Starred, Channels, etc.]
- [Channels listed as treeitems]
- Direct Messages
- [DMs listed]
- Apps
- [App shortcuts]
- [More unreads] button (toggles unread channels list)
Key refs to look for:
@e12 - Home tab (usually)@e13 - DMs tab@e14 - Activity tab@e5 - Search button@e21 - More unreads button (varies by session)After clicking on a channel, you'll see tabs:
Click tab refs to switch views and get different information.
# Get a message or element's text
agent-browser get text @e_message_ref
# Full snapshot as JSON for programmatic parsing
agent-browser snapshot --json > output.json
# Look for:
# - Channel names (name field in treeitem)
# - Message content (in listitem/document elements)
# - User names (button elements with user info)
# - Timestamps (link elements with time info)
# After expanding unreads section:
agent-browser snapshot -i | grep -c "treeitem"
# Each treeitem with a channel name in the unreads section is one unread
agent-browser connect 9222 if Slack is already open. This is faster than opening a new browser.snapshot -i to identify refs before clicking buttons.snapshot --json for machine-readable output.sleep 1 between rapid interactions to let the UI update.agent-browser scroll down 300 --selector ".p-sidebar" to scroll within the Slack sidebar if channel list is long.agent-browser console
agent-browser errors
agent-browser get url
agent-browser get title
agent-browser screenshot page-state.png
#!/bin/bash
# Connect to Slack
agent-browser connect 9222
# Take initial snapshot
echo "=== Checking Slack unreads ==="
agent-browser snapshot -i > snapshot.txt
# Check Activity tab for unreads
agent-browser click @e14 # Activity tab
agent-browser wait 1000
agent-browser screenshot activity.png
ACTIVITY_RESULT=$(agent-browser get text @e_main_area)
echo "Activity: $ACTIVITY_RESULT"
# Check DMs
agent-browser click @e13 # DMs tab
agent-browser wait 1000
agent-browser screenshot dms.png
# Check unread channels in sidebar
agent-browser click @e21 # More unreads button
agent-browser wait 500
agent-browser snapshot -i > unreads-expanded.txt
agent-browser screenshot unreads.png
# Summary
echo "=== Summary ==="
echo "See activity.png, dms.png, and unreads.png for full details"
? in Slack for shortcut listAlternatives
vellum-ai/vellum-assistant
Read, send, and manage Slack messages via the Web API
HKUDS/Vibe-Trading
Create, modify, and optimize quantitative trading strategies, then backtest and evaluate them.
AI-Unified-Process/marketplace
Creates Vaadin Browserless server-side unit tests for Vaadin views covering navigation, component interactions, form validation, grid operations, and notifications. Use when the user asks to "write Browserless tests", "write Vaadin UI unit tests", "unit test a Vaadin view without a browser", "create view tests with the official Vaadin testing framework", or mentions Browserless testing, SpringBrowserlessTest, browserless-test-junit6, UI Unit Testing, or server-side Vaadin testing.
freenet/freenet-agent-skills
Build and maintain decentralized applications on Freenet using river as a template. Guides through designing contracts (shared state), delegates (private state), and UI, and through upgrading a live dApp safely. Use when user wants to create a new Freenet dApp, design contract state, implement delegates, build a Freenet-connected UI, OR upgrade an existing dApp — bump freenet-stdlib, ship a new contract/delegate version (v2), fix a bug that re-keys the WASM, or migrate state across a contract/de