Communitygithub.com

trendy-mini-series

Create fast, emotional AI mini-series episodes for video.

What is trendy-mini-series?

trendy-mini-series is a Claude Code agent skill that create fast, emotional AI mini-series episodes for video.

Works with✓Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/koyawel0694/Ultra-Prompting/tree/main/skills/trendy-mini-series

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

Trendy Mini Series

Use this skill as a reusable production system for short-form AI mini-series. It is designed for mystery, thriller, romance, family drama, action, and other episodic formats intended for vertical short-form video.

Production Architecture Hierarchy

  • Flagship Standard — The 10X System: The 10X System (pioneered in The 10X Heart System: ₱50,000 for Her) is John's foundational mini-drama production engine. It defines the live-action C-drama idol aesthetic, dynamic 80s–90s pacing, character turnaround reference model sheets, 4-Track Signature BGM Suite, and policy mitigation strategies.
  • Zero-Abbreviation Character Continuity Lock: In EVERY scene prompt where a character appears, you MUST embed their complete locked profile (ethnicity, age, build, facial markers, hair texture/parting, and complete wardrobe). NEVER abbreviate character descriptions in later scenes (e.g. Shots 8–11) to just names or short tags—Google Flow generates each shot independently, so any abbreviation causes instant visual drift.
  • Mandatory Pre-Flight Linting: Before delivering any episode prompts to chat or saving, run the automated linter: python3 /home/john/kos-obsidian-omni/tools/prompt_compiler.py <path_to_episode.txt> It verifies 100% keyword compliance across all shots.
  • Adaptation Branches: Specialized formats like the K-Drama English Dialogue Pipeline (e.g., Signal Zero) are adaptation branches for global markets. They NEVER supersede or replace the 10X System flagship architecture.

Platform Constraints & Cinematic Multi-Angle Rules (Google Flow / Omni 1.1)

1. Strict Generation Durations & Credit Accounting

Google Flow natively supports only: 4s, 6s, 8s, and 10s. Never prompt or budget arbitrary lengths (e.g. 5s, 7s).

  • Credit Costs:
    • 4s: 7 credits
    • 6s: 10 credits
    • 8s: 12 credits
    • 10s: 15 credits
  • Always State Total Credits: When sending compiled video prompts, calculate and explicitly state the total credits consumed for the entire episode package.
  • The Google Flow 4-Tier Timing Blueprint:
    • 4s (7 credits): Rapid reaction cuts (smirk collapsing, shock, guilt) and micro-detail inserts (clenched fist, dropped prop, manicured hands).
    • 6s (10 credits): Quick retorts, counter-attacks, or concise exchanges (max 8-10 words).
    • 8s (12 credits — The Golden Sweet Spot): High-stakes emotional dialogue beats, inciting confrontations, and climactic cliffhangers. Allows 1.5s setup breath, 4.5s natural line delivery, and 2s aftermath reaction without AI facial drift.
    • 10s (15 credits): Heavy physical action, compound multi-character interactions, or continuous wide staging.

2. Episode Duration & Timing Architecture (1m 20s - 1m 30s Standard)

  • Target Runtime: Each episode runs 1 minute 20 seconds to 1 minute 30 seconds (80s–90s total).
  • Dynamic Multi-Shot Pacing: Do not restrict episodes to a rigid 5-part structure or a 32s cap. Use the 4-tier timing blueprint ([4s, 6s, 8s, 10s]) to build a dynamic, film-cut rhythm (typically 10–14 shots per episode) that delivers immediate hook, escalating tension, core emotional gut-punch, and an unresolved cliffhanger.

