chat-sdk — for Claude Code chat-sdk, conference-starter, community, for Claude Code, ide skills, — setup guides, You said: ${message.text}, post(), schedule(), subscribe()

v1.0.0

Acerca de este Skill

Escenario recomendado: Ideal for AI agents that need critical: read the bundled docs. Resumen localizado: # Chat SDK Unified TypeScript SDK for building chat bots across Slack, Teams, Google Chat, Discord, GitHub, and Linear. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

Características

Critical: Read the bundled docs
node modules/chat/docs/ # Full documentation (MDX files)
node modules/chat/dist/ # Built types (.d.ts files)
Key docs to read based on task:
docs/getting-started.mdx — setup guides

# Temas principales

sanity-labs sanity-labs
[2]
[1]
Actualizado: 4/23/2026

Skill Overview

Start with fit, limitations, and setup before diving into the repository.

Escenario recomendado: Ideal for AI agents that need critical: read the bundled docs. Resumen localizado: # Chat SDK Unified TypeScript SDK for building chat bots across Slack, Teams, Google Chat, Discord, GitHub, and Linear. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

¿Por qué usar esta habilidad?

Recomendacion: chat-sdk helps agents critical: read the bundled docs. Chat SDK Unified TypeScript SDK for building chat bots across Slack, Teams, Google Chat, Discord, GitHub, and Linear. This AI agent skill supports

Mejor para

Escenario recomendado: Ideal for AI agents that need critical: read the bundled docs.

Casos de uso accionables for chat-sdk

Caso de uso: Applying Critical: Read the bundled docs
Caso de uso: Applying node modules/chat/docs/ # Full documentation (MDX files)
Caso de uso: Applying node modules/chat/dist/ # Built types (.d.ts files)

! Seguridad y limitaciones

  • Limitacion: docs/modals.mdx — form dialogs (Slack only)
  • Limitacion: Requires repository-specific context from the skill documentation
  • Limitacion: Works best when the underlying tools and dependencies are already configured

About The Source

The section below comes from the upstream repository. Use it as supporting material alongside the fit, use-case, and installation summary on this page.

Demo Labs

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

FAQ y pasos de instalación

These questions and steps mirror the structured data on this page for better search understanding.

? Preguntas frecuentes

¿Qué es chat-sdk?

Escenario recomendado: Ideal for AI agents that need critical: read the bundled docs. Resumen localizado: # Chat SDK Unified TypeScript SDK for building chat bots across Slack, Teams, Google Chat, Discord, GitHub, and Linear. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

¿Cómo instalo chat-sdk?

Ejecuta el comando: npx killer-skills add sanity-labs/conference-starter/chat-sdk. Funciona con Cursor, Windsurf, VS Code, Claude Code y más de 19 IDE adicionales.

¿Cuáles son los casos de uso de chat-sdk?

Los casos de uso principales incluyen: Caso de uso: Applying Critical: Read the bundled docs, Caso de uso: Applying node modules/chat/docs/ # Full documentation (MDX files), Caso de uso: Applying node modules/chat/dist/ # Built types (.d.ts files).

¿Qué IDE son compatibles con chat-sdk?

Esta skill es compatible con Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer. Usa la CLI de Killer-Skills para una instalación unificada.

¿Tiene limitaciones chat-sdk?

Limitacion: docs/modals.mdx — form dialogs (Slack only). Limitacion: Requires repository-specific context from the skill documentation. Limitacion: Works best when the underlying tools and dependencies are already configured.

Cómo instalar este skill

  1. 1. Abre tu terminal

    Abre la terminal o línea de comandos en el directorio de tu proyecto.

  2. 2. Ejecuta el comando de instalación

    Ejecuta: npx killer-skills add sanity-labs/conference-starter/chat-sdk. La CLI detectará tu IDE o agente automáticamente y configurará la skill.

  3. 3. Empieza a usar el skill

    El skill ya está activo. Tu agente de IA puede usar chat-sdk de inmediato en el proyecto actual.

! Source Notes

This page is still useful for installation and source reference. Before using it, compare the fit, limitations, and upstream repository notes above.

Upstream Repository Material

The section below comes from the upstream repository. Use it as supporting material alongside the fit, use-case, and installation summary on this page.

Upstream Source

chat-sdk

# Chat SDK Unified TypeScript SDK for building chat bots across Slack, Teams, Google Chat, Discord, GitHub, and Linear. This AI agent skill supports Claude

SKILL.md
Readonly
Upstream Repository Material
The section below comes from the upstream repository. Use it as supporting material alongside the fit, use-case, and installation summary on this page.
Upstream Source

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 node_modules/chat/docs/ and TypeScript source types. Always read these before writing code:

node_modules/chat/docs/           # Full documentation (MDX files)
node_modules/chat/dist/           # Built types (.d.ts files)

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 — platform-specific adapter setup
  • docs/state.mdx — state adapter config (Redis, ioredis, PostgreSQL, memory)

Also read the TypeScript types from node_modules/chat/dist/ to understand the full API surface.

Quick start

