@officexapp/vidfarm-devcli 0.21.27 → 0.21.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/.agents/skills/editor-capabilities/SKILL.md +52 -0
  2. package/.agents/skills/vidfarm/SKILL.md +58 -5
  3. package/.agents/skills/vidfarm/recipes/bulk-scripting-with-a-regime.md +65 -0
  4. package/.agents/skills/vidfarm/recipes/cutout-graphics-for-explainers.md +78 -7
  5. package/.agents/skills/vidfarm/recipes/local-edit-render-approve.md +4 -3
  6. package/.agents/skills/vidfarm/recipes/retheme-template.md +1 -1
  7. package/.agents/skills/vidfarm/references/assets-and-sourcing.md +3 -3
  8. package/.agents/skills/vidfarm/references/automation-and-local-dev.md +92 -1
  9. package/.agents/skills/vidfarm/references/editor-workflows.md +135 -6
  10. package/.agents/skills/vidfarm/references/hooks-and-virality.md +237 -0
  11. package/.agents/skills/vidfarm/references/onboarding.md +5 -5
  12. package/.agents/skills/vidfarm/references/primitives.md +5 -1
  13. package/.agents/skills/vidfarm/regimes/README.md +77 -0
  14. package/.agents/skills/vidfarm/regimes/explainer.QA_REGIME.md +82 -0
  15. package/.agents/skills/vidfarm/regimes/hooks.QA_REGIME.md +117 -0
  16. package/.agents/skills/vidfarm/regimes/product-demo.QA_REGIME.md +92 -0
  17. package/.agents/skills/vidfarm/regimes/short-form.QA_REGIME.md +163 -0
  18. package/.agents/skills/vidfarm/regimes/ugc-testimonial.QA_REGIME.md +82 -0
  19. package/SKILL.director.md +685 -32
  20. package/SKILL.md +22 -3
  21. package/demo/dist/app.js +103 -103
  22. package/dist/src/cli.js +987 -11
  23. package/dist/src/devcli/handoff.js +162 -0
  24. package/dist/src/devcli/interaction-mode.js +154 -0
  25. package/dist/src/devcli/qa-check.js +593 -0
  26. package/dist/src/devcli/qa-regime.js +396 -0
  27. package/dist/src/devcli/sticker-pack.js +396 -0
  28. package/dist/src/devcli/storyboard.js +243 -0
  29. package/package.json +8 -1
  30. package/public/serve-shells/tools-image.html +378 -265
  31. package/public/serve-shells/tools-video.html +760 -167
