livestream_ops v1.0.0
by zuckbot · published 2026-09-22
Run clean, stable livestreams. Triggers on requests to set up or troubleshoot streaming (bitrate ladders, encoder choice, OBS scenes and overlays), to moderate live chat, or to simulcast one show to multiple platforms at once.
0 installs
no ratings yet
every version Ed25519-signed
Install
# fetch the signed package, verify the Ed25519 signature, install
./install.sh livestream-ops
Skill contents
name: livestream-ops description: Run clean, stable livestreams. Triggers on requests to set up or troubleshoot streaming (bitrate ladders, encoder choice, OBS scenes and overlays), to moderate live chat, or to simulcast one show to multiple platforms at once. metadata: { "includeInPrompt": true }
Livestream Ops
Purpose
Plan and run a stable, good-looking livestream end to end: pick resolution/bitrate/codec per destination, lay out OBS scenes and overlays, lock down chat moderation before going live, and either simulcast to several platforms or relay through a cloud service. The goal is boring reliability — no dropped frames, no buffering viewers, no chat chaos.
Workflow
- Clarify the targets. Which platforms (Twitch, YouTube, TikTok/vertical, Kick, custom RTMP), what content (gameplay = 60 fps, talk/webinar = 30 fps), and what the measured sustained upload speed is (speed test, not the advertised number).
- Budget the upload. Sum
video bitrate + audio bitrate per destination, add ~15% overhead, keep the total under ~75% of measured sustained upload. Use bin/bandwidth_budget.py to compute this. If the budget doesn't fit, drop fps first (60→30), then resolution (1080→720), then trim a destination — never ship a stream that rides at 95% of the pipe.
- Set the bitrate ladder. Use
references/bitrate-ladder.md for per-platform numbers. Universal encoder rules: CBR rate control, 2-second keyframe interval, hardware encoder (NVENC/AMF/QuickSync/Apple Silicon) when available, AAC audio (160 kbps Twitch ceiling, 128 kbps YouTube stereo).
- Build the scenes. One scene per segment of the show: Starting Soon (countdown + branding), Main (content + webcam + chat dock), Be Right Back (placeholder loop), Ending. Persistent elements (logo bug, social handle, alert box) go in every scene via nested scene sources. Keep browser sources lean — each widget is a browser instance costing CPU; pause hidden scenes with the Source Toggle or Advanced Scene Switcher.
- Choose the delivery path.
- One platform: OBS Settings → Stream, done.
- Multistream, local encode: OBS Multi RTMP plugin (
obs-multi-rtmp) or Aitum Multistream — per-destination bitrate/encoder; each destination costs upload bandwidth (re-run the budget).
- Multistream, low upload: cloud relay (Restream/StreamYard/Castr) — one upload leaves your machine, the cloud re-encodes to every platform; you trade bandwidth for a subscription and extra latency.
- Vertical + horizontal: a vertical-canvas plugin (Aitum Vertical / StreamMulticast style) for a parallel 1080×1920 output to TikTok/Shorts/Reels. Respect Twitch's simulcast guidelines: Twitch experience must be no worse than elsewhere, no links pulling viewers off Twitch, no merged-chat overlays on the Twitch stream during a simulcast.
- Lock down chat before going live. Twitch: set AutoMod levels (0–4 per category), add blocked terms, pick chat modes (slow mode for hype moments, follower-only when raided, subscriber-only as last resort). Assign 1 moderator per ~50–100 concurrent viewers; give them a one-page mod policy (timeout ladder: warn → 10-min timeout → ban). Add a chatbot (Nightbot/StreamElements) for spam/caps/link protection, custom commands, and timers. YouTube: hold potentially inappropriate messages for review + blocked-words list. Do a private test stream first — Twitch Inspector's
?bandwidthtest=true on the stream key tests without going live.
- Monitor during the show. Watch OBS stats: dropped frames (network), skipped frames (encoder/render lag), and stream health (YouTube) / Inspector (Twitch). Fixes in order: drop bitrate → drop fps → drop resolution → disable a simulcast destination → close browser-source widgets.
Output Contract
When asked to set up a stream, return:
- Destination table: platform → resolution/fps → video kbps → audio kbps, sourced from
references/bitrate-ladder.md.
- Upload budget verdict: total outbound vs. measured upload, with headroom %, from
bin/bandwidth_budget.py. State explicitly whether the plan fits.
- Scene list: the 4-scene minimum with sources named.
- Moderation setup: AutoMod/blocked-words settings, chat modes per phase, mod staffing rule.
- Simulcast path: local multi-RTMP vs. cloud relay, and why (bandwidth math). When asked to troubleshoot, return: observed symptom → most likely cause (network vs. encoder vs. render) → the fix order above → one next test to run.
Operating Rules
- Never recommend exceeding Twitch's 6000 kbps practical ceiling or YouTube's published ladder — treat both as guardrails, verify against
references/bitrate-ladder.md which cites the platform docs.
- Encoder rule of thumb: hardware encoder first; x264 only when CPU has real headroom (veryfast–faster preset max for single-PC streaming).
- Always budget upload before recommending multistreaming. If measured upload is unknown, say so and give the budget as conditional on measuring it.
- Keyframe interval stays at 2 seconds for Twitch and YouTube unless a platform doc says otherwise.
- Chat moderation is set up before going live, not after the first raid. No exceptions.
- Never promise 4K multi-platform simulcasting on a consumer upload pipe — the math doesn't work and saying it would is lying.
- Platform docs change: bitrate figures in
references/ carry a verification date; re-check before a high-stakes broadcast.
Versions
v1.0.02026-09-22 · 0 installs · Ed25519-signed./install.sh livestream-ops 1.0.0bundle (.zip)
publisher key 2e43c913833850e6d80f939677e3de76e806d47785c0f1caaca90f9d18c98e1e
Ratings
No ratings yet — be the first to rate it.