Files
OpenMontage/skills/meta/creative-intake.md
T
calesthio 2cd36fa8e0 Implementation spec: governance, decision intelligence, theme system, and E2E bug fixes
Implements the 2026-04-02 transformation spec (Phases 1-8) and fixes all
critical bugs found during 5-pipeline E2E testing.

Governance & Decision Intelligence:
- Pipeline-specific stage order in checkpoint (replaces global STAGES list)
- Provider scoring engine (lib/scoring.py) with 7-dimension weighted ranking
- Decision log artifact enforced at proposal/idea stage across all 10 pipelines
- Delivery promise classifier prevents silent motion-to-still downgrades
- Structured shot language in scene_plan schema (camera, lens, lighting, DOF)
- Variation checker and slideshow risk scorer block samey output before render
- Creative intake, capability extension, and creative-intake meta skills
- Final self-review artifact with 5 mandatory checks before presenting output
- Source media review contract for user-supplied footage

Render & Theme System:
- Remotion AnimatedBackground now derives colors from playbook (no more hardcoded
  dark blue fintech gradient on every video)
- video_compose builds custom ThemeConfig from playbook YAML colors/fonts —
  custom playbooks flow through to Remotion automatically
- Explainer component wires theme to all child components (charts, cards, etc.)
- resolveAsset() handles absolute paths on Windows/Unix via file:// URIs
- RENDERER_FAMILY_MAP synced with actual Remotion compositions

Critical Bug Fixes:
- Windows npx subprocess: run_command() resolves .cmd wrappers via shutil.which()
- Silent renderer downgrade: Remotion failure now returns explicit error with
  options instead of silently falling back to FFmpeg
- .env inline comment parsing strips trailing # comments from API keys
- concat_path UnboundLocalError in video_compose finally block
- audio_mixer and showcase_card capture=True kwarg bug
- Selector estimate_cost() calls fixed (_select_tool -> _select_best_tool)
- asset_manifest schema expanded with provider, license, subtype fields
- screen-demo subtitle_gen moved from required to optional tools
- Duration drift detection in post-render final review (>25% warns)
2026-04-03 09:35:09 -07:00

3.0 KiB

Creative Intake

Before the research stage, gather user intent through targeted questions. Do NOT start production on a vague brief.

Required Questions (ask conversationally, not as a survey)

  1. Purpose: What is this video FOR? (educate, sell, inspire, document, entertain)
  2. Audience: Who will watch it? (age, expertise, context — "my team" vs "YouTube public")
  3. Platform: Where will it live? (YouTube, internal Slack, social media, presentation, website)
  4. Tone: What should it FEEL like? (serious, playful, cinematic, raw, warm, provocative)
  5. References: Any videos you admire or want this to feel like?
  6. Outcome: What should the viewer DO or FEEL after watching?
  7. Constraints: Budget ceiling? Timeline? Must-include content?

How to Ask

Don't dump all 7 questions at once. Start with purpose and audience, then let the conversation flow. Fill in gaps naturally.

If the user gives a detailed brief, skip questions they've already answered.

Identify what the user has already told you. If they said "I want a cinematic brand film for Instagram," you already have purpose (inspire/sell), platform (Instagram), and tone (cinematic). Ask what's missing.

Handling Vague Briefs

When the user says something like "make me a video about X":

  1. Acknowledge the topic — show you understood.
  2. Ask the single most important missing question first (usually purpose or audience).
  3. Based on their answer, ask the next most important gap.
  4. Stop asking when you have enough to start research. You don't need perfect answers — research will fill in details.

Handling Detailed Briefs

When the user provides a multi-paragraph brief or a document:

  1. Summarize what you understood (1-2 sentences).
  2. Call out any gaps: "I have a clear picture of the audience and tone, but I'd love to know — is there a specific outcome you're hoping for?"
  3. Confirm the platform and constraints if not stated.

Output

Produce an intake_brief (informal, not schema-validated) that the research stage uses as its starting context. Include:

  • Direct quotes from the user where their language reveals intent
  • Explicit answers to each of the 7 questions (mark any that were inferred vs stated)
  • Any reference videos/images the user mentioned
  • Constraints that must be honored (budget, timeline, must-include)

The intake_brief is passed as context to the research-director, not as a formal artifact. It exists to prevent the research stage from inventing intent that the user never expressed.

What NOT To Do

  • Do not present a numbered survey. This is a conversation, not a form.
  • Do not ask questions the user already answered in their initial message.
  • Do not delay production unnecessarily — if the brief is clear, move on.
  • Do not invent answers for questions the user didn't address. Mark them as "not specified" and let the research stage handle ambiguity.
  • Do not assume the user wants an explainer. Many users want cinematic, animation, or source-led work. Listen for signals.