plugins/api-realtime/skills/sse/SKILL.md
Server-Sent Events covering the EventSource API, text/event-stream format, auto-reconnection, Last-Event-ID resumption, named events, server implementations across Node.js/Python/Go/.NET/Rust, LLM streaming patterns, and infrastructure configuration. Use for "SSE", "Server-Sent Events", "EventSource", "text/event-stream", "Last-Event-ID", "event stream", "LLM streaming", "AI streaming", "token streaming", "server push", "live feed", "log streaming", "progress events", "retry field", "keepalive", "MCP transport". Covers the HTTP-native client-push transport itself. Do NOT use for broker-backed pub/sub or message-queue fan-out (Kafka, RabbitMQ, SNS/SQS) — use the relevant broker skill in the `messaging` plugin for that.
npx skillsauth add chrishuffman5/domain-expert sseInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill covers Server-Sent Events (SSE), the HTTP-based unidirectional server push technology standardized in the WHATWG HTML Living Standard. SSE has experienced a major resurgence due to LLM/AI token streaming. It has deep knowledge of:
data, event, id, retry fieldsLast-Event-ID, readyStateClassify the request:
references/architecture.md for wire format, EventSource API, reconnection, named eventsreferences/best-practices.md for server implementations, LLM streaming, keepalive, authentication, infrastructurereferences/diagnostics.md for connection issues, buffering, proxy problems, reconnection failuresoverview skillGather context -- Server language/framework, client type (browser EventSource vs fetch), proxy/CDN in use, use case (LLM streaming, notifications, dashboard)
Analyze -- Apply SSE-specific reasoning: HTTP-native behavior, auto-reconnect semantics, keepalive requirements, proxy buffering issues.
Recommend -- Provide server implementation code, client code, and infrastructure configuration.
UTF-8 text stream. Events are blocks of field lines terminated by blank line (\n\n):
id: 1001
event: price-update
data: {"symbol":"AAPL","price":189.43}
Four field names: data (payload), event (type), id (for resumption), retry (reconnect interval ms). Comment lines start with : (used for keepalive).
const es = new EventSource('/events');
es.onmessage = (e) => console.log(e.data);
es.addEventListener('custom', (e) => JSON.parse(e.data));
es.onerror = () => { /* browser auto-reconnects */ };
es.close();
Last-Event-ID resumption204 No Content to permanently close stream:keepalive\n\n every 15-30 seconds.Cache-Control: no-cache -- Without it, intermediate caches may buffer the entire stream.X-Accel-Buffering: no behind Nginx -- Nginx buffers responses by default, preventing streaming.id field for resumption -- Without event IDs, clients cannot resume after reconnection and miss events.Flusher, Python's StreamingResponse).references/architecture.md -- Wire format, EventSource API, reconnection, named events, HTTP headers, connection lifecyclereferences/best-practices.md -- Server implementations (Node.js, Python, Go, .NET, Rust), LLM streaming, keepalive, authentication, proxy configuration, HTTP/2references/diagnostics.md -- Connection drops, proxy buffering, reconnection failures, memory issues, CDN configuration, performanceoverview skill -- SSE vs WebSocket, SignalR, Socket.IO comparisonssignalr skill -- SignalR uses SSE as fallback transporttools
kubectl command-line usage and scripting: kubeconfig and context management, output formats (jsonpath, custom-columns, go-template), all major verbs (get, describe, apply, delete, exec, logs, port-forward, rollout, scale, drain), workload resources, config/storage, networking, RBAC, node management, debugging (CrashLoopBackOff, ImagePullBackOff, OOMKilled), and scripting patterns (dry-run, diff, wait, jq, kustomize). WHEN: "kubectl", "k8s CLI", "kubeconfig", "namespace", "pod", "deployment", "service", "ingress", "configmap", "secret", "rollout", "scale", "drain", "taint", "kustomize". Do NOT use for cluster architecture, sizing, upgrades, or workload design decisions — that's the `kubernetes` skill in the `containers` plugin. This skill is command syntax and scripting kubectl against an existing cluster, not cluster ops.
tools
Bash 5.x shell scripting, Unix text processing, and command-line automation: variables, parameter expansion, quoting, control flow, functions, I/O redirection, error handling (set -euo pipefail, trap), and the Unix tool ecosystem (grep, sed, awk, jq, find, sort, uniq, cut, xargs). Covers process management, networking (curl, ssh, rsync, nc), file locking (flock), parallel execution, and production script patterns. WHEN: "Bash", "bash", "shell", "sh", ".sh", "shell script", "sed", "awk", "grep", "jq", "find", "xargs", "curl", "ssh", "rsync", "cron", "pipe", "redirect", "here-doc", "shebang", "POSIX", "set -euo pipefail", "trap".
tools
Azure CLI (az) command syntax and scripting: authentication (interactive, service principal, managed identity, SSO), output formats and JMESPath queries, resource groups, VMs, storage accounts/blobs, networking (VNets, NSGs, load balancers, DNS), Entra ID, AKS, App Service, Functions, databases (SQL, Cosmos DB, MySQL, PostgreSQL), Key Vault, Monitor/alerting, and infrastructure scripting patterns. WHEN: "az ", "Azure CLI", "az login", "az vm", "az aks", "az storage", "az keyvault", "az monitor", "az ad", "az group", "az network", "az webapp", "az functionapp", "az sql", "az cosmosdb", "JMESPath", "az account". Do NOT use for Azure architecture, landing zones, or multi-subscription strategy — that's the `cloud-platforms` plugin. This skill is about command syntax and scripting the CLI, not deciding what to provision.
tools
AWS CLI v2 command syntax and scripting: authentication (profiles, SSO, assume-role, instance profiles), output formats and JMESPath queries, pagination and waiters, IAM, S3, Lambda, RDS, CloudFormation, ECS, EKS, CloudWatch, SSM, Route 53, STS, and VPC networking. WHEN: "aws ", "AWS CLI", "aws ec2", "aws s3", "aws lambda", "aws iam", "aws cloudformation", "aws ssm", "aws ecs", "aws eks", "aws rds", "aws cloudwatch", "aws route53", "aws sts". Do NOT use for AWS architecture, service selection, multi-account strategy, or FinOps — that's the `cloud-platforms` plugin. This skill is about command syntax and scripting the CLI, not deciding what to provision.