producelisted
Install: claude install-skill ttalkkaklab/social-flow
# Per-platform content production — data/[channel]/episodes/[topic]/output/
For pending portal render requests, follow [the six-ratio allocation contract](../storyboard/references/production-mode.md): `portal_render_allocation` read → host LLM reasons over every shot → submit requestId/baseRevisionNo and all assignments → pull. New choices persist `PRODUCTION.renderRatioVersion:1`; neither a pending request nor ratio selection approves spending.
Turn the approved storyboard (`storyboard/scenes.js`) into a narrated video and per-platform text. **Assembly video warnings use HITL:** follow [assembly-video-hitl.md](references/assembly-video-hitl.md). Show failed video/visual-plan checks to the user; their explicit approval permits assembly of the current inputs. This exception overrides pre-assembly quality holds below. Preserve warnings and resume without asking again. **Speech warnings use HITL the same way:** follow [tts-hitl.md](references/tts-hitl.md). A failed scene take or final listening verdict is shown to the user with its scores and defects; their explicit approval permits assembly and delivery of the current takes.
**scenes.js is the only data source** for screens, narration, subtitles and captions.
```
data/<channel>/episodes/<topic>/
├── storyboard/ # input (has to be in the approved state)
├── .work/ # intermediates (gitignore — cards/ broll/ pcm/ manifest)
└── output/
├── video/ # video.mp4 (clean) · video-sub.mp4 (burned-in) ·