lmist/humalike2/configure-slack-group

Claude Code and agent skill by lmist/humalike2

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Configure Hermes on Slack to see every message in a channel, not just @mentions/DMs — the authorization and mention gates, and the fail-open tradeoff. Use when a user wants the bot to respond in a Slack channel without being @mentioned, or asks why it isn't seeing unmentioned messages.

Install

npx vskill@latest install lmist/humalike2/configure-slack-group

SKILL.md

Hermes on Slack in a channel

Settings go in ~/.hermes/.env or the slack: section of ~/.hermes/config.yaml. Restart the gateway after changes.

Caveat: fail-open

Slack has no fail-closed "observe" path like Telegram (_observe_unmentioned_group_message) — every message either reaches the turn-taking gate (_handle_inbound, via handle_message) or no event is built for it at all. That gate is fail-open (built for DMs/@mentions: if the turn-taking service is down, the bot replies anyway). So with the config below, if the turn-taking service goes down, the bot replies to EVERYTHING in the channel. Fine for a small trusted channel; a real fail-closed observe would need a host-side change (plugins/platforms/slack/adapter.py).

Two gates — open both

Gate A — authorization (checked first, in gateway/authz_mixin.py; unauthorized messages never reach turn-taking):

SLACK_ALLOWED_USERS=<id1>,<id2> # default: only these users
SLACK_ALLOW_ALL_USERS=true # or: everyone in the workspace

Gate B — the @mention requirement (channels only, not DMs) — either:

SLACK_REQUIRE_MENTION=false # whole bot, all channels
SLACK_FREE_RESPONSE_CHANNELS=<chan_id1>,<chan_id2> # or only these channels (safer)

Channel IDs: gateway logs after a message from that channel, or the Slack URL (.../C0123456789/...). config.yaml equivalents: require_mention: false / free_response_channels: [...] under slack:.

Gate C — one conversation per channel (REQUIRED for turn-taking) — in ~/.hermes/config.yaml:

yaml
slack:
reply_in_thread: false

With the default (true), every top-level channel message becomes its own synthetic thread AND its own session — the bot answers each message separately in a separate thread and turn-taking can never coalesce the conversation. With false the whole channel shares one session and the bot replies once, to the latest message (replies inside existing threads stay threaded).

Fully open = SLACK_ALLOW_ALL_USERS=true + SLACK_REQUIRE_MENTION=false — weigh the fail-open caveat before doing this on a busy/public workspace. If disabling mentions globally, consider SLACK_ALLOWED_CHANNELS=<ids> so the bot doesn't free-respond in every channel it gets added to.

Verify

Restart the Hermes gateway, then look for [Slack] Socket Mode connected and tt inbound / tt decide / tt forward on an unmentioned message.

Diagnosis: "bot doesn't see unmentioned messages"

Log symptomCause
Unauthorized user: <id> on slackGate A — add user or SLACK_ALLOW_ALL_USERS=true
No tt inbound, no unauthorized lineGate B — mention still required for that channel
Ignoring message in non-allowed channelChannel missing from SLACK_ALLOWED_CHANNELS
tt decide ... stay_silentExpected — turn-taking speaks selectively
Replies to everything while service is downExpected fail-open behavior (see caveat)

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/lmist/humalike2/configure-slack-group/badge)](https://verified-skill.com/skills/lmist/humalike2/configure-slack-group)

Something wrong with this skill or its page? Tell us.