К основному содержанию
скилл CX Codex

websocket-development — скилл для Claude Code: правила real-time

Набор правил для агента, который пишет сервер и клиент на WebSocket: соединения, сообщения, масштабирование, безопасность.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add Mindrally/skills --skill websocket-development -a claude-code
Открыть на GitHub

Что делает websocket-development

Скилл задаёт агенту рамку при работе над real-time приложениями. Внутри — разделы про управление соединениями, обработку сообщений, масштабирование, безопасность, тестирование и наблюдаемость. Агент получает конкретные указания: в продакшене использовать wss:// с SSL/TLS, проверять handshake до приёма соединения, ставить таймауты, чтобы не выесть ресурсы.

Дальше идут heartbeat и ping-pong для поиска мёртвых соединений, переподключение с экспоненциальной задержкой, очистка ресурсов при закрытии. Сообщения предлагается делать структурными — JSON с полями type и payload, с идентификаторами для связки запроса и ответа и версионированием. Для горизонтального масштабирования названы брокеры Redis Pub/Sub и RabbitMQ, а для экономии трафика — MessagePack и Protocol Buffers.

Есть отдельные блоки под Node.js 21+ с встроенным WebSocket-клиентом, под Bun с Bun.serve() и под браузерные клиенты. Аутентификация — на этапе handshake, токены JWT с проверкой по интервалам, лимиты на соединение и пользователя. Скилл требует доводить реализацию до конца: без todo и заглушек. Если в проекте уже есть свой слой сообщений, часть советов придётся отбросить — например, версионирование формата поверх готовой схемы только добавит разборов.

Какие задачи решает

  • поднять WebSocket-сервер с проверкой handshake и таймаутами
  • настроить переподключение с экспоненциальной задержкой
  • связать несколько серверов через Redis Pub/Sub
  • защитить соединение токеном JWT и лимитами
  • протестировать жизненный цикл соединения и обрывы

Примеры запросов агенту

  • Спроектируй WebSocket-сервер на Node.js: handshake, heartbeat, переподключение с backoff
  • Сделай pub/sub на Redis для нескольких инстансов и опиши очистку подписок при disconnect
  • Проверь мой обработчик сообщений: идентификаторы запросов, версионирование, обработка ошибок

Как установить websocket-development

1Через Skills CLI (Vercel)

npx skills add Mindrally/skills --skill websocket-development -a claude-code

2Вручную: положить файлы

~/.claude/skills/websocket-development/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/websocket-development/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о websocket-development

Как установить websocket-development в Claude?

Выполните npx skills add Mindrally/skills --skill websocket-development -a claude-code. Файл скилла появится по пути ~/.claude/skills/websocket-development/SKILL.md.

Что делает websocket-development?

Даёт агенту правила разработки real-time приложений на WebSocket: соединения, формат сообщений, масштабирование, безопасность, тесты и метрики.

Для каких платформ подходит скилл?

Установка описана для Claude, Codex, Cursor, GitHub Copilot, Gemini CLI и OpenCode. Внутри есть отдельные указания под Node.js 21+, Bun и браузерные клиенты.

Исходный текст

SKILL.md · Apache-2.0
---
name: websocket-development
description: Best practices and guidelines for building real-time applications with WebSocket communication
metadata:
  maintainer: Mindrally
  source: https://github.com/Mindrally/skills
---

# WebSocket Development

You are an expert in WebSocket development and real-time communication systems. Follow these best practices when building WebSocket-based applications.

## Core Principles

- Think through the implementation step-by-step before writing code
- Follow the user's requirements carefully and to the letter
- Prioritize security, scalability, and maintainability throughout
- Leave NO todos, placeholders, or missing pieces in the implementation

## Connection Management

### Establishing Connections

- Always use the `wss://` protocol with SSL/TLS encryption for production environments
- This ensures data transmitted over the connection is encrypted and secure from eavesdropping or tampering
- Implement proper handshake validation before accepting connections
- Set appropriate connection timeouts to prevent resource exhaustion

### Connection Lifecycle

- Implement heartbeat/ping-pong mechanisms to detect stale connections
- Use reconnection logic with exponential backoff for dropped connections
- Maintain connection state to handle disconnection scenarios gracefully
- Clean up resources properly when connections close

## Message Handling

### Message Design

- Use structured message formats (JSON with type/payload pattern)
- Include message IDs for request-response correlation
- Implement message versioning for backward compatibility
- Keep message payloads small to reduce latency

### Error Handling

- Always include error handling logic for WebSocket connections
- Manage potential disconnections or message failures gracefully
- Implement dead letter handling for unprocessable messages
- Log errors with sufficient context for debugging

## Scalability Patterns

### Horizontal Scaling

- Use a message broker (Redis Pub/Sub, RabbitMQ) for cross-server communication
- Implement sticky sessions or connection affinity when needed
- Design stateless handlers where possible
- Consider using a dedicated WebSocket gateway service

### Performance Optimization

- Buffer messages during brief disconnections
- Implement message batching for high-frequency updates
- Use binary protocols (MessagePack, Protocol Buffers) for bandwidth-sensitive applications
- Monitor connection counts and message throughput

