Inspiration

Every video edit starts the same way: scrubbing through years of footage, line by line, hunting for B-roll. Creators who keep their archive on a NAS already have it indexed, with local AI sitting next to it, but nothing connects the script to the library.

What it does

script-to-broll is a UGOS Skill. Give it a script document or a recorded voiceover on the NAS, the library folder to search, and a project folder. It:

  1. Splits the script into numbered beats with target lengths (taken from the real voiceover timing when you give it audio).
  2. Resolves each beat's people, pets, objects, places and on-screen text against the real photo index, so it never substitutes a lookalike.
  3. Finds candidate clips for each beat and checks them with on-device vision.
  4. Checks duration against the beat length, resolution against your minimum, and whether the clip was already used in an earlier project (a broll-used tag).
  5. Shows up to three ranked candidates per beat for you to pick from.
  6. After one approval, copies (never moves) the picks into broll/beat-NN folders, tags the originals as used, creates a review album, and saves a shot list that ends with a pickup list of the shots your library could not cover.

How I built it

The Skill follows the Uliya Skill Development Standard. A single SKILL.md only delegates to the registered experts (document-agent, knowledge-agent, photo-agent, file-agent), and five linked references cover the beat-sheet rules, ranking, the shot-list format, the test plan and the disclosure. Every step is mapped to an action in the official capability catalog. The UGOS Skill Creation Tool's static checker reports static-pass with 0 errors and 0 warnings.

Challenges

  • Keeping every write behind a single approval step, while making the read-only review useful on its own.
  • Being honest about uncertainty: if the vision tools cannot read a video file, the candidate is flagged "not visually checked" instead of guessed.
  • Never filling a gap with unrelated footage: an empty beat becomes a line on the pickup list.

What I learned

Orchestration Skills are contracts. Each step passes only real upstream results, every delegation state (completed, failed, cancelled, waiting_user, waiting_approval) has defined behaviour, and empty results stop the step instead of improvising.

What's next

If selected as a finalist: run the two core cases and the edge case from the test plan on my own footage, confirm vision behaviour on video files and album indexing timing, and record the demo.

Built With

Share this project:

Updates

Submission history