Forced reasoning before scripting: goal, hook type, demo moments, emotion arc

Four questions an agent must answer in writing before it writes a line of script. Skips the generic promo every model produces when asked for one directly.

Claude CodeClaudeChatGPTAny LLMbeginner5 minunverified
Before writing any script for {product}, answer these four questions in writing. Do not write the script in this reply.

1. GOAL: What should the viewer DO after watching? One verb and one place (download from the App Store, sign up at {url}, reply with a comment). If you list two, pick one.
2. HOOK TYPE: Which of these opens the video, and why for {audience}: a question, a surprising number the reader can check, a pain point in the user's words, a bold claim. Write the hook line for the chosen type, max 12 words.
3. DEMO MOMENTS: The three product moments to show on screen, each as one sentence of what is visible and what the viewer understands from it. Mark which one is the wow moment.
4. EMOTION ARC: Frustration, then discovery, then relief. For each stage, which shot carries it and which line of narration.

Then list what you are NOT showing and why. Stop and wait for my corrections.

In Claude Code, paste the prompt as a message, or run /video-promo which does this end to end.

Steps

  1. Run this as its own message. Correct the answers (the goal is usually wrong on the first pass), then ask for the script in the next message.
  2. Keep the four answers at the top of the script file. When a cut feels off, the arc is where the error usually is.

Example

GOAL: install from the App Store. HOOK TYPE: pain point. “Four hundred clips from Lisbon. You have watched none of them.” DEMO MOMENTS: (1) a folder dropped in, the scene list fills itself; (2) the best frame of each scene appears as a cover; (3) WOW: the 40-second film plays, cut to the music, and the originals are untouched. EMOTION ARC: frustration = the camera roll scrolling forever; discovery = the scene list; relief = the film playing on the phone. NOT SHOWING: settings, export options, the long-form mode. One job per promo.

Tips

  • The wow moment is the shot you would post on its own with no sound. If none of the three qualifies, go back to the product, not the script.
  • `/video-promo` in Claude Code runs this step before scripting; the answers end up in docs/video-promo.md.
works withClaude Code: Runs as a skill or a prompt in the terminal; can read your files and write the result. · Claude: Paste into claude.ai or the Claude app. · ChatGPT: Paste into ChatGPT; works with any GPT model. · Any LLM: Model-agnostic: Gemini, Mistral, a local model.
skillnpx skills add fortunto2/solo-factory/video-promo · source
costFree. No API, no key.
statusUnverified: written from the technique, not yet run end to end by us.
licenseCC BY 4.0 for the text here; skills are MIT.
updated2026-11-01
for agentsforced-reasoning-before-scripting.md
#planning#script#reasoning#promo#hook#agent

Related

Scripts & shot lists beginner

The 30-45 second promo script: hook, problem, demo, CTA with timings

A fill-in script template for a vertical product promo: four blocks with second counts and a 75-100 word narration budget, so the video ends before the viewer scrolls.

Claude CodeClaudeChatGPT
Scripts & shot lists beginner

Shot list generator: a table with shot, duration, visual, audio and overlay

An agent prompt that turns any script into a numbered shot table a camera operator or a video model can follow: one visual, one audio line and one text overlay per row, durations that add up.

Claude CodeClaudeChatGPT
Scripts & shot lists beginner

Turn a blog post into three short scripts: one claim per video

A prompt that reads a post and returns three 30-45 second scripts, each built on a different claim from the text, with the hook, the proof, the ask and the source sentence for each.

Claude CodeClaudeChatGPT
B-roll beginner

B-roll shot list from a transcript: the table to film or generate from

An agent prompt that reads a transcript and returns a shot table (timestamp, line, shot, source: have / film / generate) for a camera or a video model, grouped so each location is filmed once.

Claude CodeClaudeChatGPT
Hooks beginner

Generate 20 hooks for a topic and rank them by a stated rubric

One prompt that produces 20 openers across the 8 archetypes, scores each on four named criteria, and returns the top 5 with the score shown, so the ranking can be argued with instead of trusted.

Claude CodeClaudeChatGPT
Captions & text beginner

Hook text on screen: a plan for the first three seconds, word by word

A prompt that plans what text appears in the first 3 seconds of a vertical video: the words, the moment each appears, the hold, what the picture does under it. Written so the hook works muted.

Claude CodeClaudeChatGPT