Agent skill · software engineering · lobehub
chat-sdk
Use for multi-platform bots built with chat SDK: webhooks, mentions, slash commands, cards, modals and streaming.
Why this skill is useful
Provides specific TypeScript commands and patterns for building multi-platform chat bots that the AI wouldn't reliably generate on its own.
What it needs
Requires node installed locally. Requires redis, slack account access. About 2k tokens when loaded. Last updated 2026-08-07. 81,352 stars on the source repository.
What this skill does
Chat SDK Unified TypeScript SDK for building chat bots across Slack, Teams, Google Chat, Discord, GitHub, and Linear. Write bot logic once, deploy everywhere. Critical: Read the bundled docs The chat package ships with full documentation in nodemodules/chat/docs/ and TypeScript source types. Always read these before writing code: Key docs to read based on task: docs/getting-started.mdx — setup guides docs/usage.mdx — event handlers, threads, messages, channels docs/streaming.mdx — AI streaming with AI SDK docs/cards.mdx — JSX interactive cards docs/actions.mdx — button/dropdown handlers docs/modals.mdx — form dialogs (Slack only) docs/adapters.mdx, docs/platform-adapters.mdx — adapter overview and platform-specific setup docs/state-adapters.mdx — state adapter config (Redis, ioredis, memory) Also read the TypeScript types from nodemodules/chat/dist/ to understand the full API surface. Quick start Core concepts Chat — main entry point, coordinates adapters and routes events Adapters — platform-specific (Slack, Teams, GChat, Discord, GitHub, Linear) State — pluggable persistence (Redis for prod, memory for dev) Thread — conversation thread with post(), subscribe(), startTyping() Message — normalized format with text, formatted (mdast AST), raw Channel — container for threads, supports listing and posting Event handlers Handler Trigger -------------------------- ------------------------------------------------- onNewMention Bot @-mentioned in unsubscribed thread onSubscribedMessage Any message in subscribed thread onNewMessage(regex) Messages matching pattern in unsubscribed threads onSlashCommand("/cmd") Slash command invocations onReaction(emojis) Emoji reactions added/removed onAction(actionId) Button clicks and dropdown selections onAssistantThreadStarted Slack Assistants API thread opened onAppHomeOpened Slack App Home tab opened Streaming Pass any AsyncIterable<string> to thread.post(). …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills lobehub/chat-sdk