3. Pre-Production Environment Prompt & Character Lock Requirements

  • Character Design Sheet Format: Whenever generating character reference image prompts, format them as complete Model Turnaround Reference Sheets: full-body Front, Side, and Back views; zoomed-in Hair and Eye detail panels; signature accessories (glasses, jewelry); and expression sketches on a clean neutral background.
  • Environment Image Prompt First: Always provide the scene's location/environment image prompt beforehand in chat so the user can generate the background reference card in Image mode before generating video prompts. Never include the environment prompt inside the compiled video prompts .txt file.
  • Embedded Character Profile Locks in EVERY Video Prompt: Always embed the character's full physical description directly inside every video prompt where they appear (e.g., 20-year-old young man @Rafa (fair skin, sculpted jawline, high nose bridge, messy jet-black layered fringe, faint mole under left eye, faded white polo)), not just @Rafa. This anchors Google Flow's visual engine and prevents character drift across multi-angle shots.

4. The 8-Second Dialogue Maximum (AI Tail Drift Prevention)

Speech and facial anatomy in Google Flow / Omni degrade past 8.5 seconds (tail drift, eye wandering, mouth desync).

  • Cap conversational shots at max 8 seconds.
  • The 8s Dialogue Ratio: 0s–1.5s visual breath/tension setup -> 1.5s–6.0s unhurried delivery (3.5s–4.5s speech) -> 6.0s–8.0s aftermath beat (swallowing, tear welling, jaw clench).

5. Emotional Dialogue Formula ("Tagos sa Puso")

Avoid cartoonish, expositional bullying. Ground conflicts in dignity, unspoken sacrifice, family duty, and quiet karmic warnings that provoke shares and comments.

When to Use

Use when the user asks to create, revise, analyze, localize, or package an AI mini-series or episode, including:

  • story concepts, season arcs, or episode scripts
  • character reference/image prompts
  • Google Flow-style video prompts
  • background-music prompts for Google Vids
  • thumbnails, captions, titles, or descriptions
  • post-generation diagnosis and prompt revision

Do not use for ordinary one-off ads, explainers, documentaries, affiliate product videos, or unrelated video tasks unless the user explicitly asks to apply this mini-series system.

Production Defaults

Unless the user overrides them:

  • Episode runtime: 60s (6 clips) OR 90s (9 clips). Both are supported. Default is 60s unless John asks for richer pacing.
  • Generation: 6 or 9 connected clips × 10 seconds each.
  • Drama output: 9:16 vertical.
  • Market: Philippines.
  • PH dialogue: natural Filipino/Taglish.
  • Video generation: no background music during clip generation; music is generated separately.
  • Mandatory Series Music Suite (BGM) & Anti-Wall-to-Wall Discipline: When creating a new series bible or starting a new mini-drama, always generate the customized 4-Track Instrumental BGM Suite (Peak Climax/System Drop at -8dB, Emotional Vulnerability/Romance at -16 to -18dB, Protagonist Swagger/Resolve at -14 to -16dB, Suspense Cliffhanger at -15 to -11dB) formatted with Suno v3.5/Udio structural brackets and save to /home/john/kos-obsidian-omni/<series>_bgm_suite.txt. Strict Silence vs. Music Discipline: Never run BGM wall-to-wall; enforce pure diegetic silence for administrative deadlines/ticking clocks, hushed gossip corridors, and intense confrontational standoffs to give dialogue maximum moral authority. Apply a 1.2kHz parametric notch scoop (g=-3.5dB) on all music tracks.
  • Video model: Google Flow / Omni 1.1 Flash (gemini-omni-flash-preview). All prompts must follow Omni 1.1 structure.
  • VO: optional per episode. Inner monologue VO is the default type when requested. Never mix VO and live dialogue in the same clip.
  • Pipeline Architecture (4-Stage System): Assets (Characters/Props/Locations) → Storyboard Keyframe Anchors → Frame-Chained Motion Generation → Assembly & Subtitling.
  • State & Memory Firewall: Google Flow has zero persistent storage across sessions and hallucinates saved states. The Obsidian Vault (kos-obsidian-omni/) and local markdown prompt packages are the immutable single source of truth for the entire series bible, character cards, and episode states.

The clip count should be recalculated if the user changes the default episode or clip duration. Never force six clips when the requested duration makes another count more appropriate.

Core Story Grammar

Build episodes around:

