flow
Installation
SKILL.md
Flow
Run flow and deliver the requested media. Do not stop after writing a prompt unless the user explicitly asks for prompt text only. In a video project, video-production decides who runs what: the agent runs stills and 360p draft batches through make.py and reviews them; the user runs only the 1080p finals, from the command the agent gives.
When a job is stuck or flow is broken
- There is no cancel command. Don't kill and relaunch in a loop.
NOT_FOUNDin the final summary: flow has already spent its one regeneration on another account, so rerunning unchanged won't help. Put a new"seed"on that job and rerun. Clips Flow's content filter fails after accepting them are no longer reported as lost: they come back asUNSAFE_GENERATIONwith Google's reason (see below).BATCH_WORKER_FAILED: rerun the same command.- No progress for about 10 minutes, or the same failure twice after following the hint: stop. Tell the user at once, in a few lines they can hand to whoever fixes flow: the exact command, the last lines of output, the error code, and what looks wrong (a stuck profile lock, an expired login, a Google error). Don't keep waiting, work around it or offer a menu of options.
Waiting on a run
- Run the
flow(ormake.py) command itself as the background task; the harness tells you when it exits. That is the only wait you need. - Never poll with
pgrep -f/pkill -fon a pattern: the waiting shell's own command line contains the pattern, so the loop never ends (video-3: two loops ran 2.5 hours, looking like a flow hang) andpkill -fkills the shell that started it. To wait on or stop a process, use its PID (tail --pid=<PID> -f /dev/null,kill <PID>). - Before reporting done, check your background tasks and stop any of yours still running.
- For a quick look at what flow is doing (batch saved/total, jobs in flight, last error, free and premium credits as last seen), run
flow summary. It reads local files only and never spends credits. - Write each scene's stills or clips into a folder named for it (
-o scene-3/scene-3-v2.jpg). The user's status bar groups jobs by folder, showing what is done and what is generating, so a folder per scene keeps that readable. flow stopstops every running flow command (not only yours) and closes Labflow's browser. Use it only when the user asks to stop everything; to stop your own run,kill <PID>. Accepted jobs resume on rerun.