typescript
1import { Chat } from "chat"; 2import { createSlackAdapter } from "@chat-adapter/slack"; 3import { createRedisState } from "@chat-adapter/state-redis"; 4 5const bot = new Chat({ 6 userName: "mybot", 7 adapters: { 8 slack: createSlackAdapter({ 9 botToken: process.env.SLACK_BOT_TOKEN!, 10 signingSecret: process.env.SLACK_SIGNING_SECRET!, 11 }), 12 }, 13 state: createRedisState({ url: process.env.REDIS_URL! }), 14}); 15 16bot.onNewMention(async (thread) => { 17 await thread.subscribe(); 18 await thread.post("Hello! I'm listening to this thread."); 19}); 20 21bot.onSubscribedMessage(async (thread, message) => { 22 await thread.post(`You said: ${message.text}`); 23});

Core concepts

  • Chat — main entry point, coordinates adapters and routes events
  • Adapters — platform-specific (Slack, Teams, GChat, Discord, GitHub, Linear)
  • State — pluggable persistence (Redis or PostgreSQL for prod, memory for dev)
  • Thread — conversation thread with post(), schedule(), subscribe(), startTyping()
  • Message — normalized format with text, formatted (mdast AST), raw
  • Channel — container for threads, supports listing and posting

Event handlers

HandlerTrigger
onNewMentionBot @-mentioned in unsubscribed thread
onSubscribedMessageAny 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
onAssistantThreadStartedSlack Assistants API thread opened
onAppHomeOpenedSlack App Home tab opened

Streaming

Pass any AsyncIterable<string> to thread.post(). Works with AI SDK's textStream:

typescript
1import { ToolLoopAgent } from "ai"; 2const agent = new ToolLoopAgent({ model: "anthropic/claude-4.5-sonnet" }); 3 4bot.onNewMention(async (thread, message) => { 5 const result = await agent.stream({ prompt: message.text }); 6 await thread.post(result.textStream); 7});

Cards (JSX)

Set jsxImportSource: "chat" in tsconfig. Components: Card, CardText, Button, Actions, Fields, Field, Select, SelectOption, Image, Divider, LinkButton, Section, RadioSelect.

tsx
1await thread.post( 2 <Card title="Order #1234"> 3 <CardText>Your order has been received!</CardText> 4 <Actions> 5 <Button id="approve" style="primary">Approve</Button> 6 <Button id="reject" style="danger">Reject</Button> 7 </Actions> 8 </Card> 9);

Packages

PackagePurpose
chatCore SDK
@chat-adapter/slackSlack
@chat-adapter/teamsMicrosoft Teams
@chat-adapter/gchatGoogle Chat
@chat-adapter/discordDiscord
@chat-adapter/githubGitHub Issues
@chat-adapter/linearLinear Issues
@chat-adapter/state-redisRedis state (production)
@chat-adapter/state-ioredisioredis state (alternative)
@chat-adapter/state-pgPostgreSQL state (production)
@chat-adapter/state-memoryIn-memory state (development)

Changesets (Release Flow)

This monorepo uses Changesets for versioning and changelogs. Every PR that changes a package's behavior must include a changeset.

bash
1pnpm changeset 2# → select affected package(s) (e.g. @chat-adapter/slack, chat) 3# → choose bump type: patch (fixes), minor (features), major (breaking) 4# → write a short summary for the CHANGELOG

This creates a file in .changeset/ — commit it with the PR. When merged to main, the Changesets GitHub Action opens a "Version Packages" PR to bump versions and update CHANGELOGs. Merging that PR publishes to npm.

Building a custom adapter

To create a community or vendor adapter, implement the Adapter interface from chat and read:

  • docs/contributing/building.mdx — full step-by-step guide (uses a Matrix adapter as example)
  • docs/contributing/testing.mdx — testing your adapter
  • docs/contributing/publishing.mdx — npm naming conventions and publishing

The adapter must implement handleWebhook, parseMessage, postMessage, editMessage, deleteMessage, thread ID encoding/decoding, and a FormatConverter (extend BaseFormatConverter from chat). Use @chat-adapter/shared for error classes and message utilities.

Webhook setup

Each adapter exposes a webhook handler via bot.webhooks.{platform}. Wire these to your HTTP framework's routes (e.g. Next.js API routes, Hono, Express).

Habilidades relacionadas

Looking for an alternative to chat-sdk or another community skill for your workflow? Explore these related open-source skills.

Ver todo

openclaw-release-maintainer

Logo of openclaw
openclaw

Resumen localizado: 🦞 # OpenClaw Release Maintainer Use this skill for release and publish-time workflow. It covers ai, assistant, crustacean workflows. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

333.8k
0
Inteligencia Artificial

widget-generator

Logo of f
f

Resumen localizado: Generate customizable widget plugins for the prompts.chat feed system # Widget Generator Skill This skill guides creation of widget plugins for prompts.chat . It covers ai, artificial-intelligence, awesome-list workflows. This AI agent skill supports Claude Code, Cursor, and

149.6k
0
Inteligencia Artificial

flags

Logo of vercel
vercel

Resumen localizado: The React Framework # Feature Flags Use this skill when adding or changing framework feature flags in Next.js internals. It covers blog, browser, compiler workflows. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

138.4k
0
Navegador

pr-review

Logo of pytorch
pytorch

Resumen localizado: Usage Modes No Argument If the user invokes /pr-review with no arguments, do not perform a review . It covers autograd, deep-learning, gpu workflows. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

98.6k
0
Desarrollador