IMMEDIATE HOOK → STORY EVENT → VISUAL INFORMATION → REACTION → NEW INFORMATION → ESCALATION → REVEAL → CLIFFHANGER

Start inside the problem. Avoid slow introductions and exposition-heavy setup. The viewer should understand the immediate conflict before the episode starts explaining the larger mystery.

Do not copy a reference video's dialogue, characters, names, distinctive scenes, or protected expression. Extract reusable mechanics such as pacing architecture, shot rhythm, attention shifts, reaction frequency, information density, and cliffhanger construction.

Pacing: Dialogue-Driven Timing

Do not use a fixed “new information every 1–2 seconds” rule. This was tested and produced worse results in the user's workflow.

Instead:

Dialogue length determines shot duration. Dramatic beats determine when the camera changes.

Practical starting heuristic (not a hard rule):

  • very short line: ~1–1.5s
  • short line: ~1.5–2.5s
  • medium line: ~2.5–3.5s
  • long emotional line: ~3.5–4+ seconds when needed
  • reaction/insert time uses the remaining duration

Let the character finish the line naturally. If a line cannot fit in the available clip time, shorten the dialogue or simplify the surrounding action rather than cutting the line mid-sentence.

Early beats can breathe. As tension rises, shorten beats only when the story supports it. The climax may reach ~1s beats, but this is a result of escalation, not a blanket instruction.

Character Reference System

When reference images are available, use the exact image aliases directly:

@Image1 = primary character
@Image2 = secondary character
@Image3 = third character
@Image4 = fourth character

Reuse established mappings in later episodes. Do not reassign an alias inside the same series.

For every spoken line, bind the speaker explicitly:

@Image1 Mika says: “...”
@Image2 Kenji says: “...”
@Image3 Alma says: “...”
Future @Image1 Mika says: “...”

Names alone such as Mika: are not sufficient when an @Image alias exists.

Do not impose a one-speaker-per-10-second-clip rule by default. Natural multi-character back-and-forth is allowed. Use explicit @Image binding and clear framing to reduce dialogue swaps.

Character Continuity

Treat these as part of identity:

  • face and age appearance
  • hair and facial hair
  • body proportions
  • wardrobe and accessories
  • makeup when relevant
  • voice/dialect when relevant
  • important props carried by the character
  • location and time-of-day continuity

Wardrobe is not optional continuity. When a previous generation suffered wardrobe drift, restate the exact outfit constraint verbatim in the next prompts.

For an established series, compare every new clip with the immediately previous clip before finalizing the prompt.

Camera Language

Default thriller/drama camera:

Reactive handheld smartphone/documentary camera operated by a real human.

Use natural hand tremor, subtle micro-jitter, slight sway, imperfect framing, small focus corrections, and quick motivated reframing. The camera may react a fraction late to movement and then correct composition.

Camera attention should follow the story:

speaker → reaction → hand/object → eyeline → new speaker → reveal

Use close-ups for dialogue, reaction close-ups after important lines, inserts for hands/phones/objects, POV shots for discoveries, and wider shots only when geography needs resetting.

Avoid tripod-lock framing, gimbal-smooth movement, floating camera motion, polished commercial movement, and excessive chaotic shake.

Acting Direction

Describe observable behavior, not only emotion labels. Prefer:

  • breathing changes
  • swallowing before speaking
  • eyes flicking toward a clue
  • tightened grip or jaw
  • small backward/forward steps
  • hesitation before answering
  • interrupted sentences
  • forced smile disappearing
  • tears gathering/falling when justified

A line should feel acted in real time, not recited.

Dialogue & Visual Information

Keep dialogue short, natural, interruptible, and easy to subtitle. Let objects and reactions carry part of the story.

Good pattern:

dialogue → reaction → insert → dialogue → reveal

Do not make every shot a close-up of a face. A hand opening a drawer, a phone vibrating, a door handle moving, or an object being placed somewhere can be a more useful story beat than another talking head.

Text-Heavy Props

Do not make critical story information depend on perfect AI-generated text inside phones, documents, signs, monitors, or UI. Show the prop visually and deliver the exact information through dialogue or action. Add exact subtitles, timestamps, labels, and interface text in post.

