# AutoShorts Director Production Skill v1

This document is mandatory for every real Dashboard production run. It is referenced by `/api/agent/production/next` as `director_skill.doc`.

## Core principle

A video is not review-ready because an MP4 exists. A video is review-ready only after:

```text
Concept approved
→ Director Visual Plan
→ Premium text-free styleframes
→ Styleframe QA passed
→ Gianna voice QA passed
→ Hook/retention gate passed
→ Metadata/safety/package gates passed
→ quality.overall = passed
→ Dashboard review
```

## Hook rules

- First 0.5–1.0 seconds must show the concrete red flag.
- No slow intros.
- No generic explanations such as “Courier chatbot scam explained”.
- Use a direct, concrete hook: `If a delivery chatbot asks for your card, stop.`
- Pattern interrupt in the first 1–2 seconds.
- Visual change every 2–3 seconds.
- End with one safer move that a normal person can actually do.
- Required hook score: `>= 8/10`.

## Visual rules

### Required for real review videos

- 3–5 premium AI-generated, text-free styleframes.
- Scene 1: strong first-frame hook.
- Scene 2: mechanism visible.
- Scene 3: risk/red flag visible.
- Scene 4: safer move / solution.
- Optional scene 5: clean ending / CTA.
- 9:16 composition.
- Strong first second.
- Premium lighting, materiality, atmosphere, credible UI/world context.
- Renderer-owned captions, labels and safe UI text only after styleframe QA.
- Renderer-owned text must be listed in `quality.renderer_owned_text` or `visual_qa.renderer_owned_text`.
- No large top titles such as `tiny fee = bait`.
- No persistent top banners.
- No unnecessary lower-third dimming panels; use only minimal caption background/outline/shadow needed for readability.
- No AI-generated readable text inside the image.
- No real brands/logos, URLs, phone numbers, bank/card/IBAN data or private data.
- Controlled motion: zoom, crop, parallax, or approved I2V.
- Visual continuity across scenes.

### Forbidden for real review videos

- PowerPoint/template look.
- Large in-video top titles.
- Persistent top banners.
- Unnecessary lower-third dimming or dark panels.
- Simple shapes on backgrounds.
- Generic icons.
- Static text cards.
- Grey test previews.
- Pure Pillow/deterministic layouts as final look.
- AI-generated text in image.
- Bad fake UI readability.
- Black/empty frames.
- Visible artefacts.

Pillow/deterministic layouts may be used only as rough mechanism blueprints, not as final review visuals.

## Director Visual Plan

Before styleframes, write a Director Plan with:

- core mechanism;
- visual metaphor;
- scene list;
- startframe idea;
- pattern interrupts;
- motion plan;
- text/overlay plan;
- risk analysis for brands, URLs, phone numbers, payment/bank data and scam operationalization.

## Styleframe prompt rules

- Prompt for realistic/premium scene, not for instructional slides.
- Specify text-free image.
- Specify no logos, no readable brand marks, no real domains, no phone/card/bank data.
- Use concrete everyday setting: phone in hand, delivery chat context, desk, package, browser/app scene.
- Keep critical UI/captions renderer-owned.
- Reject any image with baked readable text unless explicitly intended as non-real abstract texture and unreadable.

## Styleframe QA

Pass only if:

- not generic;
- not PowerPoint/template-like;
- no readable AI text;
- no real brand/logo;
- no real URL/phone/payment/bank/private data;
- scam situation is visually clear;
- scene 1 has strong first-second recognition.

If failed: regenerate styleframes. Do not continue with bad frames.

## Voice-over rules

- Use approved Gianna premium female reference clone v1 for real renders.
- Finalize script before TTS.
- Generate 2–3 takes.
- Normalize audio.
- Transcribe with Whisper / forced alignment.
- Compare transcript to script.
- Required WER target: `<= 2–3%`.
- No wrong critical keywords.
- No missing hook or safer-move words.
- No clipped syllables.
- No audible clicks, peaks or glitches.

Required package file:

```text
voice_qa.json
```

## Render rules

- Build render only after Director Plan and styleframe QA passed.
- Captions/labels are renderer-owned.
- Use stable readable subtitles; do not show AI-generated text as source of truth.
- Controlled motion only; no shake/vibration/wobble unless deliberately approved.
- Final Wan/I2V render requires separate explicit approval if it is expensive/final.

## Required package reports

Each production package must include:

```text
production_report.json
quality_report.json
voice_qa.json
visual_qa.json
```

Manifest must include:

```json
{
  "quality": {
    "visual_gate": "passed",
    "voice_gate": "passed",
    "hook_gate": "passed",
    "metadata_gate": "passed",
    "safety_gate": "passed",
    "package_integrity_gate": "passed",
    "overall": "passed",
    "checks": {
      "premium_ai_styleframes_used": true,
      "styleframes_text_free": true,
      "no_large_top_title": true,
      "no_unnecessary_lower_third_dim": true,
      "no_powerpoint_layout": true,
      "renderer_owned_text_listed": true
    },
    "renderer_owned_text": ["caption line 1", "small label 1"]
  }
}
```

If `quality.overall != passed`, status must be `needs_internal_fix` or `quality_failed`, not `ready_for_review`.

## Rejection criteria

Reject or request changes if any of these occur:

- Visuals look like PowerPoint/template/test-render.
- Voice contains pronunciation or speech errors.
- First second is unclear or slow.
- Hook score below 8/10.
- Missing quality reports.
- Unsafe/real brand, URL, phone, payment or private data visible.
- Metadata missing.
- Package cannot be imported/played reliably.

## Chat correction workflow after rejection

When the creator asks to correct an rejected package:

1. Find VideoAsset by package/video id.
2. Read ReviewDecision and RevisionRequest.
3. Find linked ProductionQueueItem.
4. Propose a revised concept in chat.
5. Wait for explicit approval.
6. Re-run the full Director Quality Workflow.
7. Import only if `quality.overall = passed`.
