slack
by vercel-labsAutomate Slack from the command line using browser automation. The slack skill connects to an existing Slack web session via agent-browser so you can check unread channels, scan DMs, search conversations, extract data, and capture structured reports as part of larger workflows.
Overview
What the slack skill does
The slack skill automates real Slack workspaces by driving the Slack web app in your browser. It uses agent-browser to control an existing Slack session, so you can:
- Check which channels and DMs have unread messages
- Navigate the Slack UI (Activity, DMs, channels, search)
- Extract structured data from Slack views
- Capture screenshots as evidence for reports
- Build repeatable Slack checks into broader automation workflows
Because it runs against the live Slack web interface, this skill works with your existing permissions, workspace layout, and authentication.
Who this skill is for
Use the slack skill if you:
- Monitor multiple Slack workspaces and need quick, repeatable status checks
- Run operations, support, or incident workflows that depend on messages in Slack
- Want an agent or CLI job to scan Slack and produce summaries or reports
- Prefer browser automation (no custom Slack app or API token management)
It’s a good fit for engineers, SRE/ops, analysts, and anyone building workflow automation or browser automation on top of Slack.
What problems it solves
Manual Slack checking is slow and error-prone. The slack skill helps you:
- Systematically identify all unread channels and DMs
- Capture evidence (screenshots, snapshots) for compliance or incident reviews
- Generate consistent Slack activity reports from templates
- Reuse common navigation patterns instead of re-learning the UI each time
If you find yourself thinking “check my Slack” or “show me all channels with unreads” as part of a script or agent run, this skill is designed for that.
When slack is not a good fit
Consider other approaches if:
- You need deep, high-volume data exports or historical analytics (Slack APIs or exports may be better)
- You cannot run a browser or expose a debugging port (the skill depends on browser automation)
- You require programmatic access without any UI interaction at all
For many operational workflows, though, using the existing Slack web UI via agent-browser is the fastest way to get started.
How to Use
Installation and setup
1. Add the slack skill
Install the slack skill to your agent skills environment using npx:
npx skills add https://github.com/vercel-labs/agent-browser --skill slack
This pulls the slack skill definition and its supporting files (including SKILL.md, references, and templates) from the vercel-labs/agent-browser repository.
2. Prepare a Slack browser session
The slack skill assumes you have Slack open or available in a browser that agent-browser can control.
Common setup pattern:
# Option A: Connect to an existing browser session (Slack already open)
agent-browser connect 9222
# Option B: Open Slack directly if it is not running yet
agent-browser open https://app.slack.com
The exact port (9222 above) depends on how your browser is started with remote debugging enabled. Adjust to match your environment.
3. Confirm agent-browser access
Once connected or opened, capture a snapshot to verify that the Slack UI is reachable:
agent-browser snapshot -i
The snapshot will list interactive elements (with refs like @e1, @e2, etc.) that you can click, read, and automate in later commands.
Core workflow pattern
1. Connect or open Slack
Every session starts by attaching to the Slack web app:
agent-browser connect 9222
# or
agent-browser open https://app.slack.com
2. Discover elements with a snapshot
Use a snapshot to see what Slack is currently showing:
agent-browser snapshot -i
You will see references such as @e14 for the Activity tab, @e13 for DMs, or a ref for the “More unreads” button. These refs let you script navigation reliably.
3. Navigate to the relevant view
Click tabs, expand sidebars, or open sections as needed:
# Example: open the Activity tab
agent-browser click @e14
agent-browser wait 1000
Use additional snapshots after navigation to discover new elements and text.
4. Extract information or take actions
Once you are on the right view, you can:
- Read message text, channel names, or counts from snapshots
- Click into individual channels or DMs
- Scroll and capture screenshots for later summarization
Example pattern for checking unreads:
agent-browser connect 9222
agent-browser snapshot -i
# Look for "More unreads" in the snapshot output
agent-browser click @e21 # Example ref for the "More unreads" button
agent-browser screenshot slack-unreads.png
5. Capture evidence
Screenshots and structured notes are often required for Slack-related audits, incident reviews, or daily standup summaries.
Use:
agent-browser screenshot activity.png
and refer to the provided report template (see below) to turn raw findings into a standardized report.
Common Slack automation tasks
The repository ships with references/slack-tasks.md, which documents step-by-step patterns for frequent workflows. Some key tasks include:
Check all unread messages across Slack
Use this when you want a complete picture of what you have not read yet.
High-level steps (see references/slack-tasks.md for full detail):
- Connect to Slack:
agent-browser connect 9222 - Open the Activity tab and check if Slack reports no unreads.
- Switch to the DMs tab and identify conversations with unread badges.
- Expand "More unreads" in the channels sidebar to list unread channels.
- Capture screenshots of each view and combine them into a summary.
This pattern is ideal for a scheduled "check my Slack" automation or an agent that needs to confirm you are up to date before proceeding.
Find all channels in a workspace
When you need an inventory of channels you have access to:
- Connect and snapshot:
agent-browser connect 9222 agent-browser snapshot -i - Locate the "Channels" section in the sidebar.
- Click to expand it and capture a screenshot (for example
all-channels.png). - Parse channel names from the snapshot output.
This underpins automations that map channel structure, categorize activity, or generate workspace overviews.
Using templates and references
Reference playbooks
The references/ folder provides ready-made instructions for Slack automation:
references/slack-tasks.md– documented patterns for checking unreads, listing channels, and other common workflows.
You can treat this as a playbook for your agent or scripts, reusing the sequences as building blocks.
Reporting templates
The templates/ folder contains a structured reporting template:
templates/slack-report-template.md– a Markdown report outline for Slack analysis.
It includes sections for:
- Unread counts by Activity, DMs, and channels
- Lists of unread channels and DMs
- Channel snapshot statistics
- Most active channels and key conversations
Use this template to standardize how your automations summarize Slack findings for stakeholders.
Files to review first
To understand and extend the slack skill, open these files from the repository:
SKILL.md– the primary definition of the slack skill, description, and allowed toolsreferences/slack-tasks.md– detailed task flows and automation patternstemplates/slack-report-template.md– structure for human-readable Slack reports
These files show the intended usage patterns without needing to inspect the entire repo.
FAQ
What is the slack skill in agent-browser?
The slack skill is a reusable automation profile that teaches agent-browser how to interact with Slack workspaces via the Slack web UI. It focuses on tasks like checking unreads, navigating channels and DMs, searching, and extracting data, all through browser automation rather than direct Slack APIs.
How do I install the slack skill?
Install it via npx from the vercel-labs/agent-browser repository:
npx skills add https://github.com/vercel-labs/agent-browser --skill slack
After installation, make sure you can run agent-browser and connect to a browser where Slack is open or can be opened.
Do I need a Slack app or API token to use this skill?
No. The slack skill interacts with the Slack web application in your browser. As long as you are logged in to Slack in that browser and agent-browser can control it, the skill can perform its tasks using your existing access and permissions.
Can this skill read all messages in my workspace?
The skill can only see what your logged-in Slack account can see through the web interface. It does not bypass permissions. It is best suited for operational checks (unreads, channel lists, recent activity) rather than full historical exports of every message.
How stable are element refs like @e14 or @e21?
Refs such as @e14 come from each agent-browser snapshot and can change between sessions or as Slack updates its UI. The patterns in references/slack-tasks.md show how to look for labels like "Activity", "DMs", or "More unreads" in snapshot output, then use the corresponding ref value dynamically instead of hard-coding numbers.
Is the slack skill suitable for headless or server environments?
It can be used wherever you can run a browser with remote debugging that agent-browser can connect to. If your environment cannot run or access a browser at all, this browser-based skill will not be a good fit and an API-based integration may be more appropriate.
What categories of automation does this skill support?
The slack skill is primarily a workflow-automation tool and secondarily a browser-automation tool. It is well-suited for CLI- or agent-driven workflows that need to:
- Check Slack state before running other jobs
- Gather information from Slack as part of incident or support processes
- Produce standardized Slack activity reports from templates
Where can I learn the detailed task flows?
Open the Files view for the skill and inspect:
SKILL.mdfor the high-level definition and quick start examplesreferences/slack-tasks.mdfor task-by-task instructionstemplates/slack-report-template.mdfor reporting structure
These documents together provide enough detail to decide how to adapt the slack skill to your own workflows and constraints.
