Skip to content

feat[users]: add dm-channel command for group DM channel discovery#38

Merged
AmethystLiang merged 2 commits intostablyai:mainfrom
shhac:paul/user-dm-channel
Mar 6, 2026
Merged

feat[users]: add dm-channel command for group DM channel discovery#38
AmethystLiang merged 2 commits intostablyai:mainfrom
shhac:paul/user-dm-channel

Conversation

@shhac
Copy link
Contributor

@shhac shhac commented Feb 22, 2026

Summary

There's currently no way to discover group DM channels or send messages to a group of users via DM. This adds agent-slack user dm-channel which resolves user handles/IDs to a DM or group DM channel ID via conversations.open, making it possible to then message that channel like any other.

This is a successor to #10, which was closed due to upstream repo structure changes before it could be merged.

Changes

  • Add user dm-channel <users...> command (accepts 1-8 user IDs or @handles)
  • Add getDmChannelForUsers to resolve users and open the conversation
  • Add skill documentation (SKILL.md section + commands.md reference)

Test plan

  • agent-slack user dm-channel @alice — returns 1:1 DM channel ID
  • agent-slack user dm-channel @alice @bob — returns group DM channel ID
  • agent-slack user dm-channel @alice @bob @charlie — returns group DM channel ID
  • Verify returned channel IDs work with agent-slack message send <channel_id> "test"

@shhac
Copy link
Contributor Author

shhac commented Feb 23, 2026

@nwparker Thoughts on moving the location of this command to agent-slack channel get ?

With channel list landed it feels like this could be a sibling there.

Also happy to leave as is / for you to do the rename given these review cycle times

@AmethystLiang
Copy link
Contributor

Hey @shhac — thanks for picking this up, the implementation looks clean.

On the naming question: I'd keep it under user rather than moving to channel get — that name should be reserved for looking up channel info by ID/name, and since the primary input here is user handles, user is the right home.

One thought: what about user dm-open instead of dm-channel? Since conversations.open creates the DM if it doesn't exist, open better conveys the side effect — dm-channel reads as purely read-only.

Happy to rebase this onto main and get it across the finish line. Let me know!

@shhac
Copy link
Contributor Author

shhac commented Mar 6, 2026

@AmethystLiang so when you're opening a group DM it would look like
agent-slack user dm-open @alice @bob @charlie => Cabc1234?

@shhac shhac force-pushed the paul/user-dm-channel branch from 6f589e7 to 2cf4e0f Compare March 6, 2026 15:14
@shhac
Copy link
Contributor Author

shhac commented Mar 6, 2026

Changes made

@AmethystLiang AmethystLiang merged commit a3c19d5 into stablyai:main Mar 6, 2026
1 check passed
@AmethystLiang
Copy link
Contributor

Looks good — merged! Thanks for picking this back up Paul, clean implementation.

@shhac shhac deleted the paul/user-dm-channel branch March 7, 2026 13:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants