{
  "markdown": "# Anibon Stream Synthesis Plugin\n\n![Version](https://img.shields.io/badge/version-1.2.2-blue)\n[![Release](https://img.shields.io/github/v/release/ZenitHTH/anibon-stream-synthesis)](https://github.com/ZenitHTH/anibon-stream-synthesis/releases/tag/v1.2.2)\n\nA suite of AI agent skills for deep research, live-stream transcript processing, automated timestamping, LiveChat subculture mood analysis, and highlight video cutting. Works across **Antigravity CLI**, **Claude Code**, **OpenCode**, and **Pi Coding Agent**.\n\n---\n\n## Table of Contents\n\n- [Quick Start & Usage](#quick-start--usage)\n- [Installation](#installation)\n- [Key Features](#key-features)\n- [Available Skills](#available-skills)\n- [Prerequisites](#prerequisites)\n- [Further Reading](#further-reading)\n- [License](#license)\n\n---\n\n## Quick Start & Usage\n\nOnce installed, simply trigger the skills in your AI agent:\n\n### 1. Generate Stream Timestamps\nExtract key topics, gaming moments, story readings, meme bursts, and donations into YouTube comment-ready blocks:\n```text\n/anibon-timestamper https://www.youtube.com/watch?v=VIDEO_ID\n```\n\n- **Full List Reveal Rule**: Automatically parses across adjacent chunk boundaries so multi-item reveals (e.g., 7 animation updates) are never truncated to single-chunk limits.\n- **Mood & LiveChat 555 Integration**: Ingests livechat replays to detect `MEME_PULSE` (555 laughter bursts) and enforce Thai internet humor verbs (`ฮาแซว`, `ปั่น`, `อวยมีม`, `ลุ้น 15 HP`). Mood verdicts per chunk are injected as tone guidance into subagent prompts.\n- **Garbled-Word Feedback Loop**: Chunk subagents emit `GARBLED_NOTES` for Thai-Latin hybrids that survive cleaning; the `anibon-garbled-notes` subagent consolidates them, writes `garbled_notes.json`, and grows the shared cleaning dictionary so every future stream auto-corrects them.\n- **NO GAPS Enforcement**: `audit_gaps.py` + agent guardrails enforce the max-10-minute timestamp gap rule with gap→chunk mapping.\n- **Quota Packing**: Groups timestamps into 5 high-density parts optimized for YouTube's 4,500-byte comment cap.\n\n### 2. Cut Highlight Videos\nSelect key scenes and automatically generate non-jumpcut FFmpeg video edits:\n```text\n/creating-highlight-video https://www.youtube.com/watch?v=VIDEO_ID\n```\n\n### 3. Summarize Video Meeting Minutes\nGenerate timestamped Markdown meeting minutes from any YouTube video:\n```text\n/youtube-minutes-synthesis https://www.youtube.com/watch?v=VIDEO_ID\n```\n\n### 4. Recover Corrupted Transcripts & Extract Vision Context\nFix Whisper repetition loops and extract frames for `[?]` uncertain dialogue:\n```bash\npython skills/whisper-corruption-recovery/scripts/fix_hallucinations.py whisper_output.json -o recovered_transcript.json --audio stream.wav\npython skills/whisper-corruption-recovery/scripts/enrich_uncertain_with_vision.py recovered_transcript.json --video stream.mp4\n```\n\n---\n\n## Key Features\n\n- 🎭 **Thai Internet Subculture & Psychology Integration**:\n  - Encodes Thai stream humor, keyboard typos (`ถถถถ`), and 2024–2025 stream slang (`ทำถึง`, `จะ Crazy`, `อ่อม`, `ตึง`, `ตุย`, `สภาพ`).\n  - Interprets playful envy (\"กด dislike ละ\") and meme cult hyping (1★ / 2★ units as META) without literal flattening.\n- 📜 **Full List Reveal Protocol**:\n  - Ensures subagents read across adjacent chunks for list announcements (character update lists, gacha line-ups) so full counts (e.g. 7 male servants) are accurately captured.\n- 📊 **555 Pulse & LiveChat Alignment**:\n  - `analyze_555.py` aligns livechat messages per 5-minute chunk, identifying 555 laughter spikes and overriding flat tone verbs with authentic streamer/chat humor verbs.\n  - `validate_mood.py` verifies mood-bearing timestamps honour the per-chunk mood verdict.\n- 🧹 **Garbled-Word Auto-Correction**:\n  - `clean_garbled_english.py` normalises Thai-Whisper garbled English (Thai syllable + Latin tail, e.g. `อีเวent` → `อีเวนต์`).\n  - `garbled_replacements.json` is shared via `resource_path()` across all skill copies and auto-grows each stream via the `anibon-garbled-notes` feedback loop (94 rules and counting).\n- 📦 **YouTube Comment Quota Optimization**:\n  - Merges sparse entries into high-density topic-coherent sections (~2,500–3,300 bytes per section) with 0 validation errors via `check_sections.py`.\n\n---\n\n## Installation\n\n### Recommended (Universal for any Agent CLI)\nInstall all skills globally across Claude Code, Antigravity, OpenCode, Codex, and other agents:\n\n```bash\nnpx skills add zenithth/anibon-stream-synthesis --all -g\n```\n\nOr install any single skill individually (each skill is self-contained with zero external dependencies):\n\n```bash\nnpx skills add zenithth/anibon-stream-synthesis/skills/anibon-timestamper -g\n```\n\n### Alternative Platform Commands\n\n| Platform | Command |\n|---|---|\n| **Antigravity CLI** | `agy plugin install https://github.com/zenithth/anibon-stream-synthesis` |\n| **OpenCode** | `opencode plugin -g anibon-stream-synthesis@git+https://github.com/ZenitHTH/anibon-stream-synthesis.git` |\n| **Pi Coding Agent** | `pi install https://github.com/ZenitHTH/anibon-stream-synthesis.git` |\n| **Manual Clone** | `git clone https://github.com/ZenitHTH/anibon-stream-synthesis.git` |\n\n---\n\n## Available Skills\n\n| Skill | Description | Usage |\n|---|---|---|\n| `anibon-timestamper` | Master orchestrator for Anibon live streams timestamping | `/anibon-timestamper <URL>` |\n| `anibon-livechat-analysis` | Download, parse, chunk, and analyze YouTube LiveChat replays for SuperChats & meme peaks | Auto-loaded / `/anibon-livechat-analysis` |\n| `anibon-timestamper-local` | Sequential timestamp orchestrator for local LLMs (Ollama/Gemma) | Local model fallback |\n| `whisper-corruption-recovery` | Parallel BFS divide-and-conquer recovery for Whisper repetition loops & vision frame extraction | `/whisper-corruption-recovery` |\n| `creating-highlight-video` | Highlight video cutter (Planner → Cutter → Verifier) | `/creating-highlight-video <URL>` |\n| `livestream-scene-selection` | Filter and mark timeline scenes for summary reels | Interactive timeline selection |\n| `youtube-minutes-synthesis` | Extract YouTube transcripts into structured meeting minutes | `/youtube-minutes-synthesis <URL>` |\n| `preparing-tools` | Pre-flight system tool verifier (`yt-dlp`, `ffmpeg`, `sqlite3`) | Auto-called by orchestrators |\n| `antigravity-vision-proxy` | Frame extraction & visual inspection proxy for game/UI context | Visual verification fallback |\n| `anibon-stream-activity` | High-res storyboard sampling for on-screen activity, webcam presence/AFK, and visual grounding | Auto-loaded / `/anibon-stream-activity` |\n| `batching-subagents-concurrency` | Rate-limit-safe parallel subagent batching (MAX 6 concurrent) | Auto-loaded by orchestrators |\n\n---\n\n## Prerequisites\n\n- **Python 3.10+** (Standard library only)\n- **yt-dlp** (Download transcripts, live chat replays, and metadata)\n- **ffmpeg** (Frame extraction and video cutting)\n- **sqlite3** (FGO & Yu-Gi-Oh! local card lookups)\n\n---\n\n## Further Reading\n\n- [`docs/SKILLS.md`](docs/SKILLS.md) — Detailed inventory of entry-point skills and reference guides\n- [`docs/USAGE.md`](docs/USAGE.md) — MapReduce workflow patterns, Thai humor rules, and iron rules\n- [`docs/REFERENCE.md`](docs/REFERENCE.md) — Directory structure, script reference, and DB setup\n\n---\n\n## License\n\nDistributed under the MIT License. See `package.json` for details.\n",
  "bytes": 7378,
  "sha": "50712d5d0dee929adaac49774298383e1abc28cf1bbc3f03897763defb651cdb",
  "repo_slug": "zenithth/anibon-stream-synthesis",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_zenithth_anibon_stream_synthesis_0ad33998/readme"
}