The video factory with agents|INEMA.CLUB-PRO

Lesson 6 · 15 min

Editing by agent: your reel editor

forja-reel doesn't edit video: it interviews you and generates a skill of your own that edits, with your identity and a tested cut-and-pacing engine inside. In this lesson you open the published package, see what the child skill receives, and use the local pacing lint to fail a gap in the timeline before the render.

Start the lesson
Editing console with a jog wheel and keys, and a monitor with a timeline full of short colored clips.

In this lesson you will

  1. 1The four phases of the meta-skill: interview, diagnosis, generation, and debut
  2. 2What goes into the child skill: the engine scripts, references, and your recipe
  3. 3The pacing rule: no stretch longer than 4 s without a visual beat
  4. 4What depends on an external service (transcription, b-roll) and what runs on your machine

Goal: understand what forja-reel generates and fail a pacing gap in the timeline with the local lint before rendering.

01From interview to the skill that edits

Click each step. The first four belong to the meta-skill; the last one, to the skill it generates.

Click each block in the diagram to see what it does.

forja-reel in the package download/forja-reel.skill from the videos-edit-cria repository, commit d9a5137 (07/17/2026).

02Open the published package

The .skill is a zip. The block clones at the pinned commit, unzips, and lists the references and scripts.

Terminal · open forja-reel
E=${TMPDIR:-/tmp}/ensaio-fabrica/a6; rm -rf "$E"; mkdir -p "$E"; cd "$E"
git clone -q https://github.com/inematds/videos-edit-cria.git && git -C videos-edit-cria checkout -q d9a5137
unzip -q videos-edit-cria/download/forja-reel.skill -d skill
ls skill/forja-reel/references skill/forja-reel/assets/motor-scripts
Example from the repository
skill/forja-reel/assets/motor-scripts:
captions.py
cut.py
fal-gen.py
islands.py
lint-timeline.py
make-sfx.sh
mix-sfx.py
verify-cut.py

skill/forja-reel/references:
01-entrevista.md
02-diagnostico-de-ambiente.md
03-geracao.md
04-modelo-skill-filha.md

The scripts in motor-scripts/ go into the child skill unchanged: the cut and the QC are the same for everyone; the style changes.

03The rhythm lint

Two 15 s 9:16 timelines in the kit: one with a beat every 1.5 s and another with a 6.5 s gap.

Terminal · check the rhythm
K=~/projetos/formacao-cinema-ia-fabrica-v72/kit
cd ${TMPDIR:-/tmp}/ensaio-fabrica/a6; L=skill/forja-reel/assets/motor-scripts/lint-timeline.py
python3 $L "$K/exemplos/a6-ritmo/ritmo-ok.html" | grep -E "^Duração|ERROR"; echo "saída: ${PIPESTATUS[0]}"
python3 $L "$K/exemplos/a6-ritmo/ritmo-buraco.html" | grep -E "^Duração|ERROR"; echo "saída: ${PIPESTATUS[0]}"
Example from the repository
Duração 15.00s · 1080x1920 · 10 beats · densidade média 5.33 beats/10s
saída: 0
Duração 15.00s · 1080x1920 · 5 beats · densidade média 2.67 beats/10s
ERRORS
L2.50 ERROR Buraco de 6.5s entre 2.5s e 9.0s — coloque um beat (snap/selo/B-roll) sincronizado com uma palavra-âncora
saída: 1

The first one passes with a warning (cut off here): the last 10 s window has only 5 s of video and always looks slow. The second one fails with the line and the exact time of the gap.

04The excerpt that makes the difference

Each beat is a fromTo on the GSAP timeline, at the second it comes in. The lint reads those times without opening a browser.

Excerpt · kit/exemplos/a6-ritmo/ritmo-buraco.html
      tl.fromTo("#b1", { opacity: 0, y: 40 }, { opacity: 1, y: 0, duration: 0.5 }, 2.5);
      tl.fromTo("#b2", { opacity: 0, y: 40 }, { opacity: 1, y: 0, duration: 0.5 }, 9);

05Practice

Package opened, gap found and fixed.

E1 · The package

5 min

Run "open forja-reel".

Done when: The list shows 01-entrevista.md through 04-modelo-skill-filha.md and, in motor-scripts, lint-timeline.py and verify-cut.py.

E2 · Gap failed

5 min

Run "check the rhythm".

Done when: 10 beats with saída: 0, and then ERROR Buraco de 6.5s entre 2.5s e 9.0s with saída: 1.

E3 · Fix

10 min

Copy ritmo-buraco.html to ${TMPDIR:-/tmp}/ensaio-fabrica/a6/meu-ritmo.html and add a beat between 2.5 s and 9 s (a new element and a fromTo at second 5.5).

Done when: cd ${TMPDIR:-/tmp}/ensaio-fabrica/a6 && python3 skill/forja-reel/assets/motor-scripts/lint-timeline.py meu-ritmo.html | grep -c ERROR; echo "saída: ${PIPESTATUS[0]}" → 0 and saída: 0.

06Lesson quiz

The explanation appears after you answer.

Question 1 of 3

What does forja-reel deliver in the end?

07In three sentences

Meta-skillforja-reel generates your editing skill; it doesn't edit video.
Common enginecut, pacing and QC are the same scripts for everyone; the style is yours.
Pacinglint-timeline.py rejects more than 4 s without a beat, before the render.

Going further

Previous lessonNext lesson