Anibon LiveChat Analysis Pipeline
Overview & Triggers
Use this skill when analyzing viewer chat replays for YouTube live streams (such as Anibon Official streams) to extract donations, meme peaks, community sentiment, and stream highlights.
Workflow
1. Download LiveChat Replay
Download the .live_chat.json file using yt-dlp:
ash yt-dlp --sub-langs live_chat --write-sub --skip-download "https://www.youtube.com/watch?v=<VIDEO_ID>" -o "%(id)s.%(ext)s"
[!IMPORTANT] Network Requirement: yt-dlp requires network DNS resolution (BypassSandbox: true when running tool commands).
2. Parse & Chunk LiveChat File
Run the Python parser script to convert JSON lines into timestamped text chunks (livechat_chunk_1.txt to N.txt):
ash python3 scripts/parse_live_chat.py <VIDEO_ID>.live_chat.json --chunk-minutes 90 -o workspace/livechat_chunks
The script extracts:
- Timestamp formatted as HH:MM:SS
- Author name
- Message text
- SuperChat / Donation amounts (e.g. THB 40.00)
- Emotes & Stickers
[!TIP] Timestamper integration: pass
--raw-events workspace/livechat_events.txtto also emit a seconds-prefixed event feed. Theanibon-timestamperorchestrator (Step 3.5) then slices that feed to its 5-minute transcript chunks viascripts/align_live_chat.py, so each timestamp subagent can read the watchers' chat for its own chunk and infer situation + emotion from both sides. Refer to../anibon-timestamper/references/anibon_emoji_dictionary.mdfor custom Anibon channel emotes and YouTube global emote weights.
3. Subagent Parallel Analysis
Spawn parallel subagents for each chunk file (livechat_chunk_N.txt).
Each subagent performs:
- SuperChat Extraction: List all donations (Amount, Sender, Message).
- Hype / Meme Peaks: Identify timestamps with high chat density, emote spams, or keyword peaks.
- Viewer Q&A: Extract questions asked by chat.
- Thai Subculture & Psychology Rule:
- Reverse Meaning / Playful Envy ("กด dislike ละ" = celebration)
- Ironic Cults / Overhype ("Eric คือ META" = meme banter)
- Parasocial Memes ("กราบผัวเพื่อน" = community joke)
- Coping Comedy (screaming at gacha failure = slapstick)
- Vlog & IRL Subculture Banter:
- Weeb Social Awkwardness ("ปู่เกร็ง", "แววตาสิ้นหวัง", "weeb เข้าสังคม", "Introvert อาการหนัก" = community banter about Boat's IRL shyness)
- Booth / Food Navigators ("ไปบูธนี้ดิ", "ลองทาโกยากิร้านนั้น", "ข้างหลังมีคอสเพลย์..." = crowd steering)
- Fan Sighting Celebrations ("เจอตัวจริงแล้ว", "ปู่หล่อมาก", "ขอลายเซ็นหน่อย" = real-time fan excitement)
- Food Tasting Peer Pressure ("กินโชว์หน่อย", "เปย์เลย" = comedy encouragement)
Write each agent output to livechat_analysis_N.txt.
4. Synthesize LiveChat Report & Integrate Timestamps
Merge chunk outputs into livechat_summary.md and merge top hype peak timestamps into nriched_timestamps.txt before running pack_timestamps.py.