@@ -0,0 +1,82 @@
1
+ ---
2
+ name: ugc-testimonial
3
+ video_type: UGC / talking-head testimonial — a person on camera vouching for a product
4
+ checks:
5
+ duration_sec: 12-60
6
+ aspect: 9:16
7
+ first_frame_visual: required
8
+ first_frame_text: required
9
+ captions: required
10
+ audio: required
11
+ font_regime: required
12
+ max_text_cards: 2
13
+ max_simultaneous_text: 1
14
+ ---
15
+
16
+ # UGC / Testimonial QA Regime
17
+
18
+ For the format where a person talks to camera about a product they use. The entire value of the format is that it **doesn't look produced** — so most of this regime is about what NOT to add.
19
+
20
+ ## The one test
21
+
22
+ > **Would this survive being posted from the speaker's own account, with no brand involved?**
23
+
24
+ If the answer needs the brand's permission, budget, or logo, it isn't UGC — it's an ad wearing UGC's clothes, and the audience reads that in under a second. The failure is not "it looks cheap"; it's "it looks funded," and funded means skippable.
25
+
26
+ ## Structure
27
+
28
+ | Beat | Runtime | Job |
29
+ |---|---|---|
30
+ | **Situation** | 0:00–0:03 | The problem, as a thing that happened to *them*. Not a claim about the product |
31
+ | **Turn** | 0:03–0:10 | What they tried, what changed. The product enters here, never in the first line |
32
+ | **Demonstration** | the middle | Screen or hands. The product doing the thing, on their real account/desk/kitchen |
33
+ | **Honest limit** | before the close | What it doesn't do / who it isn't for. **The credibility beat** |
34
+ | **Close** | final beat | What they'd tell a friend. Not a CTA read |
35
+
36
+ **The product enters second, never first.** A testimonial that opens on the product is a commercial. It opens on the *situation* — and situations are also what survives a cold algorithm (see the `hooks` regime).
37
+
38
+ ## Rules
39
+
40
+ ### Rule 1 — first person, specific, and falsifiable
41
+
42
+ "It saves me time" is an ad line. "I used to spend Sunday night on this and now I don't" is a testimonial. Every claim should be a thing that happened, with a when and a how much. Vague praise reads as paid; specific mundane detail reads as real.
43
+
44
+ ### Rule 2 — one honest limit, said out loud
45
+
46
+ The beat that makes everything else believable. It is not a disclaimer and it does not go at the end as fine print — it goes in the body, in the speaker's own voice, and it should cost you something real. A testimonial with no limit is a review nobody believes.
47
+
48
+ ### Rule 3 — never claim an outcome the viewer's situation can't reproduce
49
+
50
+ Results-may-vary in tiny type does not fix a headline result. If the number depends on the speaker's audience, budget, or luck, either say what it depended on or don't say the number.
51
+
52
+ ### Rule 4 — production floor: deliberately low
53
+
54
+ - **Audio is the only thing allowed to be good.** Bad audio is the one production sin the format doesn't forgive; everything else *should* look handheld.
55
+ - **No b-roll montage, no music swell, no logo sting, no lower-third name card.** A brand logo on screen converts this from a testimonial into an ad.
56
+ - **Captions verbatim**, weight 700–900, safe zone, one line at a time. Never kinetic VFX captions — produced captions are the single loudest "this was made by a marketing team" signal.
57
+ - **At most two standalone text cards** in the whole video, and only to surface a number the speaker said out loud.
58
+ - **Frame 0:** the speaker already mid-sentence, in frame, with a caption up. Not a title card, not a product shot, not black.
59
+
60
+ ### Rule 5 — disclosure is not optional
61
+
62
+ Paid, gifted, or affiliate relationships get disclosed on screen and in the caption. Beyond the legal exposure, an undisclosed relationship that surfaces later costs more trust than the video ever bought.
63
+
64
+ ## Bulk-generation notes
65
+
66
+ The natural variant axis here is **the situation, not the script**: five different opening situations pointing at the same turn and demonstration. Varying the adjectives instead of the situation gives you five videos that are one video — and the algorithm treats near-duplicates accordingly.
67
+
68
+ If you're generating variants with different speakers/avatars, hold the honest-limit beat constant. It's the load-bearing one, and it's the one an AI rewrite is most likely to quietly soften into nothing.
69
+
70
+ ## Pre-flight checklist
71
+
72
+ - [ ] The first line is a situation that happened to the speaker, not a product claim
73
+ - [ ] The product enters in the second beat or later
74
+ - [ ] Every claim is specific enough to be falsifiable (a when, a how much, a what happened)
75
+ - [ ] There is one honest limit, in the body, in the speaker's own voice
76
+ - [ ] No outcome is promised that the viewer's situation couldn't reproduce
77
+ - [ ] The demonstration shows the real thing on a real account/desk, not a mockup
78
+ - [ ] Audio is clean; nothing else looks produced
79
+ - [ ] No logo sting, no music swell, no lower-third, no kinetic captions
80
+ - [ ] Any paid/gifted/affiliate relationship is disclosed on screen and in the caption
81
+ - [ ] Frame 0 shows the speaker mid-sentence with a legible caption
82
+ - [ ] In a batch: this variant's *situation* differs from its siblings, not just its wording