editorbrain 0.31.0 → 0.34.0

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "editorbrain",
3
- "version": "0.31.0",
3
+ "version": "0.34.0",
4
4
  "description": "EditorBrain editorial knowledge, portable workspaces and skills for AI video agents",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",
@@ -24,11 +24,13 @@ For factual subjects or real demonstrations, inspect authentic footage/images fr
24
24
  5. Ground each new edit or materially changed direction in the **edited-video reference library**, including when a favorite style is selected. Search with `search_from_brief` (CLI `editorbrain search brief --file <brief.json>`) and the project ID after inspecting the material. Read [search brief](references/search-brief.md) for the schema and [editorial evidence](references/editorial-evidence.md) for selection/adaptation. Search communicative needs, not a guessed template. A scoped revision may reuse still-valid inspected evidence and approval. The optional `search_for_edit` server-analysis path is never an automatic fallback.
25
25
  6. Survey candidates across the video's needs, then inspect selected documents and actual frames/intervals, plus audio when sound matters. Build a coherent scene-level palette of techniques: opening, imagery, type, explanation and transitions can come from different references. A shortlist is not a single template for the whole video. Use preferences to retain, adapt or reject mechanisms; save evidence, limitations and beat-level adaptations in `direction.md`. A motion-catalog lookup does not complete this step. If evidence is inaccessible or unsuitable, disclose the gap. For factual beats, compare allowed user footage and authentic web media with authored explanation. The engine does not dictate the imagery or entire layout.
26
26
  7. Follow the effective review mode: `direct` → implement and review; `directions` → propose suitable alternatives with labelled reference evidence; `sample` → show a frame/short clip made with customer material before the full edit. Respect existing approval. Check the preference version before proposals, costly generation and full rendering; a web update cannot interrupt an active tool.
27
- 8. Carry the same `editorialSnapshot` into implementation and any specialist handoff. For a sample or localized correction, use [production continuity](references/production-continuity.md): register the exact version, retain unaffected work and retrieve pending feedback. Before delivery, use `production verify --project ID --file <render>` when available, inspect its real samples and review the final motion/audio. An editing request needs the edit, not only a plan. Use [production and review](references/production-and-review.md) to compare editorial quality with the chosen references and any applicable user-approved sample; a technical pass alone cannot satisfy that comparison. Report unverified dimensions separately from technical results.
27
+ 8. When available, read `check_workflow.projectProgress` on resuming (or `get_project_progress` / `editorbrain projects progress --project ID`). Register actual work with `update_project_progress` (`action:start`, current `expectedVersion`) / `projects start`. This keeps the web board current; it is not a heartbeat. See [production continuity](references/production-continuity.md) for final delivery and conflict handling. Carry the same `editorialSnapshot` into implementation and any specialist handoff. For a sample or localized correction, use [production continuity](references/production-continuity.md): register the exact version, retain unaffected work and retrieve pending feedback. Before delivery, use `production verify --project ID --file <render>` when available, inspect its real samples and review the final motion/audio. An editing request needs the edit, not only a plan. Use [production and review](references/production-and-review.md) to compare editorial quality with the chosen references and any applicable user-approved sample; a technical pass alone cannot satisfy that comparison. Report unverified dimensions separately from technical results.
28
28
 
29
29
  ## Specialized work, loaded when needed
30
30
 
