Socket.io rooms, namespaces, adapters, middleware, and real-time patterns.
Scanned 9/2/2026
Install to Claude Code
npx -y skills add a5c-ai/babysitter --skill socketio --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Socketio?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/a5c-ai-socketio-babysitter)More formats (shields.io, HTML) on the badges page.
---
name: socketio
description: Socket.io rooms, namespaces, adapters, middleware, and real-time patterns.
allowed-tools: Read, Write, Edit, Bash, Glob, Grep
graph:
domains: [domain:web-development]
specializations: [specialization:web-development]
skillAreas: [skill-area:websocket-design]
roles: [role:backend-engineer, role:fullstack-engineer]
topics: [topic:event-driven-architecture]
---
# Socket.io Skill
Expert assistance for building real-time applications with Socket.io.
## Capabilities
- Configure Socket.io server
- Implement rooms and namespaces
- Use Redis adapter for scaling
- Handle authentication middleware
- Build event-driven patterns
- Implement acknowledgements
## Usage
Invoke this skill when you need to:
- Build real-time applications
- Implement chat rooms
- Scale WebSocket servers
- Handle complex event patterns
## Server Setup
```typescript
import { Server } from 'socket.io';
import { createAdapter } from '@socket.io/redis-adapter';
import { createClient } from 'redis';
const io = new Server(httpServer, {
cors: { origin: '*' },
});
// Redis adapter for scaling
const pubClient = createClient({ url: process.env.REDIS_URL });
const subClient = pubClient.duplicate();
io.adapter(createAdapter(pubClient, subClient));
// Authentication middleware
io.use((socket, next) => {
const token = socket.handshake.auth.token;
try {
socket.user = verifyToken(token);
next();
} catch {
next(new Error('Authentication failed'));
}
});
// Namespaces
const chatNamespace = io.of('/chat');
chatNamespace.on('connection', (socket) => {
socket.on('join-room', (roomId) => {
socket.join(roomId);
socket.to(roomId).emit('user-joined', socket.user);
});
socket.on('message', ({ roomId, content }) => {
io.to(roomId).emit('message', {
user: socket.user,
content,
timestamp: Date.now(),
});
});
});
```
## Best Practices
- Use namespaces for separation
- Implement rooms for grouping
- Scale with Redis adapter
- Handle disconnection gracefully
## Target Processes
- real-time-application
- chat-implementation
- collaborative-features
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!