Suede Clip to Guide
Build one evidence-backed path from a video moment to a deeper written asset.
Treat the clip as the attention layer and the guide as the authority layer. Do
not assume the pattern performs; test the bridge against the account baseline.
Default Success Blueprint
Use this as the recommended pattern when the rights, source, claim, platform,
and approval gates pass:
Useful guide with one promise
↓
Self-contained video moment
↓
Rights route + 8/10 moment score
↓
Clip hook + source credit + subtitles
↓
Post explains why the moment matters
↓
One explicit bridge to the guide
↓
Full Send/Fleet: dual certainty gate
↓
Exact-content approval
↓
Public readback + clip-to-guide measurement
↓
Keep, revise, or stop from the observed result
Prefer this blueprint when:
- a guide already answers the natural next question created by the clip;
- the goal is deeper understanding, bookmarks, qualified replies, leads, or
authority rather than raw views alone;
- the selected moment passes the 8/10 score and claim-support threshold;
- the rights route and current platform sequence are recorded;
- the account can observe at least one clip metric and one guide-transition or
campaign metric.
Do not use it when:
- the guide is thin, unrelated, unpublished without a stable draft, or has no
specific promise;
- the clip needs missing context, distorts the source, or exists only because
it is popular;
- third-party reuse is blocked or the accountable fair-use decision is absent;
- the platform cannot preserve the source, clip, and guide bridge in a verified
sequence;
- the idea is complete in the short post and the guide would add no depth.
For a first test, build three distinct packages only when three moments pass all
gates. Compare them with the account's recent comparable posts. Keep the pattern
only if the named guide-transition or campaign metric meets the decision rule;
revise one variable at a time when it does not.
Non-Negotiable Gates
Apply these throughout the run. Resolve rights, source, and claims before
writing copy; resolve platform, certainty, and approval before a live action:
- Rights gate — classify the video as owned, licensed, permission-recorded,
native-repost-only, fair-use-review, or blocked. Public availability is not
reuse permission.
- Source gate — obtain the video, transcript or exact timestamps, guide
draft or URL, target platform, intended account, and desired next action.
- Claim gate — trace factual claims and quotations to the source. Label
interpretations as interpretations.
- Platform gate — inspect current official requirements and the live
composer before promising that media, quote-posts, article cards, links, or
replies can be combined.
- Approval gate — do not publish, schedule, repost, upload, reply, or edit
a live article until the user approves the exact media, copy, guide, account,
and sequence.
- Certainty gate — when
suede-full-send or suede-codex-fleet controls
the run, require two distinct evidence checks before marking a package
approved or published. A worker conclusion is not the second check.
When a blocking gate fails, stop the affected action and return:
HALT — <one-line blocker>
Options:
1. <bounded resolution>
2. <bounded resolution>
3. <bounded resolution, if useful>
Waiting on: <specific evidence or approval>
Continue only on independent draft work that does not bypass the blocker.
Workflow
1. Define the funnel contract
Capture:
- campaign goal: article reads, bookmarks, qualified replies, profile visits,
leads, or another named action;
- target platform and visible posting identity;
- video source URL or file, owner, transcript availability, and candidate
timestamps;
- guide title, URL or draft, its promise, and current publication state;
- audience and one next action;
- whether the user wants a private draft, scheduled package, or live execution.
If product-marketing context exists in .agents/product-marketing.md,
.claude/product-marketing.md, or product-marketing-context.md, read it
before asking for information already covered there.
2. Choose a lawful video route
| Rights status |
Allowed route |
original |
Cut and publish within the user's approved scope. |
licensed |
Follow the license terms and record the evidence. |
permission-recorded |
Follow the exact approved platforms, duration, credit, and edit scope. |
native-repost-only |
Use the platform's native quote, repost, stitch, duet, embed, or link path. Do not download and re-upload. Treat this as an operational sharing route, not legal clearance. |
fair-use-review |
Prepare a four-factor review for commentary, criticism, news reporting, teaching, scholarship, or research. Do not label the use fair or publish until the accountable owner records the decision. |
blocked |
Do not use the footage. Offer an original commentary clip, a permission request, or a source link instead. |
For any source that is not original, licensed, or permission-recorded, read
references/third-party-video-rights.md.
Do not infer fair use, ownership, or permission. Shortness, credit, a public
source, or added commentary alone does not settle fair use. Do not remove
watermarks, attribution, or provenance. Prefer a native repost with added
analysis or create an original camera or screen-recorded response that
summarizes the idea without copying the footage.
3. Establish the guide anchor
The long-form asset must have:
- one specific promise that the clip can honestly introduce;
- a title and stable draft or URL;
- enough depth to reward the transition from short to long;
- sources for material factual claims;
- one next action that matches the campaign goal.
If the guide does not exist, return a brief and route the full draft to
suede-copy and the portfolio decision to suede-content-strategy. Resume this
skill after the guide has a reviewable draft. Do not fabricate a live URL.
4. Score candidate moments
Score each candidate from 0 to 2 on five dimensions:
| Dimension |
0 |
1 |
2 |
| Opening clarity |
Premise is missing |
Premise arrives late |
Premise is clear in 1–3 seconds |
| Standalone value |
Needs surrounding context |
Partly self-contained |
Complete useful idea or story |
| Guide bridge |
Unrelated |
Adjacent |
Naturally creates the next question the guide answers |
| Claim support |
Unverifiable or misleading |
Needs qualification |
Directly supported and correctly framed |
| Audience fit |
No named audience fit |
Broad fit |
Solves a named audience problem |
Select a moment only when it scores at least 8/10, claim support is 2, guide
bridge is 2, and the rights gate passes. If none qualify, return the scorecard
and request a better source instead of forcing a clip.
5. Build the package
Read references/package-template.md and
produce:
- Decision snapshot — goal, audience, platform, identity, and chosen
sequence.
- Source and rights record — owner, source, evidence, transcript excerpt,
permitted route, jurisdiction, and any four-factor review.
- Guide anchor — exact title, promise, URL or draft state, and the question
it answers after the clip.
- Clip brief — in/out timestamps, target duration, exact opening, subtitle
text, on-screen credit, ending bridge, and export owner.
- Funnel post — exact text with four jobs:
- hook the video moment;
- explain why it matters;
- bridge to the deeper guide;
- give one specific next action.
- Publish sequence — one of the verified patterns below.
- Measurement plan — baseline, observation window, and decision rule.
- Certainty record — execution mode, two check owners or processes,
direct evidence, contradictions, and final verdict.
- Approval bundle — exact media, post copy, guide, identity, and sequence.
Do not pad the post with generic setup, unsupported performance language, or
multiple competing calls to action.
6. Choose a verified sequence
Use one:
- Anchor-first — publish or verify the guide, then publish the clip-led post
that references it.
- Clip-first — publish the clip, then place the guide in the platform's
verified companion location, such as a first reply or supported link field.
- Native-repost — quote or repost the third-party source with original
analysis and a guide bridge; do not re-upload the source media.
Do not assume a quote-post can also carry new media. Verify the current composer
and choose the smallest sequence that preserves the clip, guide, and source
credit.
7. Run the dual certainty gate when required
Record execution_mode as standard, full-send, or codex-fleet. Standard
mode may record certainty_status: not-required. Full Send and Codex Fleet
must run both checks and may not mark a package approved or published until
certainty_status: proved. Record one package version, timestamp, or content
hash so both checks evaluate the same unchanged artifact.
Check 1 — production proof
- Reopen the video or transcript at the selected timestamps.
- Match the quotation, claim framing, rights evidence, moment score, guide
promise, bridge, exact copy, identity, sequence, and one CTA to the package.
- Run the package validator for a saved artifact.
- In Fleet mode, the Codex worker's acceptance-criteria self-check may satisfy
this check, but remains provisional.
Check 2 — independent proof
- Inspect the source evidence and assembled package directly; do not review
only Check 1's summary.
- Use a different failure lens, evidence source, or acceptance criterion and
try to disprove the rights route, factual framing, guide fit, platform
sequence, and approval readiness.
- In Full Send with useful parallel work, keep the producer and adversarial
reviewer separate. For one atomic Full Send job, perform a fresh second pass
after reloading the source evidence.
- In Fleet mode, the controller must perform this check and mark the worker
output
accepted, rejected, or fix brief. A second worker or repeated
self-check does not replace controller review.
Use only:
PROVED — both checks pass with direct evidence and every contradiction is
resolved;
UNPROVED — a check is incomplete, indirect, or disagrees with the other;
BLOCKED — access, authority, rights, or platform state prevents a required
check.
If either check is not PROVED, keep publication unapproved, use the halt
format, and name the smallest fix or evidence needed. The dual check raises
confidence; it does not guarantee truth, create legal clearance, or replace
the live readback. A material change to the media, timestamps, rights evidence,
guide, copy, identity, sequence, or CTA resets certainty_status to pending
and requires both checks again.
8. Require exact-content approval
Before a live action, show:
Account:
Platform:
Media:
Source/rights status:
Guide title and URL:
Exact post text:
Publish sequence:
Approval is valid only for that bundle. If the media, copy, guide URL, account,
or sequence changes materially, show the changed bundle and obtain approval
again. Verify the visible identity immediately before acting and fail closed on
an account mismatch, login challenge, or ambiguous composer.
9. Verify completion
For a saved package, run:
python3 scripts/validate_package.py path/to/clip-to-guide-package.md
For a live run, also read back:
- the final public permalink;
- visible posting identity;
- rendered post text and media or native source reference;
- guide URL and publication state;
- timestamp and any platform warning.
Do not claim publication from a click alone. A complete live run needs the
public readback. A draft-only run is complete when the package validator passes
and the approval state is reported as draft.
Measurement
Choose the smallest comparable window the account can support. Record:
- clip retention or completion where exposed;
- guide opens or link clicks where exposed;
- bookmarks, saves, qualified replies, and profile visits;
- the exact campaign action;
- a comparable recent baseline.
When the platform exposes compatible denominators, calculate:
guide transition rate = verified guide opens / clip-post impressions
qualified action rate = named qualified actions / verified guide opens
If compatible denominators are unavailable, report the available counts
separately. Do not combine mismatched platform windows or call clicks article
reads.
Change one variable per next test: moment, opening, bridge, sequence, or CTA.
Do not report causal lift from an unpaired or tiny sample.
Boundaries
- Do not download, clip, or re-upload third-party footage without a recorded
rights basis or an accountable fair-use decision.
- Do not give legal clearance or label uncertain reuse as fair use.
- Do not invent transcripts, timestamps, permissions, URLs, performance,
audience demand, or platform capabilities.
- Do not publish or schedule without exact-content approval and visible-identity
verification.
- Do not alter a source quote to make the hook stronger.
- Do not describe the campaign as successful until current analytics support
the named decision rule.
- Do not call a Full Send or Fleet package certain, approved, or publishable
when either required check is
UNPROVED or BLOCKED.
Routing
- Need full video editing, generation, captions, color, or exports -> use
suede-video, then return here for the funnel package.
- Need a general platform plan, calendar, listening, or engagement program ->
use
suede-social.
- Need the long-form guide written -> use
suede-copy; use
suede-content-strategy for pillars and portfolio priority.
- Need paid variants -> use
suede-ad-creative.
- Need maximum-effort orchestration -> use
suede-full-send; need a
high-volume Codex CLI batch -> use suede-codex-fleet. In either mode,
return here for the dual certainty record.
- From those skills, route a video-to-long-form bridge, moment score, rights
route, exact approval bundle, and readback back to
suede-clip-to-guide.
1---2name: suede-clip-to-guide3description: Suede-owned short-to-long content funnel blueprint. Use when turning a video, clip, interview moment, talk excerpt, screen recording, or transcript into a repeatable clip-to-guide package that bridges attention to an X Article, LinkedIn article or newsletter, blog guide, playbook, or other long-form asset; includes fit criteria, rights routing, moment scoring, a clip brief, exact post copy, publishing sequence, approval bundle, measured success loop, and a dual-evidence certainty gate when Full Send or Codex Fleet controls the run. NOT FOR: full video editing or production (use suede-video), general social calendars or listening (use suede-social), creating the long-form asset from scratch (use suede-copy and suede-content-strategy), paid ads (use suede-ad-creative), or publishing or reposting without exact-content and visible-identity approval.4---5
6# Suede Clip to Guide
7
8Build one evidence-backed path from a video moment to a deeper written asset.
9Treat the clip as the attention layer and the guide as the authority layer. Do
10not assume the pattern performs; test the bridge against the account baseline.
11
12## Default Success Blueprint
13
14Use this as the recommended pattern when the rights, source, claim, platform,
15and approval gates pass:
16
17```text
18Useful guide with one promise
19 ↓
20Self-contained video moment
21 ↓
22Rights route + 8/10 moment score
23 ↓
24Clip hook + source credit + subtitles
25 ↓
26Post explains why the moment matters
27 ↓
28One explicit bridge to the guide
29 ↓
30Full Send/Fleet: dual certainty gate
31 ↓
32Exact-content approval
33 ↓
34Public readback + clip-to-guide measurement
35 ↓
36Keep, revise, or stop from the observed result
37```
38
39Prefer this blueprint when:
40
41- a guide already answers the natural next question created by the clip;
42- the goal is deeper understanding, bookmarks, qualified replies, leads, or
43 authority rather than raw views alone;
44- the selected moment passes the 8/10 score and claim-support threshold;
45- the rights route and current platform sequence are recorded;
46- the account can observe at least one clip metric and one guide-transition or
47 campaign metric.
48
49Do not use it when:
50
51- the guide is thin, unrelated, unpublished without a stable draft, or has no
52 specific promise;
53- the clip needs missing context, distorts the source, or exists only because
54 it is popular;
55- third-party reuse is blocked or the accountable fair-use decision is absent;
56- the platform cannot preserve the source, clip, and guide bridge in a verified
57 sequence;
58- the idea is complete in the short post and the guide would add no depth.
59
60For a first test, build three distinct packages only when three moments pass all
61gates. Compare them with the account's recent comparable posts. Keep the pattern
62only if the named guide-transition or campaign metric meets the decision rule;
63revise one variable at a time when it does not.
64
65## Non-Negotiable Gates
66
67Apply these throughout the run. Resolve rights, source, and claims before
68writing copy; resolve platform, certainty, and approval before a live action:
69
701. **Rights gate** — classify the video as owned, licensed, permission-recorded,
71 native-repost-only, fair-use-review, or blocked. Public availability is not
72 reuse permission.
732. **Source gate** — obtain the video, transcript or exact timestamps, guide
74 draft or URL, target platform, intended account, and desired next action.
753. **Claim gate** — trace factual claims and quotations to the source. Label
76 interpretations as interpretations.
774. **Platform gate** — inspect current official requirements and the live
78 composer before promising that media, quote-posts, article cards, links, or
79 replies can be combined.
805. **Approval gate** — do not publish, schedule, repost, upload, reply, or edit
81 a live article until the user approves the exact media, copy, guide, account,
82 and sequence.
836. **Certainty gate** — when `suede-full-send` or `suede-codex-fleet` controls
84 the run, require two distinct evidence checks before marking a package
85 approved or published. A worker conclusion is not the second check.
86
87When a blocking gate fails, stop the affected action and return:
88
89```text
90HALT — <one-line blocker>
91Options:
921. <bounded resolution>
932. <bounded resolution>
943. <bounded resolution, if useful>
95Waiting on: <specific evidence or approval>
96```
97
98Continue only on independent draft work that does not bypass the blocker.
99
100## Workflow
101
102### 1. Define the funnel contract
103
104Capture:
105
106- campaign goal: article reads, bookmarks, qualified replies, profile visits,
107 leads, or another named action;
108- target platform and visible posting identity;
109- video source URL or file, owner, transcript availability, and candidate
110 timestamps;
111- guide title, URL or draft, its promise, and current publication state;
112- audience and one next action;
113- whether the user wants a private draft, scheduled package, or live execution.
114
115If product-marketing context exists in `.agents/product-marketing.md`,
116`.claude/product-marketing.md`, or `product-marketing-context.md`, read it
117before asking for information already covered there.
118
119### 2. Choose a lawful video route
120
121| Rights status | Allowed route |
122|---|---|
123| `original` | Cut and publish within the user's approved scope. |
124| `licensed` | Follow the license terms and record the evidence. |
125| `permission-recorded` | Follow the exact approved platforms, duration, credit, and edit scope. |
126| `native-repost-only` | Use the platform's native quote, repost, stitch, duet, embed, or link path. Do not download and re-upload. Treat this as an operational sharing route, not legal clearance. |
127| `fair-use-review` | Prepare a four-factor review for commentary, criticism, news reporting, teaching, scholarship, or research. Do not label the use fair or publish until the accountable owner records the decision. |
128| `blocked` | Do not use the footage. Offer an original commentary clip, a permission request, or a source link instead. |
129
130For any source that is not original, licensed, or permission-recorded, read
131[references/third-party-video-rights.md](references/third-party-video-rights.md).
132Do not infer fair use, ownership, or permission. Shortness, credit, a public
133source, or added commentary alone does not settle fair use. Do not remove
134watermarks, attribution, or provenance. Prefer a native repost with added
135analysis or create an original camera or screen-recorded response that
136summarizes the idea without copying the footage.
137
138### 3. Establish the guide anchor
139
140The long-form asset must have:
141
142- one specific promise that the clip can honestly introduce;
143- a title and stable draft or URL;
144- enough depth to reward the transition from short to long;
145- sources for material factual claims;
146- one next action that matches the campaign goal.
147
148If the guide does not exist, return a brief and route the full draft to
149`suede-copy` and the portfolio decision to `suede-content-strategy`. Resume this
150skill after the guide has a reviewable draft. Do not fabricate a live URL.
151
152### 4. Score candidate moments
153
154Score each candidate from 0 to 2 on five dimensions:
155
156| Dimension | 0 | 1 | 2 |
157|---|---|---|---|
158| Opening clarity | Premise is missing | Premise arrives late | Premise is clear in 1–3 seconds |
159| Standalone value | Needs surrounding context | Partly self-contained | Complete useful idea or story |
160| Guide bridge | Unrelated | Adjacent | Naturally creates the next question the guide answers |
161| Claim support | Unverifiable or misleading | Needs qualification | Directly supported and correctly framed |
162| Audience fit | No named audience fit | Broad fit | Solves a named audience problem |
163
164Select a moment only when it scores at least 8/10, claim support is 2, guide
165bridge is 2, and the rights gate passes. If none qualify, return the scorecard
166and request a better source instead of forcing a clip.
167
168### 5. Build the package
169
170Read [references/package-template.md](references/package-template.md) and
171produce:
172
1731. **Decision snapshot** — goal, audience, platform, identity, and chosen
174 sequence.
1752. **Source and rights record** — owner, source, evidence, transcript excerpt,
176 permitted route, jurisdiction, and any four-factor review.
1773. **Guide anchor** — exact title, promise, URL or draft state, and the question
178 it answers after the clip.
1794. **Clip brief** — in/out timestamps, target duration, exact opening, subtitle
180 text, on-screen credit, ending bridge, and export owner.
1815. **Funnel post** — exact text with four jobs:
182 - hook the video moment;
183 - explain why it matters;
184 - bridge to the deeper guide;
185 - give one specific next action.
1866. **Publish sequence** — one of the verified patterns below.
1877. **Measurement plan** — baseline, observation window, and decision rule.
1888. **Certainty record** — execution mode, two check owners or processes,
189 direct evidence, contradictions, and final verdict.
1909. **Approval bundle** — exact media, post copy, guide, identity, and sequence.
191
192Do not pad the post with generic setup, unsupported performance language, or
193multiple competing calls to action.
194
195### 6. Choose a verified sequence
196
197Use one:
198
199- **Anchor-first** — publish or verify the guide, then publish the clip-led post
200 that references it.
201- **Clip-first** — publish the clip, then place the guide in the platform's
202 verified companion location, such as a first reply or supported link field.
203- **Native-repost** — quote or repost the third-party source with original
204 analysis and a guide bridge; do not re-upload the source media.
205
206Do not assume a quote-post can also carry new media. Verify the current composer
207and choose the smallest sequence that preserves the clip, guide, and source
208credit.
209
210### 7. Run the dual certainty gate when required
211
212Record `execution_mode` as `standard`, `full-send`, or `codex-fleet`. Standard
213mode may record `certainty_status: not-required`. Full Send and Codex Fleet
214must run both checks and may not mark a package `approved` or `published` until
215`certainty_status: proved`. Record one package version, timestamp, or content
216hash so both checks evaluate the same unchanged artifact.
217
218**Check 1 — production proof**
219
220- Reopen the video or transcript at the selected timestamps.
221- Match the quotation, claim framing, rights evidence, moment score, guide
222 promise, bridge, exact copy, identity, sequence, and one CTA to the package.
223- Run the package validator for a saved artifact.
224- In Fleet mode, the Codex worker's acceptance-criteria self-check may satisfy
225 this check, but remains provisional.
226
227**Check 2 — independent proof**
228
229- Inspect the source evidence and assembled package directly; do not review
230 only Check 1's summary.
231- Use a different failure lens, evidence source, or acceptance criterion and
232 try to disprove the rights route, factual framing, guide fit, platform
233 sequence, and approval readiness.
234- In Full Send with useful parallel work, keep the producer and adversarial
235 reviewer separate. For one atomic Full Send job, perform a fresh second pass
236 after reloading the source evidence.
237- In Fleet mode, the controller must perform this check and mark the worker
238 output `accepted`, `rejected`, or `fix brief`. A second worker or repeated
239 self-check does not replace controller review.
240
241Use only:
242
243- `PROVED` — both checks pass with direct evidence and every contradiction is
244 resolved;
245- `UNPROVED` — a check is incomplete, indirect, or disagrees with the other;
246- `BLOCKED` — access, authority, rights, or platform state prevents a required
247 check.
248
249If either check is not `PROVED`, keep publication unapproved, use the halt
250format, and name the smallest fix or evidence needed. The dual check raises
251confidence; it does not guarantee truth, create legal clearance, or replace
252the live readback. A material change to the media, timestamps, rights evidence,
253guide, copy, identity, sequence, or CTA resets `certainty_status` to `pending`
254and requires both checks again.
255
256### 8. Require exact-content approval
257
258Before a live action, show:
259
260```text
261Account:
262Platform:
263Media:
264Source/rights status:
265Guide title and URL:
266Exact post text:
267Publish sequence:
268```
269
270Approval is valid only for that bundle. If the media, copy, guide URL, account,
271or sequence changes materially, show the changed bundle and obtain approval
272again. Verify the visible identity immediately before acting and fail closed on
273an account mismatch, login challenge, or ambiguous composer.
274
275### 9. Verify completion
276
277For a saved package, run:
278
279```bash
280python3 scripts/validate_package.py path/to/clip-to-guide-package.md
281```
282
283For a live run, also read back:
284
285- the final public permalink;
286- visible posting identity;
287- rendered post text and media or native source reference;
288- guide URL and publication state;
289- timestamp and any platform warning.
290
291Do not claim publication from a click alone. A complete live run needs the
292public readback. A draft-only run is complete when the package validator passes
293and the approval state is reported as `draft`.
294
295## Measurement
296
297Choose the smallest comparable window the account can support. Record:
298
299- clip retention or completion where exposed;
300- guide opens or link clicks where exposed;
301- bookmarks, saves, qualified replies, and profile visits;
302- the exact campaign action;
303- a comparable recent baseline.
304
305When the platform exposes compatible denominators, calculate:
306
307```text
308guide transition rate = verified guide opens / clip-post impressions
309qualified action rate = named qualified actions / verified guide opens
310```
311
312If compatible denominators are unavailable, report the available counts
313separately. Do not combine mismatched platform windows or call clicks article
314reads.
315
316Change one variable per next test: moment, opening, bridge, sequence, or CTA.
317Do not report causal lift from an unpaired or tiny sample.
318
319## Boundaries
320
321- Do not download, clip, or re-upload third-party footage without a recorded
322 rights basis or an accountable fair-use decision.
323- Do not give legal clearance or label uncertain reuse as fair use.
324- Do not invent transcripts, timestamps, permissions, URLs, performance,
325 audience demand, or platform capabilities.
326- Do not publish or schedule without exact-content approval and visible-identity
327 verification.
328- Do not alter a source quote to make the hook stronger.
329- Do not describe the campaign as successful until current analytics support
330 the named decision rule.
331- Do not call a Full Send or Fleet package certain, approved, or publishable
332 when either required check is `UNPROVED` or `BLOCKED`.
333
334## Routing
335
336- Need full video editing, generation, captions, color, or exports -> use
337 `suede-video`, then return here for the funnel package.
338- Need a general platform plan, calendar, listening, or engagement program ->
339 use `suede-social`.
340- Need the long-form guide written -> use `suede-copy`; use
341 `suede-content-strategy` for pillars and portfolio priority.
342- Need paid variants -> use `suede-ad-creative`.
343- Need maximum-effort orchestration -> use `suede-full-send`; need a
344 high-volume Codex CLI batch -> use `suede-codex-fleet`. In either mode,
345 return here for the dual certainty record.
346- From those skills, route a video-to-long-form bridge, moment score, rights
347 route, exact approval bundle, and readback back to `suede-clip-to-guide`.