31
- Use the decision ownership in [the shared contract](AGENTS.md#decision-ownership): montage, media, motion, sound and review share one direction. For animated scenes, read [editorbrain-motion](../editorbrain-motion/SKILL.md) with the active project and resolved context. Ordinary cuts, static graphics or sync/install tasks need no motion skill. User memory belongs in scoped brand/style/project files; shared guides describe methods and examples supply evidence.
31
+ Use the decision ownership in [the shared contract](AGENTS.md#decision-ownership): montage, media, motion, sound and review share one direction. For animated scenes, read [editorbrain-motion](../editorbrain-motion/SKILL.md) with the active project and resolved context. Ordinary cuts, static graphics or sync/install tasks need no motion skill. When the edit follows a recognizable format (for example a numbered tutorial, or a reference whose structure the user wants replicated), read [editorbrain-formats](../editorbrain-formats/SKILL.md) for its structure and sync rules; identity still comes from the resolved brand and style. User memory belongs in scoped brand/style/project files; shared guides describe methods and examples supply evidence.
32
+
33
+ For multiple final videos, read the batch section of [production continuity](references/production-continuity.md): confirm clip grouping, isolate projects, acquire turns and respect batch budgets. `check_workflow.batch` carries coordination; it does not replace project preferences.
32
34
 
33
35
  For built-in transcription, image generation or narration, read [EditorBrain Studio](references/studio.md) only when needed. Discover availability first; quote and obtain an authorized budget before spending. Local MP4 preparation, durable job recovery and private result retrieval are covered there.
34
36
 
@@ -41,7 +41,7 @@ editorbrain skill install --dir ./my-videos --agent both
41
41
 
42
42
  If unauthenticated, `editorbrain login --url https://api.editorbrain.com` uses browser/device consent. Request the user's participation only for this required login step. Credentials stay outside project files. CLI login does not automatically authenticate a separate MCP host: register the MCP URL without a bearer header and authorize through the host’s OAuth login. Choose the same workspace in the consent page. Existing bearer-key connections remain compatible; do not overwrite one during setup.
43
43
 
44
- Skill installation is offline and independent of login. CLI 0.19+ installs sibling `editorbrain/` and `editorbrain-motion/` skills under `.agents/skills/` for Codex and `.claude/skills/` for Claude. Read the core first; load motion only for animated scenes. Open the target folder in the agent and explicitly follow the returned instruction path if automatic discovery has not refreshed. The core directs the agent to its bundled `AGENTS.md`; a bundled file alone is not assumed to load automatically.
44
+ Skill installation is offline and independent of login. CLI 0.19+ installs sibling `editorbrain/` and `editorbrain-motion/` skills under `.agents/skills/` for Codex and `.claude/skills/` for Claude; later versions add `editorbrain-formats/`. Read the core first; load motion only for animated scenes and formats only when replicating a format's structure. Open the target folder in the agent and explicitly follow the returned instruction path if automatic discovery has not refreshed. The core directs the agent to its bundled `AGENTS.md`; a bundled file alone is not assumed to load automatically.
45
45
 
46
46
  Existing root `AGENTS.md`/`CLAUDE.md` are preserved. Read the install result's instruction paths and conflict reports. A preserved root guide does not mean the native skill failed; a conflicting existing skill needs a deliberate merge, not an overwrite. Do not replace the user's custom instructions to finish setup.
47
47
 
@@ -100,3 +100,96 @@ allowed lists. `MEDIA_USE_REVIEW` stays pending even after a technical pass: com
100
100
  the plan and actual visible resources, including useful omissions, using
101
101
  [production review](production-and-review.md). The tool does not inspect or count
102
102
  imagery automatically, generate assets or authorize any provider.
103
+
104
+
105
+ ## Keep the project board current (discover availability)
106
+
107
+ Web, CLI and MCP use the same server state; do not store an independent status in
108
+ `project.json`. First discover these tools/commands with the installed CLI help or
109
+ MCP tools list. Older clients/services remain usable; report unavailable progress
110
+ tracking without claiming that the board was updated.
111
+
112
+ - `get_project_progress` / `editorbrain projects progress --project ID` returns
113
+ `stage`, `version`, latest review and pending count. Read on resume and before writes.
114
+ - `update_project_progress` with `action:start`, `expectedVersion` / `projects start
115
+ --project ID --expected-version HASH`: mark actual editing, including a correction.
116
+ It does not run a render, wake an agent or authorize paid tools.
117
+ - New registered samples automatically appear **Para revisar**. Requested changes
118
+ return to **En edición**. Sample approval alone never finishes a project.
119
+ - When the user accepts the exact complete video as the final delivery, use existing
120
+ production approval for that revision, read progress again, then `projects complete
121
+ --project ID --revision UUID --expected-version HASH --user-confirmed` or MCP
122
+ `update_project_progress` with `action:complete`, `revisionId`, `expectedVersion`,
123
+ `userConfirmed:true`. Do not request the same approval twice; record an existing
124
+ explicit final acceptance. A frame, preview, successful render or technical pass
125
+ is insufficient. Only the latest current, available, approved video with zero
126
+ pending project feedback can finish. Direct editing mode still skips proposal
127
+ gates; final acceptance is not inferred from that preference.
128
+ - `action:queue` / `projects queue` returns work to **Por editar** when the user
129
+ defers it and no corrections are pending. `start` can reopen a completed video.
130
+ - On `progress_changed`, refresh and reconcile; never automatically replay stale
131
+ intent. If a write response is lost, read progress before retrying. No push/pull
132
+ is needed for this operational state. No live-agent presence is implied.
133
+
134
+ Archived samples and approvals remain historical evidence. Context changes,
135
+ new samples, removed media and requested corrections can invalidate completion.
136
+ Report unavailable/unknown state honestly; do not assign a stage from filenames.
137
+
138
+ ## Multiple videos: one batch, isolated projects
139
+
140
+ Load this section only for multiple deliverables. Discover `batches` / editing-batch
141
+ MCP tools first. One project means one final video, not necessarily one source file.
142
+ Inspect the supplied inventory; if grouping is ambiguous, show a short visual list
143
+ of proposed titles and assigned clips for confirmation. For videos from scratch,
144
+ create one project/brief per idea through the existing project workflow. Never
145
+ silently turn ten clips of one story into ten videos. Keep originals intact.
146
+
147
+ Create the projects normally, then `batches create --file batch.json` (MCP
148
+ `create_editing_batch`). Retain a UUID batchId for retry-safe creation:
149
+
150
+ ```json
151
+ {"batchId":"UUID","name":"This week","styleMode":"series","maxConcurrency":1,"maxCredits":0,"items":[{"projectId":"first-video","maxCredits":0}],"userConfirmed":true}
152
+ ```
153
+
154
+ Confirm the grouping and ceilings with the user; start paused. Zero forbids paid
155
+ Studio generation, not local editing. `series` means a shared direction, not copied
156
+ scenes. `individual` chooses references for each story. Neither overwrites brand,
157
+ language, exclusions, review preference, project exceptions or integration access.
158
+ Reuse relevant shared context but search edited-video references for each brief;
159
+ carry the evidence into each project. Never copy a previous video's factual assets
160
+ or assume its approval transfers. Keep directories, renders and feedback separate.
161
+
162
+ Read `batches get ID` / `get_editing_batch`. Resume with `batches resume ID
163
+ --expected-revision N` / `update_editing_batch`. This enables scheduling; it does
164
+ not start a renderer or authorize spending. Work serially by default; use at most
165
+ the configured slots if the host supports independent workers and enough disk,
166
+ RAM and render capacity. Do not load every project's full context into one task.
167
+
168
+ Before work, claim ONE project using `batches claim ID --project PROJECT
169
+ --lease-token UUID` / `editing_batch_lease`. Keep that UUID for retries; another
170
+ session cannot acquire the same item. Read `check_workflow.batch` and the project's
171
+ snapshot; mark actual editing through project progress. Renew within 20 minutes
172
+ and recheck before each expensive step. Stop scheduling on pause, cancellation,
173
+ expiration or conflict. Local processes already running cannot be remotely killed
174
+ by the queue. On host shutdown work waits for another authorized session.
175
+
176
+ Studio still needs exact quotes and authorized spending. Pass `--batch-lease-token`
177
+ to `studio run` (MCP `studio_run.batchLeaseToken`). The server enforces the shared
178
+ lot ceiling, per-video ceiling and credit balance atomically. External services
179
+ have separate budgets: these limits cannot control a user's own API/MCP charges.
180
+ Read existing job IDs after unknown outcomes; never replace them with new quotes.
181
+
182
+ After registering a fresh project sample, `batches release` / lease action release
183
+ frees the turn for the next video. This does NOT approve the sample or finish the
184
+ video. On failure use `attention`, preserve outputs and continue unaffected items.
185
+ Expired turns require inspection of local outputs and paid jobs before explicit
186
+ `batches retry ID --project PROJECT --expected-revision N`. Retry resets only that
187
+ queue item; it does not regenerate, delete files or waive existing approvals.
188
+ A requested correction similarly requeues its project after pending jobs settle.
189
+ Final acceptance remains per exact video; batch completion is derived from those
190
+ individual acceptances, never inferred from all renders finishing.
191
+
192
+ Pause stops new turns/paid jobs. Cancel also prevents future resumption of that
193
+ batch; in-flight jobs may still finish and be charged. To work separately afterward,
194
+ `batches detach ID --project PROJECT --expected-revision N` removes active membership
195
+ only after the cancelled project's jobs and turn have ended. History/costs remain.
@@ -11,8 +11,10 @@ AGENTS.md Codex entry point (existing instructions prese
11
11
  CLAUDE.md Claude Code entry point (existing instructions preserved)
12
12
  .agents/skills/editorbrain/ Codex skill, contract and references
13
13
  .agents/skills/editorbrain-motion/ Codex animation skill, loaded when animating
14
+ .agents/skills/editorbrain-formats/ Codex format guides, loaded when replicating a format
14
15
  .claude/skills/editorbrain/ Claude Code skill, contract and references
15
16
  .claude/skills/editorbrain-motion/ Claude Code animation skill, loaded when animating
17
+ .claude/skills/editorbrain-formats/ Claude Code format guides, loaded when replicating a format
16
18
  .editorbrain/
17
19
  brands/<brand-id>/
18
20
  brand.md Identity, audience, constraints
@@ -90,7 +92,7 @@ Updating the global CLI does not replace skills already copied into a project. R
90
92
 
91
93
  Known unmodified release files can be upgraded; unrecognized differences are preserved as conflicts. Prepare the new version in a separate temporary directory, compare it with the project's installed copy, and merge changes while preserving custom instructions. Do not assume a successful exit means all guidance was upgraded. Root `AGENTS.md`/`CLAUDE.md` remain user-owned: if already present, use the returned skill path explicitly, or add a narrowly scoped pointer when the user asks to integrate it. There is no automatic global installation for every future project.
92
94
 
93
- CLI 0.19+ installs the core and `editorbrain-motion` together for the selected agents. `readInstructions` points to the core; its `onDemandSkills` lists specialized entry points to read only for matching tasks. Installation makes files discoverable, not proof the host refreshed its skill catalog or the agent read them. Follow the explicit path if discovery has not refreshed. Shared skill files hold production methods, never the customer's palette, personal integrations or style memory.
95
+ CLI 0.19+ installs the core and `editorbrain-motion` together for the selected agents; later versions add `editorbrain-formats`. `readInstructions` points to the core; its `onDemandSkills` lists specialized entry points to read only for matching tasks. Installation makes files discoverable, not proof the host refreshed its skill catalog or the agent read them. Follow the explicit path if discovery has not refreshed. Shared skill files hold production methods, never the customer's palette, personal integrations or style memory.
94
96
 
95
97
 
96
98
  ## Review preference
@@ -0,0 +1,51 @@
1
+ ---
2
+ name: editorbrain-formats
3
+ description: >-
4
+ Replicate a proven video format's structure in an EditorBrain edit, such as a
5
+ numbered tutorial or demonstration (hook promise, numbered steps, a visible result
6
+ for each step, presenter returns, CTA) or an aspirational list that turns personal
7
+ and ends in a demonstration. Use when the user names a format or editorial family,
8
+ asks to follow a reference's structure, or the material is a list of steps or items. Formats define structure, sync and pacing only; identity comes
9
+ from the user's resolved brand and style.
10
+ ---
11
+
12
+ # EditorBrain Formats
13
+
14
+ A format guide describes **how a kind of video is built**: its beats, what each beat must make the viewer understand, how entrances sync to speech and how to review it. It never describes how the video looks. Every user has a different identity, niche, footage and taste.
15
+
16
+ ## Reuse the active contract
17
+
18
+ Read the sibling [EditorBrain contract](../editorbrain/AGENTS.md) once in the active context, including when this skill activates directly. Reuse it if already loaded. Discover the active project and read its brief, direction, brand, style and output profile; use [first edit](../editorbrain/references/first-edit.md) if no workspace is ready. Use `resolve_project` / `editorbrain resolve <id>` and `check_workflow` / `editorbrain workflow check` for tokens, `creativeDirection`, review mode, media/audio preferences and safe areas. Reuse valid results already obtained.
19
+
20
+ ## What a format owns and what it never owns
21
+
22
+ | A format guide owns | Always resolved from the user's context |
23
+ |---|---|
24
+ | Beat order and each beat's function | Colors, fonts, logos, shapes, textures |
25
+ | Sync anchors (which spoken word triggers what) | Caption design and caption rules |
26
+ | Recurring layout grammar between beats | Sound bank, SFX taste, music, loudness |
27
+ | Failure modes and review checks for this structure | Niche examples, copy tone, language |
28
+ | Fit and misfit criteria | Output size, fps and safe areas |
29
+
30
+ Map each visual **role** a format names (headline, numeral, step label, instruction surface, emphasis, background) to resolved tokens and `design.md`. When a role has no token, decide it from the brand's existing choices, record the decision in `direction.md` and keep it consistent across the video. Never copy colors, fonts or decorations from a reference, a pilot or this guide's examples. Authentic material (footage, screenshots, product colors, real logos) keeps its own appearance.
31
+
32
+ When `creativeDirection` is `automatic` and the identity leaves room, choose freely. When the review mode asks for directions or a sample, or the user is unsure of their look, show the format's key states (hook, one chapter, one result, close) rendered on the user's real frames in 2–3 identity options before the full edit. Do this only when review mode or the user calls for it; `direct` mode proceeds.
33
+
34
+ ## Choose and adapt a format
35
+
36
+ A format is an editorial family, not a template. Choose it after inspecting the material, only when its fit criteria hold. Distinguish faithful transfer, adaptation and borrowed techniques, as the contract requires. Search the library for edited examples of the family with `search_from_brief` (describe the structure and communicative need along with relevant subject context) and inspect what you retrieve. A matching structure does not certify that every device fits this video.
37
+
38
+ The number of steps, durations, demo mechanisms and the headline's wording come from the user's script and footage. Values in a guide are measured pilot evidence, not defaults.
39
+
40
+ ## Available formats
41
+
42
+ | Format | Use when | Guide |
43
+ |---|---|---|
44
+ | Numbered tutorial / demonstration | The voice teaches N discrete steps, tips or instructions and each one can be shown working | [numbered tutorial](references/numbered-tutorial.md) |
45
+ | Aspirational list → personal experience → demonstration | The voice lists N people, tools or habits, each illustrated by strong images, then turns personal and shows how to act on it with real material | [aspirational list](references/aspirational-list-demo.md) |
46
+
47
+ Read only the guide you will use. For animated beats, also use the sibling [motion skill](../editorbrain-motion/SKILL.md); for authentic results, follow [real media](../editorbrain/references/real-media.md).
48
+
49
+ ## Adding a format
50
+
51
+ Each new guide uses the same sections: fit and misfit, skeleton with each beat's function, sync anchors, adaptation rules, identity roles, failure modes, review checklist, and evidence status (`concept`, `implemented`, `user-approved pilot`, `transfer tested`). Add it to the table above. Keep one user's taste out of the shared guide: personal choices belong in that user's brand or style files.
@@ -0,0 +1,140 @@
1
+ # Format: aspirational list → personal experience → demonstration
2
+
3
+ A narrator promises a list ("N things, people or tools that…"). Each item opens its own short block of images carrying one lesson. The list then turns personal, toward the narrator's own practice or the viewer's future self, and lands on a concrete demonstration of how to act on it. The narrator stays present as a small element over full-frame imagery instead of filling the frame.
4
+
5
+ Evidence status: one implemented, user-approved pilot (talking head, a list of five practices, Spanish, vertical, about 130 s). Its reference was a library profile of an English aspirational list of about 85 s ending in a product demo. Transfer to other niches and to voice-over-only material is untested; record the first adaptation's review.
6
+
7
+ ## Authority and adaptation
8
+
9
+ Reuse the coordinator's resolved context. This guide offers reference grammar, not a mandatory layout or an override of presenter, media, motion or accessibility preferences. In direct mode, make compatible decisions and record them; ask for a sample approval only when the resolved review mode or an unresolved user requirement calls for one.
10
+
11
+ Match visual changes to meaning; do not cut the audio to force a picture change onto a timestamp. ASR word starts are candidates to verify against playback. Short phrases may need a shared image and longer explanations may need several states.
12
+
13
+ ## Fit
14
+
15
+ Use when:
16
+
17
+ - the script enumerates items that can each be illustrated by strong images: people, tools, places, habits, products;
18
+ - the voice carries continuously (voice-over or talking head), and reducing the presenter to a small element does not lose meaning;
19
+ - the list ends in something actionable that can be shown with real material: the narrator's own practice, a configured tool, a product, a first step.
20
+
21
+ Niche examples: people to study in any field, tools for a craft, habits for a goal, places to visit, investments to understand, routines of known performers.
22
+
23
+ Avoid or adapt when:
24
+
25
+ - the items cannot be illustrated without fabricating evidence (biographical claims, results, quotes);
26
+ - the presenter's face is the content (reaction, emotion, testimony). Keep them full frame instead;
27
+ - the demonstration would promote something that does not deliver what is said. Omit the demo and keep the list.
28
+
29
+ ## Skeleton
30
+
31
+ | Beat | Function | What must be on screen |
32
+ |---|---|---|
33
+ | Hook | Promise the list and who it is for | A collage of the list's strongest visuals (one per cell), a short headline lockup over it and the presenter small over the collage |
34
+ | Item k (repeat N times) | Name the item and its lesson | Item marker (k of N plus name) and one full-frame image per idea, cut on the word that introduces it |
35
+ | Personal turn | Move from examples to the narrator or the viewer | The narrator's real material: their folders, screens, products, recordings |
36
+ | Demonstration | Show how to act on the list | Real interface or product: page scroll, configured screens, steps; the presenter may shrink, move or leave |
37
+ | CTA | The real ask | The presenter returns (full frame or small), optional recap of the N items, the CTA object |
38
+
39
+ The personal turn can be a final block or woven into every item, with each item ending on the narrator's own tool or result. The pilot wove it into every item. Choose by the script; do not force a twist the voice does not make.
40
+
41
+ ## Voice and image
42
+
43
+ - **One idea, one image.** Cut when the voice introduces a new idea, name or example (on that word), not on a timer.
44
+ - **The image answers the sentence:**
45
+ - a named tool or product: its real mark or interface at the moment it is named;
46
+ - an abstract claim: an illustrative image, labelled when it could be mistaken for evidence;
47
+ - a number: the number on screen;
48
+ - a spoken series in one sentence ("apps, documents, tables, projects"): one demo that advances on each word (scroll steps, highlighted rows).
49
+ - **Authentic material first** for anything factual: the user's own product screens, folders, repositories, dashboards and recordings. Clean captures of public pages for named products are authentic support. Hide consent overlays without accepting them, and use logged-in or private screens only when the user provided or explicitly authorized them. Retain source attribution and exclude private details unnecessary to the edit.
50
+ - **Illustrative stills** (generated or licensed) only within the media preferences and an authorized budget. Keep one coherent look across them (lighting, grade, depth) so the list reads as one piece.
51
+ - **Brand characters:** when generating a brand character or mascot, always attach the real asset as a reference; an off-model character undermines trust.
52
+ - **Do not reuse an image, capture or clip** for a different idea. A deliberate callback is the exception and must read as one.
53
+ - **The hook headline** sits directly on the collage in the reference. Keep it legible with the resolved type treatment (outline, shadow, weight) before adding a backing band; follow accessibility and the user's caption/text preferences.
54
+
55
+ ## Presenter treatment
56
+
57
+ - **Reference grammar:** the presenter is a small floating cut-out (person matte, no background, no frame) placed over each image and relocated per shot.
58
+ - Placement keeps faces, headlines, controls and the demo's key interface visible.
59
+ - Adapt to the user's presenter/layout preferences: a split layout, full-frame return, framed picture-in-picture or no presenter may fit better. A clean matte is not a requirement for using the narrative structure.
60
+ - **Matte:** generate it for the whole cut before designing. The pilot used on-device person segmentation on a static camera; other cameras and motions need verification. Apple Vision is an optional macOS implementation, not a client dependency. On other platforms use an available, authorized masking tool or an agreed layout without a matte. Do not install tools or upload private footage merely because this guide mentions segmentation.
61
+ - Check hair, hands and anything held near the body.
62
+ - If edges fail, compare the available alternatives within the user's tools, budget and data permissions; a simpler layout is acceptable.
63
+ - **Size and crop:** head to mid-torso, hands included, at about a third of the frame width in the pilot.
64
+ - **Edge treatment:** a clean crop, fades, outline or shadow is an identity choice; resolve it from preferences or ask. The pilot shipped a clean crop with a soft drop shadow.
65
+ - **Relocation:** when the presenter moves with the cut, a small settle (scale or position) can help the eye find them again; follow the resolved motion intensity.
66
+
67
+ ## Rhythm
68
+
69
+ - Measured pilot holds ranged from about 0.7 s to 6 s (median about 3 s) per image; item blocks lasted 15–31 s. These are evidence, not targets: holds follow the idea and the copy.
70
+ - A longer hold can use a slow push, page scroll or a later overlay when it helps meaning. A deliberate static hold is valid for reading or calm motion preferences.
71
+ - Cuts can land with a short push-in to give each new image energy, within the resolved motion preferences.
72
+ - Captions stay in one stable band, never under the presenter. Short phrases suit the fast image rhythm.
73
+
74
+ ## Filling the frame
75
+
76
+ Authored scenes (numbers, code or file windows, badges, logo grids) should use the chosen output frame deliberately, including square and landscape adaptations. Options include:
77
+
78
+ - a full-bleed image behind them;
79
+ - windows that span the width;
80
+ - overlays sized to be read on a phone.
81
+
82
+ A small centered element on an empty stage reads as a placeholder next to full-bleed images. Crop real captures to their most legible region (one card, one heading, one logo) instead of shrinking a whole page into a cell.
83
+
84
+ ## Identity roles to resolve
85
+
86
+ Map these roles to the user's tokens and `design.md`, never to a reference's or pilot's look:
87
+
88
+ | Role | Notes |
89
+ |---|---|
90
+ | Hook headline lockup | Dominant and accent styles, legibility treatment |
91
+ | Item marker | Numeral and item name; persistent or entering per item |
92
+ | Captions | The brand's caption rules |
93
+ | Tags on real captures | Source or explanation labels |
94
+ | Overlay cards | Numbers, badges, stamps, logo tiles |
95
+ | Grade of illustrative stills | Consistent across the video |
96
+ | Presenter edge treatment and shadow | |
97
+
98
+ ## Failure modes seen in practice
99
+
100
+ - **A framed picture-in-picture** where the reference floats a cut-out: it changes the format's look. Confirm the presenter treatment before rendering.
101
+ - **Opacity fades or backing bands** added for legibility without being asked for. Prefer type treatment, and confirm visible changes to the presenter or headline.
102
+ - **Authored scenes as small elements on an empty dark stage.**
103
+ - **The same image used in the hook, an item and a recap.**
104
+ - **Collage cells with unreadable page text.**
105
+ - **Generic stand-ins** (an unbranded laptop app) where the voice names a product: show its real mark or interface.
106
+ - **A brand character generated without its reference image**, coming out off-model.
107
+ - **The presenter covering the key element** of a real capture.
108
+ - **Consent banners left visible** on page captures.
109
+
110
+ ## Review checklist
111
+
112
+ 1. **Contact sheet:** one still per shot at its key word.
113
+ 2. **Named products:** every named product, person or tool shows its real mark or interface when named.
114
+ 3. **Reuse:** list every visual; confirm none repeats except a deliberate callback.
115
+ 4. **Presenter:** check placement per shot (nothing important covered) and matte edges on hair and hands in motion.
116
+ 5. **Frame use:** authored scenes fill the frame; overlays are readable at phone size.
117
+ 6. **Captions:** the band is stable and safe areas are respected for every element.
118
+ 7. **Labelling:** report what is authentic, illustrative and generated.
119
+ 8. **Audio:** follows the user's choices; report what was not heard.
120
+
121
+ ## Pilot evidence (example values, not defaults)
122
+
123
+ | Measure | Pilot value |
124
+ |---|---|
125
+ | Total | ≈ 130 s; hook 4.2 s; CTA 10.5 s |
126
+ | Images | 37 shots, none repeated |
127
+ | Public page captures and the narrator's own screen recordings | 14 shots |
128
+ | The narrator's own brand assets (product mascot) | 3 |
129
+ | Authored scenes built from the narrator's real data (folders, files) | 3 |
130
+ | Illustrative generated stills | 15 |
131
+ | Hook collage and full-frame presenter CTA | 2 |
132
+ | Presenter | Floating cut-out, relocated on almost every cut |
133
+
134
+ What the user approved:
135
+ - the floating cut-out;
136
+ - real product pages and the narrator's own tools as the personal experience;
137
+ - one image per idea;
138
+ - the headline set directly on a collage that shows the real brand marks of the list.
139
+
140
+ What the user corrected: a framed presenter, an opacity fade on the cut-out, a backing band behind the headline, repeated images, empty authored scenes and generic stand-ins for named products.
@@ -0,0 +1,135 @@
1
+ # Format: numbered tutorial / demonstration
2
+
3
+ A presenter promises a fixed number of steps, then teaches them one at a time. Each step is named, its instruction is shown where it would be used, and a visible result proves it works. The viewer always knows which step they are on and how many remain.
4
+
5
+ Evidence status: one implemented, user-approved pilot (talking-head creator, software instructions, Spanish, vertical). Transfer to other niches and layouts is untested; record the first adaptation's review.
6
+
7
+ ## Fit
8
+
9
+ Use when:
10
+
11
+ - the voice teaches N discrete steps, tips, rules or instructions, in order;
12
+ - each step can be **shown**: an on-screen action, a setting, a prompt, a technique, a before/after or a product doing something;
13
+ - there is a presenter or a voice that can carry a short hook and transitions.
14
+
15
+ Niche examples: recipe steps, workout cues, makeup techniques, software prompts, editing tricks, sales scripts, study methods, home repairs.
16
+
17
+ Avoid or adapt when:
18
+
19
+ - the steps cannot be visualized; a talking-head list then needs another format;
20
+ - the material is one continuous story or opinion;
21
+ - the count is vague. Never invent a number the voice does not state.
22
+
23
+ ## Skeleton
24
+
25
+ | Beat | Function | What must be on screen |
26
+ |---|---|---|
27
+ | Hook | State the pain or promise and the count | Presenter plus a designed headline lockup; the count appears when it is spoken |
28
+ | Chapter k (repeat N times) | Name step k and show its instruction | Large step numeral, step name, progress (k of N), and the instruction shown on the surface where it is used |
29
+ | Result k | Prove step k works | A demonstration that performs what the voice says, synchronized to it |
30
+ | Presenter return | Explain, react or bridge | The presenter when the function changes (opinion, why it matters, transition); not on a quota |
31
+ | CTA | Ask for the real action | Keyword or action object, optional recap of the N steps, sign-off |
32
+
33
+ Keep one chapter grammar for all N chapters so the viewer learns it once: same positions for numeral, label, progress and instruction surface. Vary the results instead.
34
+
35
+ ## Rules per beat
36
+
37
+ **Hook.**
38
+ - The headline is a designed lockup, not a caption. Typical structure: 2–3 lines with a dominant line and a contrasting accent line, plus subject marks at the line ends.
39
+ - Use the brand's type roles.
40
+ - For subject marks, use real logos, custom icons or mascots that belong to the topic. Use emoji only if the user's identity uses them.
41
+ - When the count is spoken, make it visible. If the presenter gestures it (fingers, pointing), sync the number to the gesture.
42
+ - The headline must not cover the face. If it belongs above the head and there is no room, slide the shot down and extend a plain, static background from its own edge rows (blurred, feathered seam). Otherwise place the headline over clothing or empty background.
43
+ - Optional generated lockup: only if media preferences allow generated images and the spend is authorized.
44
+ - Pass real logos as references, request a transparent background, check spelling and accents, and trim to the alpha bounds.
45
+ - Generate only the variants covered by the authorized budget; one can be enough. Treat it as one object: animate the whole lockup (pop, settle, exit), not invented sub-layers.
46
+ - Keep matching follow-up stickers (count, CTA keyword, mascot) in the same generated style.
47
+
48
+ **Chapter.**
49
+ - The numeral enters on the ordinal word ("first", "second"…). The step label follows within ~0.1–0.3 s.
50
+ - The instruction surface is a realistic container for the step: a chat prompt, recipe card, settings panel, whiteboard or product label. Use real interface captures when the step is factual; label illustrative UI as such.
51
+ - When appropriate for the resolved text and motion preferences, reveal the instruction word by word as it is spoken and emphasize its keywords. Otherwise use a readable static instruction. Coordinate this surface with captions to avoid competing duplicate text; preserve explicitly requested captions and accessibility requirements.
52
+ - If the instruction is "sent" or "applied", show that action (button press, tap) before cutting to the result.
53
+
54
+ **Result.**
55
+ - Derive the mechanism from the step's verb and object: reveal, chain, follow, transform, sync, cut, mix, stretch, compare, measure…
56
+ - Choose each result mechanism for the action being taught. Reuse a mechanism when the actions genuinely match; never force variety at the expense of clarity.
57
+ - Make the result literally do what the voice says, at the moment it says it:
58
+ - "the words appear behind an edge": the spoken words appear behind an edge.
59
+ - "this card expands": the instruction card itself expands.
60
+ - "the camera follows my hand": the frame tracks the real hand. Use pose or hand tracking when it is available; smooth the track by about ±0.3 s and clamp it to the frame.
61
+ - Use before/after when the step's value is a contrast. Replay the after state, compressed, when the voice says "look" or "like this".
62
+ - Prefer authentic footage or screen capture of the real result when the claim is factual. Authored animation is right for abstract or illustrative steps.
63
+ - When the next step's subject is an object already on screen, transform it into the next state instead of cutting. Use this only when it preserves continuity and fits the resolved motion preferences.
64
+
65
+ **Presenter return.** Return when the voice explains why a step matters, reacts or bridges. A single resolved keyword can land on the presenter; it must not duplicate the caption line under it.
66
+
67
+ **CTA.**
68
+ - Only a real CTA from the script.
69
+ - A recap of the N step names works as a save trigger when the voice says to save or remember.
70
+ - Sync any closing gesture (wave, point) to a small sign-off element.
71
+
72
+ ## Sync and pacing
73
+
74
+ - Anchor meaningful entrances to measured spoken words or visible gestures. A ±2-frame tolerance is a useful starting point for exact demonstrations, not a universal pacing rule. Read word timestamps from the transcript; do not estimate them from the script.
75
+ - Hold each state long enough to read and understand, considering copy length, language, accessibility and the resolved pace. Review unintended dead time; an intentional hold is valid and does not need decorative motion.
76
+ - Between consecutive states of one transformation, avoid unintended empty gaps. Preserve deliberate pauses that explain the result; timing follows the current material, not a fixed pilot threshold.
77
+ - Keep step count consistent everywhere: the spoken count, the headline, the chapters, the progress indicator and the recap must agree.
78
+ - Sound follows the user's audio choices, including no SFX. Tie cues to meaningful events, avoid mechanical per-letter clutter and keep any typing cues subordinate to narration.
79
+
80
+ ## Identity roles to resolve
81
+
82
+ Map these roles to the user's tokens and `design.md`; never to a reference's or pilot's palette:
83
+
84
+ | Role | Notes |
85
+ |---|---|
86
+ | Headline type | Dominant and accent styles |
87
+ | Step numeral | Display face; large |
88
+ | Step label fill and text | |
89
+ | Progress indicator | |
90
+ | Instruction surface and text | |
91
+ | Keyword emphasis | |
92
+ | Result graphics | Main object, secondary object, success state |
93
+ | Background for chapter and result beats | Footage, solid, texture or the brand's ground |
94
+ | Captions | The brand's caption rules |
95
+
96
+ ## Failure modes seen in practice
97
+
98
+ - **Absolutely positioned lines overlap** when a font or the copy changes. Lay out text in flow and measure it.
99
+ - **Mask edge mismatch.** If a text mask's clipping edge is not exactly the visible line, letters peek out below the line and read as broken. The visible edge is the clip edge.
100
+ - **A word strip placed by time overlaps** when speech is fast. Lay the words out in flow and scroll by interpolating between spoken timestamps.
101
+ - **Tiny demo objects.** Size them for a phone. Pilot minimums that worked on a 720 × 1280 logical canvas: objects ≥ 120 px, labels ≥ 40 px, buttons ≥ 160 × 84. Scale them to the output profile.
102
+ - **A dead surface between states**, such as an expanded card waiting for its contents. Start the next state immediately.
103
+ - **Rolling counters look broken in stills** when the clip window is taller than one digit. Clip to the digit height.
104
+ - **Results that only illustrate** the topic instead of performing the step.
105
+ - **The same demo template reused**, or chapters whose layout drifts.
106
+ - **A headline covering the face**, or anything outside the output profile's safe areas.
107
+
108
+ ## Review checklist
109
+
110
+ 1. **Contact sheet.** Make a still of every beat state: hook, each chapter after typing, each result at its key word, CTA.
111
+ 2. **Anchors.** For every anchor, check stills at about −0.1 / 0 / +0.1 s around the word or gesture.
112
+ 3. **Count.** Confirm the step count matches everywhere and every step has a visible result.
113
+ 4. **Variety.** Confirm each result performs its instruction; justify repeated mechanisms or deliberate variation by the action being taught.
114
+ 5. **Safe areas.** Check them for every element, not only captions, using the output profile.
115
+ 6. **Audio.** Watch the real motion, and listen or measure cue timing against the voice. Report anything not heard.
116
+ 7. **Labelling.** Report what is authentic, illustrative and generated.
117
+
118
+ ## Pilot evidence (example values, not defaults)
119
+
120
+ These measurements come from one 66 s vertical tutorial with 5 software instructions. They are examples only.
121
+
122
+ | Measure | Pilot value |
123
+ |---|---|
124
+ | Hook | 4.5 s |
125
+ | Chapter beats | 2.6–4.6 s |
126
+ | Result beats | 2–9 s |
127
+ | Presenter returns | 2–4 s |
128
+ | CTA | 6 s |
129
+
130
+ What the user approved in the pilot:
131
+ - choosing between three identity options shown on real frames before the edit;
132
+ - a generated headline with real logos and the topic's mascot instead of emoji;
133
+ - the instruction typed on the spoken words;
134
+ - results that performed each step;
135
+ - the count synced to the presenter's five-finger gesture.