Video Prompt Output

When asked for video prompts, deliver in this order per episode:

Step 1 — Background Image Prompts (FIRST)

For every location that appears in the episode, generate a BACKGROUND SCENE IMAGE PROMPT tagged @BG_[ShortName] before any clip prompts. This is mandatory whenever:

  • A new location appears for the first time in the series
  • The same location is used at a significantly different time of day
  • An outdoor → indoor (or vice versa) transition occurs

Do NOT generate a new background prompt for consecutive clips in the same location and lighting.

Step 2 — Character Reference Image Prompts (if new character)

Before introducing any character never seen before in the series, generate their Character Reference Image Prompt so John can create their @Image reference card. Never use a new @Image in video prompts without John having their image prompt first.

Step 3 — Clip Prompts (in order)

For each clip:

  1. State the clip number, time range, and beat label.
  2. Include BACKGROUND REF: @BG_[tag] with location note.
  3. Include the CHARACTER LOCK block verbatim.
  4. Include DIALOGUE IDENTITY (who speaks only their own lines; who is silent).
  5. Include CONTINUITY & FRAME-CHAIN: inherited state from previous clip. (In Google Flow, feed the preceding clip's exported end frame or storyboard keyframe as visual reference @PrevFrame to eliminate set and wardrobe drift).
  6. Include CAMERA (one named move, Omni 1.1 phrasing, using Shot Explorer logic: establishing → OTS → close-up → insert).
  7. Include ACTION TIMELINE (natural language beats summing to ~10s).
  8. Include all DIALOGUE lines with @Image# Name says (delivery, language): format.
  9. Include VO block if applicable (never mixed with live dialogue).
  10. Include AUDIO layer.
  11. Include STYLE block.
  12. Include DO NOT line.
  13. Include END FRAME HANDOFF (exact visual state passed to the next clip).

Keep prompts copy/paste friendly. Each clip is a self-contained block.

Step 4 — Google Flow Safety Filter Audit

Audit every clip against Google Flow's Gemini safety filters:

  • Zero Acute Physical Distress / Medical Crises: Never prompt characters collapsing, stumbling onto a bench gasping for air, sweating with chest pain, or clutching surgical scars. Frame heart and medical reactions as emotional resonance: hand resting gently over heart, taking a deep reflective breath, pensive emotional wonder.
  • Zero Negative Taboo Words: Never write zombie, corpse, deceased, ghost, or hospital gore even inside the Negative: line. The safety classifier treats all prompt tokens as active content.

Step 5 — Anti-Rush Audit

Run the anti-rush checklist from the episode template before delivering. Fix any violations before sending.

Packaging & Telegram Delivery Protocol

1. Dual-File Vault Persistence

Always compile and write the entire, un-truncated episode package immediately into both:

  • /home/john/kos-obsidian-omni/<series>_ep<NN>.md
  • /home/john/kos-obsidian-omni/<series>_ep<NN>_video_prompts.txt This guarantees complete project persistence regardless of browser session resets or Flow amnesia.

2. Telegram Message Length Safeguard (<3,000 Characters)

A full 60s–90s episode prompt package (6–9 clips + character cards + BG prompts) spans 15,000–25,000 characters. If output in a single response, Telegram chunks it arbitrarily at 4,096 characters, breaking markdown backtick fences (```text) and silently downgrading messages to plain unformatted text, which destroys John's one-tap 'Copy Code' button.

  • Rule: Deliver prompt packages in clean chunks of 2–3 clips per message, strictly keeping each message under 3,000 characters.
  • Part 1: New Character Reference Cards + Background Scene Prompts + Clips 01–03.
  • Part 2: Clips 04–06.
  • Part 3: Clips 07–09 + Publishing Metadata (Captions, Titles, Thumbnails).

3. One-Tap Copy Block Rule

Wrap every copyable asset (character card, scene background prompt, clip prompt, voiceover script, caption) strictly in markdown code blocks (```text). Never emit raw unformatted prompt bodies in chat.

Revision Protocol

When the user supplies generated footage and says a revision is worse:

  1. Identify the demonstrated failure.
  2. Preserve the working version.
  3. Change only the failed dimension first.
  4. Avoid adding constraints merely for the sake of being stricter.
  5. Re-test before changing other variables.

Known lesson from this workflow: adding a strict one-speaker-per-clip rule made the result worse. Revert to natural interaction and strengthen @Image dialogue binding instead.

Also treat user ratings such as “7/10” or “8/10” as diagnostics. Do not restart a working production system just to chase theoretical perfection.

Reference Video Analysis

When the user supplies a reference video and asks for a similar feel:

  • analyze hook placement
  • map beat durations
  • identify when shot length shortens
  • identify attention shifts
  • identify reaction/insert frequency
  • identify emotional escalation
  • identify how the ending creates a next-episode question

Copy the structural mechanics, not the protected creative expression.

Market Localization

The story engine is universal. The localization layer changes:

target market → language → names → setting → social/cultural context → dialogue rhythm → subtitle conventions → publishing conventions

Write native dialogue for the target market instead of translating word-for-word.

Current default: Philippines. The same engine can be localized to the US, Japan, Korea, or other markets while preserving story beats and production grammar.

Music System

Generate music separately from video unless the user requests otherwise.

For each episode, provide when requested:

  • a 30-second instrumental prompt for an episode-specific score or emotional segment
  • a 3-minute instrumental prompt for a reusable series/arc score

A useful emotional arc is:

near-silence → mystery → tension → acceleration → music drop → reveal sting

Keep music dialogue-friendly and use silence strategically before major reveals.

Publishing & Thumbnail System

For Facebook and YouTube workflows, provide when requested:

  • 9:16 thumbnail prompt
  • 16:9 YouTube thumbnail prompt
  • Facebook caption
  • YouTube title
  • YouTube description
  • relevant hashtags

Do not optimize for TikTok unless the user specifically asks for it.

How to Work With References

For detailed camera, pacing, acting, dialogue, continuity, localization, music, Flow gotchas, and publishing rules, load the corresponding reference file with skill_view() rather than expanding SKILL.md unnecessarily.

For the current series, load:

  • story_bible/11-47-canon.md for canon facts
  • references/11-47-season-01-episodes-03-12.md for existing episode prompts

Suggested reference files:

  • references/pacing-engine.md
  • references/camera-engine.md
  • references/acting-engine.md
  • references/dialogue-identity.md
  • references/continuity-engine.md
  • references/google-flow-gotchas.md
  • references/localization-engine.md
  • references/music-engine.md
  • references/publishing-engine.md

Verification

Before delivering a final episode prompt set, verify:

  1. Episode length and clip count match the user's requested defaults (60s=6 clips, 90s=9 clips).
  2. Background image prompts generated for every new location before any clip prompt.
  3. Every clip has a BACKGROUND REF: @BG_[tag] line.
  4. Every clip has a clear beginning and end state (END FRAME HANDOFF written).
  5. Dialogue duration is plausible for the assigned time range.
  6. Every spoken line is bound to the correct @Image alias with delivery direction.
  7. No clip mixes VO and live dialogue.
  8. Present-day and future/recorded versions of a character are clearly distinguished.
  9. CHARACTER LOCK block is pasted verbatim (not rephrased) in every clip.
  10. Character faces and wardrobe stay consistent; silent characters have lips not moving specified.
  11. The camera is reactive handheld (Omni 1.1 phrase) with ONE named move per clip.
  12. Each clip has at least one breathing room beat (reaction hold, silent insert, or pause).
  13. Acting contains physical micro-behavior (not just "looks shocked").
  14. Critical information is in dialogue/action, not burned-in generated text.
  15. The emotional peak clip is NOT overloaded with dialogue.
  16. The cliffhanger clip ends in silence/freeze — ≤10 words, no resolution.
  17. DO NOT line is present in every clip.
  18. The prompt does not add constraints that have previously hurt generation quality.
  19. Full un-truncated package is written to disk in the vault (kos-obsidian-omni/) as both .md and _video_prompts.txt.
  20. In-chat delivery is split into chunks under 3,000 characters to prevent Telegram code block truncation.

Active Series

1. 11:47 — ANG MENSAHE BUKAS

Character map:

@Image1 = Mika
@Image2 = Kenji
@Image3 = Alma
@Image4 = Sofia

S1 complete. Reference: story_bible/11-47-canon.md and references/11-47-season-01-episodes-03-12.md.

2. PINTIG NG IYONG PUSO

Character map:

@Image1 = Gabe Santos (26, Filipino, acoustic singer, heart transplant recipient)
@Image2 = Sofia Reyes (24, Filipina, florist, grieving fiancée of donor)
@Image3 = Tita Helen (53, Filipina, flower shop owner / Sofia's aunt)
@Image4 = Marco Reyes (27, Filipino — FLASHBACK / PHOTO ONLY, deceased donor)
@Image5 = Dr. Eric Lim (52, Filipino cardiologist, calm bedside manner, wire-rimmed glasses)

Genre: Pure Emotional Romance / Medical Destiny / Tearjerker Format: 90s per episode (9 clips × 10s). FIL track. Filipino/Taglish. Series Bible: /home/john/kos-obsidian-omni/pintig_ng_iyong_puso.md Ep 1 prompts: /home/john/kos-obsidian-omni/pintig_ep01.md Ep 2 prompts: /home/john/kos-obsidian-omni/pintig_ep02.md Ep 3 prompts: /home/john/kos-obsidian-omni/pintig_ep03.md (prompts: pintig_ep03_video_prompts.txt, script: pintig_ep03_script.txt) Season 1: 12 episodes planned.

RULE: Generate background image prompts for every new location before clip prompts. Tag as @BG_[ShortName]. RULE: Marco (@Image4) appears in FLASHBACK / PHOTO clips ONLY. Never in present-day scenes. RULE: Before any new character's first video clip, generate their Character Reference Image Prompt first. RULE: Keep all prompt files sanitized of medical crisis keywords to prevent Google Flow policy rejections.

3. THE 10X HEART SYSTEM (SEASON 1: ₱50,000 FOR HER)

Character map & Continuity anchors:

@Rafa   = Rafael Navarro (19, Asian male lead, 182cm, layered messy fringe, mole under LEFT eye, faded polo)
@Ella   = Eliana Dela Cruz (19, Asian female lead, delicate oval face, thin silver wire glasses, cream cardigan)
@Celine = Celestine Villareal (20, Asian campus queen, 172cm, center-part blowout, tailored ivory blazer)
@Basti  = Sebastian Monteverde (20, Asian rich heir, 186cm, side-part, right-cheek dimple, navy blazer)
@Kira   = Kira Mendoza (20, Asian food stall girl, wavy hair, warm tan, mustard tee, olive work apron, dimples)
@Sam    = Samantha Flores (21, Asian aspiring chef, high-fashion bone structure, chic low bun, pale blue uniform)
@Tonton = Antonio Ramos (19, Asian best friend, 176cm, textured taper, dimples on BOTH cheeks, olive streetwear)
  • Genre: Campus Romance / System Fantasy / Underdog Comeback / Melodrama
  • Aesthetic: Modern Asian Idol Drama / Urban Romance Series (High-End Live-Action C-Drama Style)
  • Format: 30 episodes, 1m 20s – 1m 30s (80s–90s total) per episode using Google Flow 4-tier timing [4s, 6s, 8s, 10s]
  • Vault Files:
    • Series Bible: /home/john/kos-obsidian-omni/series_bible_10x_heart_system.md
    • Complete Character Design Sheets: /home/john/kos-obsidian-omni/10x_Heart_System_Complete_Character_Design_Sheets.txt
    • Episode 1 Prompts (86s): /home/john/kos-obsidian-omni/10x_heart_system_ep01_full_86s.txt

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Related Skills