An automated script generator for creating viral videos.
by @hexidyg
Story generation pipeline skill. Supports multi-episode continuous generation, graph management, AI quality check + human confirmation dual control mechanism...
clawhub install story-generator๐ About This Skill
name: story-pipeline description: Story generation pipeline skill. Supports multi-episode continuous generation, graph management, AI quality check + human confirmation dual control mechanism. Automatically manages relationships between characters, scenes, and hooks.
Story Generation Pipeline Skill
Features
This skill implements a complete story generation pipeline:
1. Continuous Episode Generation - Automatically generates next episode based on previous content 2. Graph Management - Storage and querying of character, scene, and hook relationships 3. Dual Confirmation Control - AI quality check followed by human confirmation 4. State Persistence - Supports pause, resume, and multiple parallel stories
Core Workflow
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ
โ Generate Ep Nโ -> โ AI Review โ -> โ Graph Storageโ -> โ Wait Human Confirmโ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ
โ โ โ โ
โผ โผ โผ โผ
Query Graph Pass/Retry Store Relations Continue/Modify/End
Usage
Start New Pipeline
User: Start a new story pipeline, theme: Chinese girl comeback, target episodes: 10
Continue Pipeline
User: Continue story pipeline [pipeline_id]
User Confirmation Actions
User: Approved, continue to next episode
User: Modify: [specific feedback]
User: Pause
User: End
Dual Confirmation Control Mechanism
Layer 1: AI Quality Check
After each episode is generated, AI automatically checks:
| Check Item | Description | |------------|-------------| | Plot Coherence | Natural connection with previous episode | | Character Consistency | Character behavior matches established traits | | Hook Handling | Reasonable addition/closure of hooks | | Pacing Control | Appropriate plot progression speed | | Emotional Curve | Reasonable emotional ups and downs |
Scoring Standard: 0-10 points, below 7 triggers retry (max 3 times)
Layer 2: Human Confirmation
After AI review passes, display preview and wait for user confirmation:
๐ Episode N Preview
โโโโโโโโโโโโโโโโโโโโโโโโ
ใPlot Summaryใ
...โ
AI Score: 8.5/10
โ
Hook Status: 1 new, 1 closed
Please select:
1๏ธโฃ Approved, continue to next episode
2๏ธโฃ Needs modification (please specify)
3๏ธโฃ Pause
4๏ธโฃ End
โโโโโโโโโโโโโโโโโโโโโโโโ
Graph Management
Graph Query
Before generating episode N, query episode N-1's graph:
graph_manager.query_graph(pipeline_id, episode=N-1)
Returns:
Graph Storage
After user confirmation, store current episode's complete content:
graph_manager.save_graph(pipeline_id, episode=N, content)
Stores: Complete generation result of the episode (not split into elements)
State Management
State File: data/pipeline_state.json
{
"pipelines": {
"pipeline_2026-03-05-001": {
"theme": "Chinese girl comeback",
"target_episodes": 10,
"current_episode": 3,
"status": "waiting_user_confirm",
"created_at": "2026-03-05T15:00:00",
"updated_at": "2026-03-05T15:30:00",
"ai_review": {
"score": 8.5,
"checks": {...}
},
"last_output": {
"episode": 3,
"summary": "...",
"content": "Complete content..."
}
}
}
}
Status Types
| Status | Description |
|--------|-------------|
| generating | Currently generating |
| ai_reviewing | AI review in progress |
| waiting_user_confirm | Waiting for human confirmation |
| paused | Paused |
| completed | Completed |
| error | Error state |
Script Description
pipeline.py - Main Control Loop
ai_reviewer.py - AI Quality Check
episode_generator.py - Episode Generation
graph_manager.py - Graph Management
API Description
Graph API
Query API:
{
"action": "query",
"pipeline_id": "pipeline_2026-03-05-001",
"episode": 2
}
Storage API:
{
"action": "save",
"pipeline_id": "pipeline_2026-03-05-001",
"episode": 3,
"content": "Complete generation content for episode 3..."
}
Episode Generation Logic
First Episode Generation
Based on user-provided theme and goals, generate:
Subsequent Episode Generation
Based on graph query results: 1. Read previous episode content and unclosed hooks 2. Continue main plot line 3. Handle hooks (continue/close/add) 4. Advance character growth arc 5. Adjust emotional curve
Finale Generation
When target episodes reached or user requests end:
Important Notes
1. Retry Mechanism - Max 3 retries when AI review fails 2. Pause/Resume - Can resume via pipeline_id after pause 3. Multiple Pipelines - Supports running multiple different-themed pipelines simultaneously 4. Graph Consistency - Ensure correct character and hook relationships 5. Hook Management - Track creation and closure status of each hook
Complete Workflow
Step 1: Create Pipeline
User: Start a new pipeline, theme: Cultivation boy, target 20 episodesAI: OK, creating pipeline pipeline_20260305160000
Theme: Cultivation boy
Target: 20 episodes
Style: Realistic cinematic
Status: Initialized, ready to generate episode 1
Step 2: Generate Episode
AI calls start_generation(pipeline_id) to get generation prompt, then generates episode content based on the prompt.
Step 3: Submit AI Review
AI calls submit_episode(pipeline_id, episode, content) to submit generated content, then executes AI review.
Step 4: Process Review Result
AI calls process_ai_review(pipeline_id, episode, ai_result, content) to process review results.
If review fails (score < 7), automatically retry (max 3 times).
Step 5: Wait User Confirmation
After review passes, display preview and wait for user confirmation:
๐ Episode 1 Preview
โโโโโโโโโโโโโโโโโโโโโโโโ
ใCultivation Journey BeginsใYoung Li Yun discovers a mysterious jade pendant in the mountains,
ไปๆญค่ธไธไฟฎไปไน่ทฏ...
โ
AI Score: 9.0/10
โ
New Hook: H-001 Origin of mysterious jade pendant
โโโโโโโโโโโโโโโโโโโโโโโโ
Please select:
1๏ธโฃ Approved, continue to next episode
2๏ธโฃ Needs modification (please specify)
3๏ธโฃ Pause
4๏ธโฃ End
Step 6: Process User Confirmation
After user confirms, AI calls user_confirm(pipeline_id, action, note):
Step 7: Loop Generation
Repeat steps 2-6 until target episodes reached or user ends.
API Reference
Create Pipeline
create_pipeline(theme: str, target_episodes: int, style: str = "realistic cinematic")
Returns: {"success": True, "pipeline_id": "...", "message": "..."}
Start Generation
start_generation(pipeline_id: str)
Returns: {"success": True, "episode": N, "prompt": "generation prompt"}
Submit Episode
submit_episode(pipeline_id: str, episode: int, content: str)
Returns: {"success": True, "review_prompt": "review prompt"}
Process AI Review
process_ai_review(pipeline_id: str, episode: int, ai_result: str, content: str)
Returns: {"success": True, "passed": True/False, ...}
User Confirm
user_confirm(pipeline_id: str, action: str, note: str = None)
action: "approve" / "modify" / "pause" / "end"
Returns: {"success": True, "status": "...", ...}
Get Status
get_status(pipeline_id: str)
Returns: Current pipeline status info
List Pipelines
list_pipelines()
Returns: List of all pipelines
Resume Pipeline
resume_pipeline(pipeline_id: str)
Returns: Resume result
Example Dialogue
User: Start a new pipeline, theme: Cultivation boy, target 20 episodesAI: OK, creating pipeline pipeline_20260305160000
Generating episode 1...
๐ Episode 1 Preview
โโโโโโโโโโโโโโโโโโ
ใCultivation Journey Beginsใ
Young Li Yun discovers a mysterious jade pendant in the mountains...
โ
AI Score: 9.0/10
โ
New Hook: H-001 Origin of mysterious jade pendant
Please confirm: Approve/Modify/Pause/End
User: Approved
AI: Storing graph...
Starting generation of episode 2...
Important Notes
1. Retry Mechanism: Max 3 retries when AI review fails
2. State Persistence: All states saved in data/pipeline_state.json
3. Graph Storage: Stored via remote API, requires network connection
4. Pause/Resume: Can resume via resume_pipeline after pause
5. Multiple Pipelines: Supports running multiple different-themed pipelines simultaneously
๐ก Examples
Start New Pipeline
User: Start a new story pipeline, theme: Chinese girl comeback, target episodes: 10
Continue Pipeline
User: Continue story pipeline [pipeline_id]
User Confirmation Actions
User: Approved, continue to next episode
User: Modify: [specific feedback]
User: Pause
User: End