Project Goal: Build a modular Claude Skills-based system for autonomous AI video story generation, targeting a full 20-30 minute episode from sparse user requirements.
Development Approach: Incremental, community-driven development via GitHub. The system will be built in Claude Code and shared openly for iteration.
Key Technical Decision: Reference-based visual consistency using Google Nano Banana Pro for image generation (not LoRAs), with Kling/Veo 3.1 Fast for video animation.
Deliverable: Complete pilot script + story bible from 8-10 user questions Skills: story-intake, logline-architect, character-architect, story-architect, screenplay-writer, dialogue-doctor, story-critic, bible-keeper
Deliverable: All reference images + shot images generated Skills: Add visual-canon-keeper, character/location/prop-reference-generators, shot-list-generator, shot-image-generator, quality validators
Deliverable: 2-3 minute animated scene with audio Skills: Add video-animation, audio-generation, assembly tools
Requires: Breakthroughs in consistency, 6-12+ months of iteration
- Image Generation: Google Nano Banana Pro (fal.ai/recraft-v3)
- Reference-based consistency (no LoRA training needed)
- Reference weight: 0.85-0.95 for character/location consistency
- Video Animation: Kling or Veo 3.1 Fast (image-to-video)
- Workflow: Generate reference library → Generate shot images → Animate shots
- Priority: Medium (v0.3+)
- Future: Segment Audio (vocal isolation), voice-to-voice (consistency), separate SFX integration
- Short-term: Generated soundtracks + manual editing
- Claude Code (local development)
- fal.ai API for media generation
- GitHub for community sharing and iteration
Key Distinction: Claude Skills are instruction sets that Claude reads and follows, not separate autonomous agents. We design for workflows and artifact types, not agent roles.
- Clear Dependencies: Each skill declares what it needs and what it produces
- Testable Deliverables: Every skill has concrete output files
- Quality Gates: Validation points between phases
- Community-Friendly: Skills can be improved independently
The workflow is fundamentally different from prompt-only approaches:
Story → Character/Location Definitions → Reference Library → Shot Images → Video
Each stage uses the previous stage's outputs as reference inputs, not just text descriptions.
- Output:
CREATIVE_BRIEF.md+POWER_STACK.md - Purpose: 8-10 question interview → autonomous story development
- Special: Includes visual style keywords for image generation
- Output:
LOGLINE_LOCK.md - Purpose: Generate + tournament-select loglines using verbalized sampling
- Quality Gate: Must include protagonist flaw + relationship stake + consequence
- Output:
CHARACTER_SHEETS/*.md+RELATIONSHIP_MAP.json - Purpose: Deep character psychology + relationship matrix
- Key Feature: Relationship axes (trust, respect, dependency, intimacy, moral alignment)
- Special: Physical descriptions optimized for image generation
- Output:
EP##_BEATS.md+EP##_SCENELIST.md - Purpose: Episode structure with TV pacing
- Special: Location tags + character presence per scene for reference planning
- Output:
SCRIPT_EP##.md - Purpose: Industry-standard markdown screenplay
- Special: Scene headers with visual metadata (time, weather, mood)
- Output: Revised
SCRIPT_EP##.md - Purpose: Voice, subtext, status games
- Key Feature: Character linguistic fingerprints, anti-exposition
- Output:
CRITIQUE_REPORT.md - Purpose: Quality gate with veto power
- Key Feature: Numeric rubrics, anti-cliché detection
- Output:
SHOW_BIBLE.md+ version log - Purpose: Living document consolidating all story artifacts
- Output:
CANON_DB.json - Purpose: Machine-readable source of truth
- Contents: Characters, locations, props, factions, visual anchors, reference registry
- Schema: See detailed schema below
- Output:
STYLEGUIDE_VISUAL.md - Purpose: Define show's visual language
- Contents: Global aesthetic, shot taxonomy, consistency rules, negative prompts
- Output:
CHARACTER_REFS/{NAME}/VISUAL_SPEC.md+refs/*.png - Purpose: Generate character reference pack
- Reference Types:
- Turnaround: front, 3/4, profile, back (neutral)
- Expression pack: happy, sad, angry, surprised, neutral
- Outfit variants: primary + 2-3 alternates
- Action poses: 3-5 key poses from script
- Close-ups: face detail shots
- Workflow: Generate seed → use as reference for variants
- Output:
LOCATION_REFS/{LOCATION}/VISUAL_SPEC.md+refs/*.png - Purpose: Generate location reference pack
- Reference Types:
- Establishing shot (wide)
- Key areas (3-5 sub-locations/angles)
- Time variants (day, night, golden hour)
- Weather variants (if needed)
- Empty + populated versions
- Output:
PROP_REFS/{PROP}/refs/*.png - Purpose: Generate signature props/objects
- Reference Types: Different angles, in-hand vs on-surface, detail close-ups
- Output:
SHOT_LIST_EP##.json(machine-readable) - Purpose: Convert screenplay → detailed shot specifications
- Contents: shot_id, scene_id, shot_type, duration, characters, location, visual_prompt, character_refs, location_ref, camera, composition_notes, audio_cues
- Output:
SHOTS_EP##/{shot_id}.png - Purpose: Generate final shot images using references
- Workflow:
- Load shot spec from JSON
- Retrieve character + location references
- Construct Nano Banana Pro prompt with references
- Generate shot image
- Store with metadata
- Output:
SHOT_QA_REPORT_EP##.md - Purpose: QA pass on generated shots
- Checks: Reference consistency, composition, lighting/style, anatomical errors
- Action: Flags shots for regeneration
- Output:
VISUAL_QA_REPORT.md - Purpose: Check visual consistency across all shots
- Action: Identifies drift, enforces visual canon
- Output: Updated reference images + CANON_DB updates
- Purpose: Improve reference library based on successful shots
- Workflow: Extract exceptional shots as new references, track best performers
- Output:
CONTINUITY_REPORT.md - Purpose: Cross-check all artifacts for story contradictions
- Priority: v0.2 (before shot generation)
- Output: Execution plan, progress tracking, gate management
- Purpose: Master controller for full pipeline
PHASE 1 (Story Foundation - v0.1)
┌─────────────────┐
│ story-intake │
└────────┬────────┘
│
├──────────────────┬──────────────────┐
│ │ │
┌────────▼────────┐ ┌─────▼──────┐ ┌────────▼────────┐
│ logline- │ │ character- │ │ bible-keeper │
│ architect │ │ architect │ │ (continuous) │
└────────┬────────┘ └─────┬──────┘ └─────────────────┘
│ │
└─────────┬────────┘
│
┌───────▼────────┐
│ story- │
│ architect │
└───────┬────────┘
│
┌───────▼────────┐
│ screenplay- │
│ writer │
└───────┬────────┘
│
┌───────▼────────┐
│ dialogue- │
│ doctor │
└───────┬────────┘
│
┌───────▼────────┐
│ story-critic │
└────────────────┘
PHASE 2 (Reference Library - v0.2a)
┌─────────────────────────────┐
│ All Phase 1 artifacts ready │
└──────────────┬──────────────┘
│
┌────────┴────────┐
│ │
┌─────▼──────┐ ┌──────▼──────────┐
│ canon- │ │ visual-style- │
│ database- │ │ guide │
│ manager │ │ │
└─────┬──────┘ └──────┬──────────┘
│ │
├────────────────┼─────────────────┐
│ │ │
┌─────▼────────┐ ┌────▼─────────┐ ┌────▼─────────┐
│ character- │ │ location- │ │ prop- │
│ reference- │ │ reference- │ │ reference- │
│ generator │ │ generator │ │ generator │
└──────────────┘ └──────────────┘ └──────────────┘
PHASE 3 (Shot Production - v0.2b)
┌─────────────────────────────┐
│ All references generated │
└──────────────┬──────────────┘
│
┌───────▼────────┐
│ shot-list- │
│ generator │
└───────┬────────┘
│
┌───────▼────────┐
│ shot-image- │
│ generator │◄──────┐
└───────┬────────┘ │
│ │
┌───────▼────────┐ │
│ shot-quality- │ │
│ validator │───────┘ (regeneration loop)
└───────┬────────┘
│
┌───────▼────────┐
│ visual- │
│ continuity- │
│ validator │
└────────────────┘
/ai-video-story-gen/
├── README.md
├── ARCHITECTURE.md # This document
├── CONTRIBUTING.md
│
├── skills/
│ ├── core/ # Story development skills
│ │ ├── story-intake/
│ │ │ ├── SKILL.md
│ │ │ ├── templates/
│ │ │ │ ├── CREATIVE_BRIEF_template.md
│ │ │ │ └── POWER_STACK_template.md
│ │ │ └── examples/
│ │ ├── logline-architect/
│ │ │ ├── SKILL.md
│ │ │ ├── templates/
│ │ │ └── examples/
│ │ ├── character-architect/
│ │ │ ├── SKILL.md
│ │ │ ├── templates/
│ │ │ │ ├── CHARACTER_SHEET_template.md
│ │ │ │ └── RELATIONSHIP_MAP_template.json
│ │ │ └── examples/
│ │ ├── story-architect/
│ │ ├── screenplay-writer/
│ │ ├── dialogue-doctor/
│ │ ├── story-critic/
│ │ └── bible-keeper/
│ │
│ ├── production/ # Visual development skills
│ │ ├── canon-database-manager/
│ │ │ ├── SKILL.md
│ │ │ ├── templates/
│ │ │ │ └── CANON_DB_schema.json
│ │ │ └── examples/
│ │ ├── visual-style-guide/
│ │ ├── character-reference-generator/
│ │ │ ├── SKILL.md
│ │ │ ├── prompts/
│ │ │ │ ├── README.md
│ │ │ │ ├── turnaround.txt
│ │ │ │ ├── expressions.txt
│ │ │ │ ├── outfits.txt
│ │ │ │ └── action_poses.txt
│ │ │ ├── templates/
│ │ │ │ └── CHARACTER_VISUAL_SPEC_template.md
│ │ │ ├── examples/
│ │ │ │ └── alice_chen_example/
│ │ │ │ ├── VISUAL_SPEC.md
│ │ │ │ └── refs/
│ │ │ └── config/
│ │ │ └── fal_api_settings.json
│ │ ├── location-reference-generator/
│ │ │ ├── SKILL.md
│ │ │ ├── prompts/
│ │ │ │ ├── establishing_shot.txt
│ │ │ │ ├── key_areas.txt
│ │ │ │ └── time_variants.txt
│ │ │ └── ...
│ │ ├── prop-reference-generator/
│ │ ├── shot-list-generator/
│ │ ├── shot-image-generator/
│ │ ├── shot-quality-validator/
│ │ ├── visual-continuity-validator/
│ │ └── reference-library-updater/
│ │
│ └── meta/ # System management skills
│ ├── workflow-orchestrator/
│ └── continuity-validator/
│
├── references/ # Cross-skill reference materials
│ ├── visual_consistency/
│ │ ├── nano_banana_pro_best_practices.md
│ │ ├── reference_based_generation.md
│ │ └── common_pitfalls.md
│ ├── story_structure/
│ │ ├── tv_pacing_rules.md
│ │ ├── relationship_arc_patterns.md
│ │ └── beat_sheet_examples.md
│ └── style_guides/
│ ├── cinematography_reference.md
│ └── color_theory_for_ai.md
│
├── scripts/ # Helper utilities
│ ├── batch_generation.py
│ ├── reference_validator.py
│ └── fal_api_wrapper.py
│
├── tests/
│ ├── test_character_consistency/
│ └── test_canon_validation/
│
└── examples/ # Complete worked examples
└── sample-project/
├── SHOW_BIBLE.md
├── CANON_DB.json
├── CREATIVE_BRIEF.md
├── CHARACTER_SHEETS/
├── SCRIPTS/
├── CHARACTER_REFS/
├── LOCATION_REFS/
├── SHOT_LIST_EP01.json
└── SHOTS_EP01/
This is the machine-readable source of truth optimized for Claude retrieval:
{
"meta": {
"show_title": "Project Chimera",
"version": "1.2.3",
"last_updated": "2026-01-25T10:30:00Z",
"knowledge_cutoff": "EP01_SHOT_GENERATION"
},
"characters": {
"ALICE_CHEN": {
"full_name": "Alice Chen",
"role": "protagonist",
"age": 32,
"archetype": "brilliant_but_damaged",
"psychology": {
"want": "to solve the impossible case",
"need": "to trust others again",
"lie": "emotions make you weak",
"wound": "partner's death",
"virtue_with_cost": "obsessive attention to detail"
},
"visual": {
"locked": true,
"description": "Asian woman, athletic build, 5'7\", short black hair with one silver streak, sharp cheekbones, tired dark eyes, small scar on left eyebrow",
"signature_outfit": "charcoal blazer, white shirt, dark jeans, black boots",
"color_palette": ["charcoal", "steel_blue", "deep_red"],
"signature_prop": "worn leather notebook",
"negative_prompts": ["smiling easily", "casual posture", "bright colors"],
"reference_images": {
"front_neutral": "CHARACTER_REFS/ALICE_CHEN/refs/alice_front_neutral.png",
"34_neutral": "CHARACTER_REFS/ALICE_CHEN/refs/alice_34_neutral.png",
"profile_neutral": "CHARACTER_REFS/ALICE_CHEN/refs/alice_profile_neutral.png",
"expression_determined": "CHARACTER_REFS/ALICE_CHEN/refs/alice_determined.png",
"expression_vulnerable": "CHARACTER_REFS/ALICE_CHEN/refs/alice_vulnerable.png",
"outfit_primary": "CHARACTER_REFS/ALICE_CHEN/refs/alice_outfit_primary.png"
}
},
"voice": {
"sentence_length": "medium_short",
"metaphor_domain": "chess_strategy",
"sarcasm_level": 7,
"directness": 9,
"taboo_topics": ["her partner's death", "romantic relationships"],
"linguistic_fingerprints": [
"uses precise technical language",
"deflects with dark humor",
"rarely uses contractions when emotional"
]
},
"relationships": {
"BOB_MARTINEZ": {
"axes": {
"trust": -2,
"respect": 4,
"dependency": 1,
"intimacy": -3,
"moral_alignment": 3
},
"bond_mechanism": "shared obsession with truth",
"pressure_mechanism": "Alice's refusal to open up",
"private_language": ["the board", "ghost hunting"],
"arc_direction": "trust +3 over season, intimacy +4"
}
}
}
},
"locations": {
"PRECINCT_BULLPEN": {
"type": "recurring",
"description": "Large open office with rows of desks, harsh fluorescent lighting, evidence boards on walls, coffee station in corner, large windows with city view",
"mood": "gritty_functional",
"locked": true,
"visual": {
"time_variants": ["morning_golden", "afternoon_harsh", "night_fluorescent"],
"key_areas": [
"Alice's desk - corner, covered in files",
"Evidence board - main wall, red string",
"Coffee station - battered machine, stained mugs",
"Captain's office - glass walls, visible from bullpen"
],
"color_palette": ["industrial_gray", "institutional_beige", "fluorescent_white"],
"lighting_signature": "overhead harsh + desk lamps",
"negative_prompts": ["modern tech", "clean surfaces", "warm lighting"],
"reference_images": {
"establishing_wide_day": "LOCATION_REFS/PRECINCT_BULLPEN/refs/bullpen_wide_day.png",
"alice_desk_closeup": "LOCATION_REFS/PRECINCT_BULLPEN/refs/alice_desk.png",
"evidence_board": "LOCATION_REFS/PRECINCT_BULLPEN/refs/evidence_board.png",
"coffee_station": "LOCATION_REFS/PRECINCT_BULLPEN/refs/coffee_station.png"
}
},
"blocking_rules": [
"Alice's desk is always back-left corner",
"Evidence board dominates main wall",
"Natural traffic flow leaves space for two-shots at Alice's desk"
]
}
},
"props": {
"ALICE_NOTEBOOK": {
"type": "signature",
"owner": "ALICE_CHEN",
"description": "Worn leather-bound notebook, pages filled with precise handwriting and sketches, frayed bookmark",
"significance": "Contains all her case notes, never lets it out of sight",
"visual": {
"locked": true,
"reference_images": {
"closed": "PROP_REFS/ALICE_NOTEBOOK/refs/notebook_closed.png",
"open_writing": "PROP_REFS/ALICE_NOTEBOOK/refs/notebook_open.png",
"in_hand": "PROP_REFS/ALICE_NOTEBOOK/refs/notebook_hand.png"
}
}
}
},
"visual_style": {
"global_aesthetic": "neo_noir_procedural",
"color_grading": "desaturated_with_blue_shadows",
"lighting_style": "naturalistic_motivated",
"lens_language": "cinema_35mm_shallow_dof",
"camera_movement": "mostly_static_deliberate_movement",
"shot_taxonomy": {
"establishing": "wide shot showing location context",
"medium": "waist-up, primary dialogue framing",
"close_up": "face/emotion emphasis",
"insert": "object/detail focus",
"over_shoulder": "conversation dynamics",
"two_shot": "relationship framing"
}
},
"factions": {
"PRECINCT_72": {
"description": "Understaffed, underfunded precinct in the industrial district",
"members": ["ALICE_CHEN", "BOB_MARTINEZ", "CAPT_REYES"],
"values": ["results_over_protocol", "loyalty_to_squad"],
"conflict_with": ["INTERNAL_AFFAIRS", "CITY_HALL"]
}
},
"canon_facts": [
"Alice's partner died 18 months before pilot",
"Bob has a daughter in college",
"The precinct is scheduled for closure in 6 months",
"Alice and Bob have worked together for 9 months"
],
"continuity_log": [
{
"date": "2026-01-20",
"change": "Added Bob's daughter detail",
"affected_artifacts": ["CHARACTER_SHEETS/BOB_MARTINEZ.md", "SCRIPT_EP01.md"],
"reason": "Adds personal stakes to precinct closure"
}
]
}From SHOT_LIST_EP##.json:
{
"shot_id": "EP01_SC03_SH02",
"scene_id": "SC03",
"shot_type": "medium",
"duration": 4.5,
"characters": ["ALICE", "BOB"],
"location": "PRECINCT_BULLPEN",
"time_of_day": "afternoon",
"description": "Alice reviews case files while Bob paces nervously",
"visual_prompt": "{detailed prompt constructed by shot-image-generator}",
"character_refs": [
"CHARACTER_REFS/ALICE/refs/ALICE_front_neutral.png",
"CHARACTER_REFS/BOB/refs/BOB_34_concerned.png"
],
"location_ref": "LOCATION_REFS/PRECINCT_BULLPEN/refs/bullpen_wide_day.png",
"camera": "medium_shot",
"composition_notes": "Alice screen left, Bob screen right, depth of field on Alice",
"audio_cues": ["office ambience", "paper rustling", "footsteps"]
}Example from character-reference-generator/prompts/turnaround.txt:
# CHARACTER TURNAROUND - NEUTRAL POSE
# Use for: Initial reference generation (no prior images)
# Model: Nano Banana Pro / recraft-v3
# Tested: 2026-01-25
## BASE PROMPT TEMPLATE
{{CHARACTER_DESCRIPTION}}, character design reference sheet, turnaround view showing front view, 3/4 view, side profile, and back view, {{OUTFIT_DESCRIPTION}}, neutral standing pose, neutral expression, clean white background, professional character sheet layout, even lighting, {{STYLE_KEYWORDS}}
## NEGATIVE PROMPT
multiple characters, dynamic pose, smiling, dramatic expression, props in hand, shadows, colored background, photography, realistic photo, {{CHARACTER_NEGATIVE_PROMPTS}}
## RECOMMENDED SETTINGS
- Aspect ratio: 16:9 (for 4-panel layout)
- Steps: 28
- Guidance: 3.5
- Safety tolerance: 2
## SUBSTITUTION VARIABLES
- {{CHARACTER_DESCRIPTION}}: From CHARACTER_SHEETS/{NAME}.md → visual.description
- {{OUTFIT_DESCRIPTION}}: From CHARACTER_SHEETS/{NAME}.md → visual.signature_outfit
- {{STYLE_KEYWORDS}}: From STYLEGUIDE_VISUAL.md → global_aesthetic
- {{CHARACTER_NEGATIVE_PROMPTS}}: From CHARACTER_SHEETS/{NAME}.md → visual.negative_prompts
In the SKILL.md file:
## Step 3: Generate Turnaround Images
Load the proven prompt template:view /mnt/skills/user/character-reference-generator/prompts/turnaround.txt
Customize the template by inserting:
- Character physical description from `CHARACTER_SHEETS/{NAME}.md`
- Visual anchors from `CANON_DB.json`
- Global style keywords from `STYLEGUIDE_VISUAL.md`
Call fal.ai with customized prompt using settings from `config/fal_api_settings.json`
Example from config/fal_api_settings.json:
{
"nano_banana_pro": {
"endpoint": "fal-ai/recraft-v3",
"default_params": {
"image_size": {
"width": 1024,
"height": 1024
},
"num_inference_steps": 28,
"guidance_scale": 3.5,
"num_images": 1,
"safety_tolerance": "2",
"output_format": "png"
},
"reference_mode_params": {
"style_reference_weight": 0.85,
"character_reference_weight": 0.95
}
},
"kling": {
"endpoint": "fal-ai/kling-video/v1/standard/image-to-video",
"default_params": {
"duration": "5",
"aspect_ratio": "16:9"
}
}
}Default for relationship-focused stories:
- 4–6 Act TV Structure - pacing, act-outs
- Want/Need/Lie - internal character engine
- Relationship Arc Matrix - tracked over episodes (axes: trust, respect, dependency, intimacy, moral alignment)
- Scene Design: Goal / Obstacle / Turn / Cost - prevents mushy scenes
- Dialogue System: Subtext + Status + Private Language - anti-cliché
- Theme Argument - central question for coherence
When ready, the system asks exactly these and then stops:
- Genre + 2 comps + 1 anti-comp
- Protagonist: what are they great at / what ruins their relationships?
- Who do they need most, and why do they push them away?
- Series engine: what creates a new episode problem each week?
- Central theme question (one sentence)
- Tone guardrails (rating, comedy level, violence level)
- Setting & aesthetic keywords (5–10)
- Season endpoint: what must be irrevocably different by finale?
- No more user questions unless contradictions exist
- Must include: protagonist + flaw, relationship stake, irreversible consequence
- Every major character must:
- Cause at least one problem in the pilot
- Have one surprising competency
- Have one relationship they're actively failing
- "Consistency Contract":
- Fixed descriptors that must appear in every prompt
- Banned descriptors that cause drift
- ID tags for characters/locations for prompt reuse
- Relationship evolution must be visible:
- At least 2 relationship "ticks" on axes per episode
- Table read simulation (agent):
- Summarize what viewer thinks each character wants after each act
- If unclear → rewrite scenes, not notes
- Each episode must:
- Stress a different relationship pair
- Advance at least one season-long mystery/pressure
- Deliver a "promise of premise" set piece
audio-design/skill - music cues, SFX, ambiencedialogue-casting/skill - voice matching, ElevenLabs integration
reference-pipeline/skill - img2img workflowslora-training-prep/skill - dataset prep for character LoRAs (if needed)
edit-list-generator/skill - timing, cuts, transitionsassembly-integration/skill - FFmpeg commands, DaVinci Resolve XML
shot-regeneration/skill - targeted fixescontinuity-fix/skill - repair canon violations
Build and test:
- story-intake
- logline-architect
- character-architect
- story-architect
- screenplay-writer
- bible-keeper
Deliverable: Complete pilot script + bible from 8-10 questions
- visual-canon-keeper
- character-reference-generator
- location-reference-generator
- shot-list-generator
Deliverable: Complete visual reference pack + shot list
- shot-image-generator
- reference-pipeline (img2img)
- shot-quality-validator
- visual-continuity-validator
Deliverable: All shot images generated with references
- dialogue-doctor
- story-critic
- continuity-validator
- reference-library-updater
Deliverable: High-quality, consistent shot library ready for animation
- Create directory structure following the layout above
- Start with story-intake/SKILL.md - this is the entry point
- Build and test incrementally - don't try to create all skills at once
- Use real examples - create a sample project as you build
- Document as you go - capture what works and what doesn't
This should:
- Ask the 8-10 minimal questions
- Generate CREATIVE_BRIEF.md
- Generate POWER_STACK.md
- Include visual style keywords for later image generation
- Have clear examples
- Create
/examples/test-project-noir/as first test case - Run through story-intake with a simple noir detective show
- Verify outputs match templates
- Use this to validate the skill works before building next skill
- Push to GitHub after each working skill
- Include clear README with:
- What works
- What doesn't
- How to test
- Known limitations
- Encourage community to test and provide feedback
- Reference-based over prompt-only - Nano Banana Pro with reference images
- Incremental milestones - v0.1 (script), v0.2 (images), v0.3 (scene)
- Skills not agents - Claude reads instructions, doesn't orchestrate separate LLMs
- Quality gates - Explicit validation between phases
- Community-driven - Open source, GitHub, iterative improvement
- Realistic scope - Full episode is aspirational, focus on achievable steps
- Story generation (strong)
- Character/world building (strong)
- Reference image generation (good with iteration)
- Single shot generation (achievable)
- Visual consistency across shots (challenging)
- Shot-to-shot continuity (requires refinement)
- Character expression consistency (needs good references)
- Full 20-30 min episode automation (6-12+ months)
- Perfect visual consistency (requires tech breakthroughs)
- Audio integration at scale (needs better tools)
- Can generate complete, coherent pilot script
- Characters have depth and contradictions
- Dialogue sounds natural and distinct
- Story structure follows TV conventions
- All in < 30 minutes from intake
- Reference library maintains character identity
- Shot images reference library effectively
- Visual consistency > 80% acceptable on first pass
- Can generate all shots for pilot in < 2 hours
- Regeneration workflow improves quality
- Can generate 10-12 minute coherent sequence
- Visual continuity requires < 10% manual fixes
- Audio integration is semi-automated
- Community has contributed improvements
- System is used by others successfully
- fal.ai API docs: https://fal.ai/docs
- Nano Banana Pro (recraft-v3): fal.ai/models/recraft-v3
- Kling video: fal.ai/models/kling-video
- Veo 3.1: (endpoint TBD)
- Save the Cat methodology
- TV writing beat sheets
- Relationship arc systems
- Reference-based generation techniques
- IP adapter methodologies
- Shot matching approaches
- Primary Developer: Kaigani
- Platform: GitHub (repo URL TBD)
- Development Environment: Claude Code
- Community: Open for contributions after v0.1 release
- Version: 1.0
- Date: 2026-01-25
- Status: Initial architecture specification
- Next Review: After v0.1 milestone completion
This document captures the complete architecture and technical decisions from the planning conversation. Use this as the foundation for building the Claude Skills system in Claude Code.