Socketio
Skill a5c-ai/babysitter/library/specializations/web-development/skills/socketio
Socket.io rooms, namespaces, adapters, middleware, and real-time patterns.From its SKILL.md
npx -y skills add a5c-ai/babysitter --skill socketioAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
2.1 KB, 390 tokens by cl100k_base, as published. Nobody here has run it
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
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
What ships with it: 1 file
720 B alongside SKILL.md
- README.md720 B