## Security Best Practices

### Authentication

- Authenticate connections during the handshake phase
- Use token-based authentication (JWT) with proper expiration
- Validate tokens on both connection and periodic intervals
- Implement rate limiting per connection and per user

### Authorization

- Validate permissions for each message type/channel
- Implement channel-based access control for pub/sub patterns
- Never trust client-provided data without validation
- Sanitize all incoming message payloads

## Framework-Specific Guidelines

### Node.js Native WebSocket (v21+)

- Utilize Node.js's built-in WebSocket client for real-time communication to reduce dependencies
- The built-in client simplifies real-time communication and ensures better interoperability
- For servers, use established libraries like `ws` or framework-specific solutions

### Bun Runtime

- Prefer Bun's native capabilities over third-party alternatives
- Use `Bun.serve()` with WebSocket support instead of separate WebSocket libraries
- Leverage Bun's built-in stream handling and fetch implementation

### Browser Clients

- Implement graceful degradation for older browsers
- Use the standard WebSocket API for broad compatibility
- Handle visibility changes to manage connection state
- Implement offline detection and queuing

## Testing Strategies

### Unit Testing

- Mock WebSocket connections for isolated testing
- Test message serialization/deserialization independently
- Verify error handling paths

### Integration Testing

- Test full connection lifecycle scenarios
- Verify reconnection behavior under various failure modes
- Load test with realistic connection counts and message rates

## Monitoring and Observability

- Track connection count metrics
- Monitor message latency and throughput
- Alert on connection error rates
- Log connection lifecycle events for debugging

## Common Patterns

### Pub/Sub Pattern

- Implement channel subscription management
- Use efficient data structures for subscriber lookup
- Handle subscription cleanup on disconnect

### Request/Response Pattern

- Correlate requests and responses with unique IDs
- Implement timeout handling for pending requests
- Consider using acknowledgment messages for reliability

### Broadcast Pattern

- Optimize for one-to-many message delivery
- Consider message deduplication strategies
- Implement backpressure for slow consumers

© Mindrally · Apache-2.0 · Mindrally/skills

Похожие скиллы

Всё по теме «Бэкенд и API» →
websocket-implementation aj-geddes Скилл для ИИ-кодинга, который помогает собрать WebSocket-сервер: управление соединениями, маршрутизация сообщений, масштабирование через Redis. CX Codex +1 663установок websocket-engineer https://github.com/Jeffallan Скилл помогает проектировать WebSocket- и Socket.IO-системы: сообщения, комнаты, presence и масштабирование через Redis. CX Codex +1 6 800установок testing-websocket-api-security mahipal Проверяет безопасность WebSocket API: аутентификацию при рукопожатии, токены и уязвимость к CSWSH. Пригодится при аудите защищённости сокетов. CX Codex +1 328установок bun-websocket-server secondsky Скилл с готовыми паттернами для WebSocket-сервера на Bun: обработчики, pub/sub, broadcast. Пригодится, когда нужен чат или стриминг в реальном времени. CX Codex +1 394установок websocket-security yaklang Помогает анализировать безопасность веб-сокетов, выявлять уязвимость CSWSH и тестировать handshake. Пригодится при аудите чатов, уведомлений и реального времени в веб-приложениях. CX Codex +1 3 800установок bun-development sickn33 Скилл помогает вести JavaScript и TypeScript-разработку на Bun: создавать проекты, переносить код с Node.js и разбирать проблемы рантайма. CX Codex +1 2 800установок

Из того же набора168

elixir Скилл задаёт агенту стиль работы с Elixir и Phoenix: функциональные паттерны, Ecto, LiveView, OTP. Пригодится, когда проект на BEAM, а не на чём-то ещё. CX Codex +1 836установок spring-boot Скилл задаёт агенту стиль кода на Spring Boot: REST-контроллеры, тесты, безопасность, сборка и деплой. Пригодится, когда проект на Java и хочется единообразия. CX Codex +1 832установок responsive-design Скилл задаёт агенту правила адаптивной вёрстки: mobile-first, гибкие сетки, медиазапросы, адаптивные картинки и типографика. CX Codex +1 830установок ghost Помогает агенту писать темы для Ghost CMS: Handlebars-шаблоны, partials, интеграция Tailwind CSS и Alpine.js, оптимизация картинок и SEO. CX Codex +1 828установок hono-typescript Задаёт агенту правила разработки API на Hono и TypeScript под Cloudflare Workers, Deno, Bun и Node.js. Пригодится, когда проект уже на Hono или только переезжает на него. CX Codex +1 819установок web-development Скилл с правилами веб-разработки: сетка Bootstrap, вьюхи и модели Django, атрибуты HTMX. Пригодится, когда агент пишет шаблоны и бэкенд в одном проекте. CX Codex +1 815установок blazor Скилл задаёт агенту правила разработки на Blazor: жизненный цикл компонентов, привязка данных, управление состоянием и оптимизация рендеринга. CX Codex +1 798установок ionic Задаёт агенту правила разработки на Ionic: структура проекта, компоненты, стили, ленивая загрузка и работа с Firebase. CX Codex +1 797установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой