sse

Server-Sent Events implementation, streaming patterns, and real-time updates.

509 stars

Best use case

sse is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Server-Sent Events implementation, streaming patterns, and real-time updates.

Teams using sse should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/sse/SKILL.md --create-dirs "https://raw.githubusercontent.com/a5c-ai/babysitter/main/library/specializations/web-development/skills/sse/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/sse/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How sse Compares

Feature / AgentsseStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Server-Sent Events implementation, streaming patterns, and real-time updates.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# SSE Skill

Expert assistance for implementing Server-Sent Events for real-time streaming.

## Capabilities

- Implement SSE endpoints
- Handle streaming responses
- Manage client connections
- Build event-driven updates
- Implement reconnection

## Usage

Invoke this skill when you need to:
- Stream updates to clients
- Implement live feeds
- Build notification systems
- One-way real-time communication

## Implementation

```typescript
// Server
app.get('/events', (req, res) => {
  res.setHeader('Content-Type', 'text/event-stream');
  res.setHeader('Cache-Control', 'no-cache');
  res.setHeader('Connection', 'keep-alive');

  const sendEvent = (event: string, data: object) => {
    res.write(`event: ${event}\n`);
    res.write(`data: ${JSON.stringify(data)}\n\n`);
  };

  // Send initial data
  sendEvent('connected', { timestamp: Date.now() });

  // Subscribe to updates
  const unsubscribe = eventEmitter.on('update', (data) => {
    sendEvent('update', data);
  });

  req.on('close', () => {
    unsubscribe();
  });
});

// Client
const eventSource = new EventSource('/events');

eventSource.addEventListener('update', (event) => {
  const data = JSON.parse(event.data);
  console.log('Update:', data);
});
```

## Best Practices

- Handle reconnection
- Use event types for routing
- Implement keep-alive
- Clean up on disconnect

## Target Processes

- real-time-updates
- live-feeds
- notification-systems