Skip to content
Back to skills

Secondary Slack Connector

ASecurity

Interact with the Slack workspace of the secondary client (whatever company is currently in use besides Work), listing channels and reading message history. Generic, company-agnostic.

  • 33 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 23, 2026
ai-agentspythonbash

Works with

  • cli

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned September 23, 2026

npx -y skills add BrianArfi/ai-second-brain --skill secondary-slack-connector --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Secondary Slack Connector?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Secondary Slack Connector
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/brianarfi-secondary-slack-connector/badge)](https://www.skillsdirectory.com/skills/brianarfi-secondary-slack-connector)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: Secondary Slack Connector
description: Interact with the Slack workspace of the secondary client (whatever company is currently in use besides Work), listing channels and reading message history. Generic, company-agnostic.
---

# Secondary Slack Connector Skill

Generic Slack connector for the **secondary client** workspace (the non-Work company currently in use). Drop that workspace's bot token into `token.env` and it serves it.

## Capabilities

1.  **List Channels**: Retrieve a list of public channels in the workspace.
2.  **Read History**: Retrieve message history from a specific channel.
3.  **Thread Support**: Read or post replies to specific message threads.
4.  **User Caching**: Instant user ID lookups via local JSON cache.

## Usage

The skill uses a helper script located at `scripts/slack_client.py`.

### List Channels

```bash
python .agent/skills/secondary-slack-connector/scripts/slack_client.py --action list_channels
```

```bash
python .agent/skills/secondary-slack-connector/scripts/slack_client.py --action history --channel <CHANNEL_ID>
```

### Send Approval Gate

`post` and `upload` mutate outbound Slack state, so they are default-blocked by
the shared gate in `.agent/scripts/file_utils.py` (the same one the Work
`slack-connector` uses). The command refuses before touching the network unless
`--approved` is passed, and approval is per message: pass it only once the owner has
signed off on that specific draft. There is no environment override, and nothing
in `token.env` can grant approval.

```bash
python .agent/skills/secondary-slack-connector/scripts/slack_client.py --action post --channel <CHANNEL_ID> --text "Your message" --approved
```

Without `--approved` the command exits nonzero. Never retry a refused send by
adding `--approved` on a guess.

### User ID Caching

The skill automatically caches user IDs in `scripts/user_cache.json` after the first lookup, making subsequent mentions extremely fast.

### Token Configuration

The skill expects a `SLACK_BOT_TOKEN` environment variable or a `token.env` file in the skill root.
To set up the token:
1. Create `.agent/skills/secondary-slack-connector/token.env`.
2. Add the secondary client's Bot Token: `SLACK_BOT_TOKEN=xoxb-...`

Files in this skill

  • SKILL.md2.2 KB
  • scripts/setup_slack_app.py4.4 KB
  • scripts/slack_client.py22.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.