cueframe 0.1.2 → 0.2.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/dist/analyze-6ETMHDG5.js +2 -0
- package/dist/chunk-JHOJIRD5.js +12 -0
- package/dist/cueframe.js +41 -38
- package/package.json +1 -1
- package/skills/composing-video/SKILL.md +442 -0
- package/skills/cueframe-brand-demo/SKILL.md +6 -6
- package/skills/cueframe-component-authoring/SKILL.md +3 -3
- package/skills/cueframe-storyboard/SKILL.md +96 -0
- package/dist/analyze-CN3MXICA.js +0 -2
- package/dist/chunk-ZBD4U6PD.js +0 -12
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cueframe-storyboard
|
|
3
|
+
description: Use BEFORE composing when starting a NEW video from scratch and you need to plan its structure — turning a rough ask ("make a launch video", "30s promo", "an explainer for our API") into a concrete beat flow. Owns the intake + storyboard step: interview the user for the brief, resolve the format from the platform, and lay out the hook→body→cta beats that drive the compose workflow. Triggers on "plan a video", "storyboard", "structure this video", "outline the video", "where do I start", or any new-video ask that has no structure yet. Hand off to composing-video for per-beat craft.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# CueFrame Storyboard: brief → flow
|
|
7
|
+
|
|
8
|
+
## The one idea
|
|
9
|
+
|
|
10
|
+
**You are the planner.** You have the user, the whole conversation, the brand, and the judgment — you are
|
|
11
|
+
the smartest thing in this loop. CueFrame is the hands. This skill is the **intake + structure** step:
|
|
12
|
+
turn intent into a concrete **beat flow** *before* you seed a composition, so the curated workflow (media →
|
|
13
|
+
components → seed) executes a plan instead of a guess. Craft — grounded-vs-slop, the verify loop — belongs
|
|
14
|
+
to the sibling **composing-video** skill; this skill gets you a flow, then hands off to it.
|
|
15
|
+
|
|
16
|
+
Do not offload the *thinking* to CueFrame. There is no server that plans the video for you, and you would
|
|
17
|
+
not want one — it would be a blind model with none of your context. Plan here, in the open, with the user.
|
|
18
|
+
|
|
19
|
+
## 1. Interview for the brief — ask only what you can't infer
|
|
20
|
+
|
|
21
|
+
Fill the brief from the conversation first; ask the user **only for the 1–2 things you genuinely cannot
|
|
22
|
+
infer**, and STATE what you assume for the rest. Never wall them with a form.
|
|
23
|
+
|
|
24
|
+
- **Goal / intent** *(required)* — what is this video FOR? launch, promo, explainer, demo, teaser, recap.
|
|
25
|
+
- **Platform** *(sets the format)* — reels / tiktok / shorts → **9:16, ~20s** · youtube → **16:9, ~45s** ·
|
|
26
|
+
linkedin / x → **1:1, ~20s** · web → **16:9, ~30s**. (Or an explicit aspect ratio + duration.)
|
|
27
|
+
- **Audience**, **tone** (punchy / premium-calm / playful / authoritative), **CTA**, **must-includes**
|
|
28
|
+
(a number, a name, a screen), **references** (a style to echo), **brand kit**.
|
|
29
|
+
|
|
30
|
+
If the ask is "make a launch video for our API," you already have goal + a hint of audience — ask "Reels,
|
|
31
|
+
YouTube, or your site?" and infer the rest: *"I'll assume a developer audience and a punchy tone — say if
|
|
32
|
+
you'd rather it feel calm/premium."* One or two questions, not seven.
|
|
33
|
+
|
|
34
|
+
## 2. Structure the flow — the storyboard
|
|
35
|
+
|
|
36
|
+
Lay the duration into **beats** using the fixed editorial vocabulary
|
|
37
|
+
**hook → context → body → proof → cta → outro** (use what the piece needs — most short-form is
|
|
38
|
+
hook → body → cta). For each beat decide:
|
|
39
|
+
|
|
40
|
+
- a one-line **intent** (what this beat does for the viewer),
|
|
41
|
+
- a **duration** (they sum to the target; the hook earns attention in ~3s),
|
|
42
|
+
- a **media need** — real footage is the strongest grounding and CueFrame's home turf, so reach for it
|
|
43
|
+
first; otherwise `generate` a *purposeful* clip (a diagram of the real mechanism, the real UI) or `find`
|
|
44
|
+
stock. Animated text over a gradient is not grounding — it's the slop default,
|
|
45
|
+
- an optional **graphic** (a lower-third, title, CTA card),
|
|
46
|
+
- a **caption** and/or a **VO/script** line.
|
|
47
|
+
|
|
48
|
+
**Ground it, don't invent it.** Pick every graphic/scene from `list_catalog` (filter by `useCase`/`tier`)
|
|
49
|
+
— never hardcode hex or positions or name a component that doesn't exist. Theme from the brand kit. If
|
|
50
|
+
you're planning over real footage, read `get_media_context` (detected faces + transcript) so beat timing,
|
|
51
|
+
crops, and captions land on what's actually there.
|
|
52
|
+
|
|
53
|
+
## 3. Show the flow, then persist it as a Brief
|
|
54
|
+
|
|
55
|
+
Show the user the beat list **first** — a five-line outline. It is cheap to change here and expensive to
|
|
56
|
+
change after a render, so this is where you converge on structure. On their go, **persist the plan with
|
|
57
|
+
`create_brief`** — the beats/goal/format/gates you just elicited map 1:1 onto its fields, and the plan stops
|
|
58
|
+
being chat-ephemeral (it survives the session, carries a cost quote, and is honored field-by-field):
|
|
59
|
+
|
|
60
|
+
1. `import_media` / `generate_media` for each beat's media need,
|
|
61
|
+
2. `create_brief` — goal, audience, platform/format, durationSec, tone, cta, locale, and the beats
|
|
62
|
+
(each with its editorial intent and, when you're cutting real footage, MOMENT PINNING
|
|
63
|
+
`source: {mediaId, startSec, endSec}` from the transcript — honored to-the-frame or refused).
|
|
64
|
+
Relay the response's **quote** (compose + estimated render) BEFORE composing.
|
|
65
|
+
3. `compose { briefId }` — the Director authors FROM your brief; every field is honored or the
|
|
66
|
+
compose is refused loudly naming the field. Gates: put `holdAt: ["layout"]` in the brief's `gates` when
|
|
67
|
+
the user wants to approve the storyboard mid-flight; `autoApprove: true` for hands-off.
|
|
68
|
+
4. `score_composition` / `consult` to fix the weakest beat,
|
|
69
|
+
5. `create_render` for the MP4.
|
|
70
|
+
|
|
71
|
+
**Two graphic media — pick per beat, and review accordingly:** a `card` (verbatim HTML in
|
|
72
|
+
`seededGraphics`) is a STATIC graphic — cheap, approve it from a still; a **component**
|
|
73
|
+
(`create_component`, `useCurrentFrame`) is MOTION — a still is one frame, so preview it before trusting it.
|
|
74
|
+
Seeded graphics you author into the brief are carried VERBATIM as locked clips — the Director never
|
|
75
|
+
re-authors them; `exclusions` bans graphic kinds you never want it to author.
|
|
76
|
+
|
|
77
|
+
Then load **composing-video** and apply its craft to make each beat good.
|
|
78
|
+
|
|
79
|
+
## Related skills & positioning
|
|
80
|
+
|
|
81
|
+
This skill owns **structure/intake**; its siblings own execution and craft — defer to them:
|
|
82
|
+
|
|
83
|
+
- **composing-video** — the craft/quality layer (grounded specificity vs. slop, the vision → rubric →
|
|
84
|
+
verify loop). Load it *after* you have a flow; it makes each beat good.
|
|
85
|
+
- **cueframe-compose-loop** — the author → render → verify → fix convergence loop + the ship bar.
|
|
86
|
+
- **cueframe-product-video** — click-points → auto-zoom tiling + PiP for screen demos.
|
|
87
|
+
- **cueframe-brand-demo** — brand-token vocabulary + auto intro/outro/logo for branded launches.
|
|
88
|
+
- **cueframe-component-authoring** — fork → preview → push for a custom graphic a beat needs.
|
|
89
|
+
- **cueframe-cli** — the `cueframe` binary + wire mechanics.
|
|
90
|
+
|
|
91
|
+
## The boundary
|
|
92
|
+
|
|
93
|
+
You own the **vision** (the one idea and the flow for *this* video) and **data correctness** (a wrong
|
|
94
|
+
number you supply is rendered faithfully — the mistake is yours). CueFrame owns being faithful, legible,
|
|
95
|
+
and giving you real footage + real components to plan against. Reason from this; skip the whole flow only
|
|
96
|
+
for a re-render of an approved composition or a single trivial one-off.
|
package/dist/analyze-CN3MXICA.js
DELETED