FLUX 3 Prompt Doctor
Resolve the decisions that change routing, payload, or production method before a brief
becomes a prompt. Ask only blocking questions; use documented defaults or label
assumptions for everything else. Preserve the user's product names, exact copy, source
roles, and hard constraints verbatim. This skill does not write the final prompt or
call the API.
Route by what must survive
Every request names its mode and carries the matching media field:
| Requirement |
Route |
| Generate the whole clip from words |
mode: "t2v", no media |
| An image must appear on screen exactly as shot |
mode: "i2v", keyframes |
| Bridge an exact opening and closing frame |
mode: "i2v", two keyframes |
| Pass through visual waypoints |
mode: "i2v", keyframes as a storyboard |
| Continue from an existing ending |
mode: "v2v", start_video |
| Render an approved draft without replanning |
mode: "draft_enhance", draft_cache |
Two questions separate the image routes: must these exact pixels be on screen
(keyframes)? Can the source simply be described (then attach nothing)? There is no
field that carries a subject's identity without putting the source on screen; a brief
that needs one either opens each shot from a keyframe containing the subject, or is a
REVISE.
Feasibility
Action budget: one subject action and one camera move per short clip. Revise
briefs demanding many sequential actions, several locations, exact mechanisms, or
multiple full dialogue lines.
Shot structure: state one continuous unbroken take, or an explicit sequence:
SHOT ONE: wide aerial of a desert highway at dawn, a single red car speeding through.
HARD CUT. SHOT TWO: interior close-up, the driver's hands drumming the wheel to the radio.
HARD CUT. SHOT THREE: from the roadside, the car shrinking into the heat haze.
Warm engine hum under one continuous music bed across all three shots.
Consecutive shots must contrast hard (scale, location, color) or the cut blends into
a continuous take; each shot needs its own beat; one music bed can run across cuts.
Contradictions to catch: locked-off camera plus tracking; extreme close-up plus
establishing view; exact frame preservation plus major geometric change; one
continuous shot plus hard cuts; production-critical generated typography with no
post fallback; guaranteed speaker identity across separate generations.
Reserve for deterministic post when exactness is a success condition:
typography, subtitles, logos; frame-accurate sync; final mixing; precise mechanisms;
cross-generation speaker identity. Generation creates footage and causal intent, not
a compositor or final mix.
Verdict
Return exactly one state, with a reason, next action, and a compact handoff
(templates/brief.md when it should be reusable):
- READY: route, assumptions, handoff. Recommend a draft first when the concept is
unproven.
- NEEDS INFO: only the blocking questions.
- REVISE: name the conflict and the minimum repair.
Non-blocking warnings go under Production risks, not a fourth state. Field names
and limits belong to the API reference; flag intent conflicts
and leave schema validation to flux-3-generate.
1---2name: flux-3-prompt-doctor3description: Use when diagnosing a FLUX 3 brief before generation. Resolve missing, conflicting, or schema-changing requirements.4---5
6# FLUX 3 Prompt Doctor
7
8Resolve the decisions that change routing, payload, or production method before a brief
9becomes a prompt. Ask only blocking questions; use documented defaults or label
10assumptions for everything else. Preserve the user's product names, exact copy, source
11roles, and hard constraints verbatim. This skill does not write the final prompt or
12call the API.
13
14## Route by what must survive
15
16Every request names its `mode` and carries the matching media field:
17
18| Requirement | Route |
19| --- | --- |
20| Generate the whole clip from words | `mode: "t2v"`, no media |
21| An image must appear on screen exactly as shot | `mode: "i2v"`, `keyframes` |
22| Bridge an exact opening and closing frame | `mode: "i2v"`, two keyframes |
23| Pass through visual waypoints | `mode: "i2v"`, keyframes as a storyboard |
24| Continue from an existing ending | `mode: "v2v"`, `start_video` |
25| Render an approved draft without replanning | `mode: "draft_enhance"`, `draft_cache` |
26
27Two questions separate the image routes: must these exact pixels be on screen
28(`keyframes`)? Can the source simply be described (then attach nothing)? There is no
29field that carries a subject's identity without putting the source on screen; a brief
30that needs one either opens each shot from a keyframe containing the subject, or is a
31`REVISE`.
32
33## Feasibility
34
35- **Action budget:** one subject action and one camera move per short clip. Revise
36 briefs demanding many sequential actions, several locations, exact mechanisms, or
37 multiple full dialogue lines.
38- **Shot structure:** state one continuous unbroken take, or an explicit sequence:
39
40 ```text
41 SHOT ONE: wide aerial of a desert highway at dawn, a single red car speeding through.
42 HARD CUT. SHOT TWO: interior close-up, the driver's hands drumming the wheel to the radio.
43 HARD CUT. SHOT THREE: from the roadside, the car shrinking into the heat haze.
44 Warm engine hum under one continuous music bed across all three shots.
45 ```
46
47 Consecutive shots must contrast hard (scale, location, color) or the cut blends into
48 a continuous take; each shot needs its own beat; one music bed can run across cuts.
49- **Contradictions to catch:** locked-off camera plus tracking; extreme close-up plus
50 establishing view; exact frame preservation plus major geometric change; one
51 continuous shot plus hard cuts; production-critical generated typography with no
52 post fallback; guaranteed speaker identity across separate generations.
53- **Reserve for deterministic post** when exactness is a success condition:
54 typography, subtitles, logos; frame-accurate sync; final mixing; precise mechanisms;
55 cross-generation speaker identity. Generation creates footage and causal intent, not
56 a compositor or final mix.
57
58## Verdict
59
60Return exactly one state, with a reason, next action, and a compact handoff
61([templates/brief.md](templates/brief.md) when it should be reusable):
62
63- **READY**: route, assumptions, handoff. Recommend a draft first when the concept is
64 unproven.
65- **NEEDS INFO**: only the blocking questions.
66- **REVISE**: name the conflict and the minimum repair.
67
68Non-blocking warnings go under **Production risks**, not a fourth state. Field names
69and limits belong to the [API reference](https://docs.bfl.ai); flag intent conflicts
70and leave schema validation to `flux-3-generate`.