Knowledge Comic Creator
Create original knowledge comics with multiple visual styles.
Usage
/baoyu-comic posts/turing-story/source.md /baoyu-comic # then paste content
Options
| Option | Values |
|---|---|
--style | classic (default), dramatic, warm, sepia, vibrant, ohmsha, realistic, wuxia, or custom description |
--layout | standard (default), cinematic, dense, splash, mixed, webtoon |
--aspect | 3:4 (default, portrait), 4:3 (landscape), 16:9 (widescreen) |
--lang | auto (default), zh, en, ja, etc. |
Style × Layout × Aspect can be freely combined. Custom styles can be described in natural language.
Aspect ratio is consistent across all pages in a comic.
Auto Selection
| Content Signals | Style | Layout |
|---|---|---|
| Tutorial, how-to, beginner | ohmsha | webtoon |
| Computing, AI, programming | ohmsha | dense |
| Pre-1950, classical, ancient | sepia | cinematic |
| Personal story, mentor | warm | standard |
| Conflict, breakthrough | dramatic | splash |
| Wine, food, business, lifestyle, professional | realistic | cinematic |
| Martial arts, wuxia, xianxia, Chinese historical | wuxia | splash |
| Biography, balanced | classic | mixed |
Script Directory
Important: All scripts are located in the scripts/ subdirectory of this skill.
Agent Execution Instructions:
- •Determine this SKILL.md file's directory path as
SKILL_DIR - •Script path =
${SKILL_DIR}/scripts/<script-name>.ts - •Replace all
${SKILL_DIR}in this document with the actual path
Script Reference:
| Script | Purpose |
|---|---|
scripts/merge-to-pdf.ts | Merge comic pages into PDF |
File Structure
Each session creates an independent directory named by content slug:
comic/{topic-slug}/
├── source-{slug}.{ext} # Source files (text, images, etc.)
├── analysis.md # Deep analysis results (YAML+MD)
├── storyboard-chronological.md # Variant A (preserved)
├── storyboard-thematic.md # Variant B (preserved)
├── storyboard-character.md # Variant C (preserved)
├── characters-chronological/ # Variant A chars (preserved)
│ ├── characters.md
│ └── characters.png
├── characters-thematic/ # Variant B chars (preserved)
│ ├── characters.md
│ └── characters.png
├── characters-character/ # Variant C chars (preserved)
│ ├── characters.md
│ └── characters.png
├── storyboard.md # Final selected
├── characters/ # Final selected
│ ├── characters.md
│ └── characters.png
├── prompts/
│ ├── 00-cover-[slug].md
│ └── NN-page-[slug].md
├── 00-cover-[slug].png
├── NN-page-[slug].png
└── {topic-slug}.pdf
Slug Generation:
- •Extract main topic from content (2-4 words, kebab-case)
- •Example: "Alan Turing Biography" →
alan-turing-bio
Conflict Resolution:
If comic/{topic-slug}/ already exists:
- •Append timestamp:
{topic-slug}-YYYYMMDD-HHMMSS - •Example:
turing-storyexists →turing-story-20260118-143052
Source Files:
Copy all sources with naming source-{slug}.{ext}:
- •
source-biography.md,source-portrait.jpg,source-timeline.png, etc. - •Multiple sources supported: text, images, files from conversation
Workflow
Step 1: Analyze Content → analysis.md
Read source content, save it if needed, and perform deep analysis.
Actions:
- •Save source content (if not already a file):
- •If user provides a file path: use as-is
- •If user pastes content: save to
source.mdin target directory
- •Read source content
- •Deep analysis following
references/analysis-framework.md:- •Target audience identification
- •Value proposition for readers
- •Core themes and narrative potential
- •Key figures and their story arcs
- •Detect source language
- •Determine recommended page count:
- •Short story: 5-8 pages
- •Medium complexity: 9-15 pages
- •Full biography: 16-25 pages
- •Analyze content signals for style/layout recommendations
- •Save to
analysis.md
analysis.md Format:
--- title: "Alan Turing: Father of Computing" topic: Biography time_span: 1912-1954 source_language: en user_language: zh aspect_ratio: "3:4" recommended_page_count: 12 --- ## Target Audience - **Primary**: Tech enthusiasts curious about computing history - **Secondary**: Students learning about scientific breakthroughs - **Tertiary**: General readers interested in biographical stories ## Value Proposition What readers will gain: 1. Understanding of how modern computing was born 2. Emotional connection to a brilliant but tragic figure 3. Appreciation for the human cost of innovation ## Core Themes | Theme | Narrative Potential | Visual Opportunity | |-------|--------------------|--------------------| | Genius vs. Society | High conflict, dramatic arcs | Contrast scenes | | Code-breaking | Mystery, tension | Technical diagrams as art | | Personal tragedy | Emotional depth | Intimate, somber panels | ## Key Figures & Story Arcs ### Alan Turing (Protagonist) - **Arc**: Misunderstood genius → War hero → Tragic end - **Visual identity**: Disheveled academic, intense eyes - **Key moments**: Enigma breakthrough, arrest, final days ### Christopher Morcom (Catalyst) - **Role**: Early friend whose death shaped Turing - **Visual identity**: Youthful, bright - **Key moments**: School friendship, sudden death ## Content Signals - "biography" → classic + mixed - "computing history" → ohmsha + dense - "personal tragedy" → dramatic + splash ## Recommended Approaches 1. **Chronological** - follow life timeline (recommended for biography) 2. **Thematic** - organize by contributions (good for educational focus) 3. **Character-focused** - relationships drive narrative (good for emotional impact)
Step 2: Generate 3 Storyboard Variants
Create three distinct variants, each combining a narrative approach with a recommended style.
| Variant | Narrative Approach | Recommended Style | Layout |
|---|---|---|---|
| A | Chronological | sepia | cinematic |
| B | Thematic | ohmsha | dense |
| C | Character-focused | warm | standard |
For each variant:
- •
Generate storyboard (
storyboard-{approach}.md):- •YAML front matter with narrative_approach, recommended_style, recommended_layout, aspect_ratio
- •Cover design
- •Each page: layout, panel breakdown, visual prompts
- •Written in user's preferred language
- •Reference:
references/storyboard-template.md
- •
Generate matching characters (
characters-{approach}/):- •
characters.md- visual specs matching the recommended style (in user's preferred language) - •
characters.png- character reference sheet - •Reference:
references/character-template.md
- •
All variants are preserved after selection for reference.
Step 3: User Confirms All Options
IMPORTANT: Present ALL options in a single confirmation step using AskUserQuestion. Do NOT interrupt workflow with multiple separate confirmations.
Determine which questions to ask:
| Question | When to Ask |
|---|---|
| Storyboard variant | Always (required) |
| Visual style | Always (required) |
| Language | Only if source_language ≠ user_language |
| Aspect ratio | Only if user might prefer non-default (e.g., landscape content) |
Language handling:
- •If source language = user language: Just inform user (e.g., "Comic will be in Chinese")
- •If different: Ask which language to use
All storyboards and prompts are generated in the user's selected/preferred language.
Aspect ratio handling:
- •Default: 3:4 (portrait) - standard comic format
- •Offer 4:3 (landscape) if content suits it (e.g., panoramic scenes, technical diagrams)
- •Offer 16:9 (widescreen) for cinematic content
AskUserQuestion format (example with all questions):
Question 1 (Storyboard): Which storyboard variant? - A: Chronological + sepia (Recommended) - B: Thematic + ohmsha - C: Character-focused + warm - Custom Question 2 (Style): Which visual style? - sepia (Recommended from variant) - classic / dramatic / warm / sepia / vibrant / ohmsha / realistic / wuxia - Custom description Question 3 (Language) - only if mismatch: - Chinese (source material language) - English (your preference) Question 4 (Aspect) - only if relevant: - 3:4 Portrait (Recommended) - 4:3 Landscape - 16:9 Widescreen
After confirmation:
- •Copy selected storyboard →
storyboard.md - •Copy selected characters →
characters/ - •Update YAML front matter with confirmed style, language, aspect_ratio
- •If style differs from variant's recommended: regenerate
characters/characters.png - •User may edit files directly for fine-tuning
Step 4: Generate Images
With confirmed storyboard + style + aspect ratio:
For each page (cover + pages):
- •Save prompt to
prompts/NN-{cover|page}-[slug].md(in user's preferred language) - •Generate image using confirmed style and aspect ratio
- •Report progress after each generation
Image Generation Skill Selection:
- •Check available image generation skills
- •If multiple skills available, ask user preference
Character Reference Handling:
- •If skill supports reference image: pass
characters/characters.png - •If skill does NOT support reference image: include
characters/characters.mdcontent in prompt
Session Management:
If image generation skill supports --sessionId:
- •Generate unique session ID:
comic-{topic-slug}-{timestamp} - •Use same session ID for all pages
- •Ensures visual consistency across generated images
Step 5: Merge to PDF
After all images generated:
npx -y bun ${SKILL_DIR}/scripts/merge-to-pdf.ts <comic-dir>
Creates {topic-slug}.pdf with all pages as full-page images.
Step 6: Completion Report
Comic Complete!
Title: [title] | Style: [style] | Pages: [count] | Aspect: [ratio] | Language: [lang]
Location: [path]
✓ analysis.md
✓ characters.png
✓ 00-cover-[slug].png ... NN-page-[slug].png
✓ {topic-slug}.pdf
Page Modification
Support for modifying individual pages after initial generation.
Edit Single Page
Regenerate a specific page with modified prompt:
- •Identify page to edit (e.g.,
03-page-enigma-machine.png) - •Update prompt in
prompts/03-page-enigma-machine.mdif needed - •If content changes significantly, update slug in filename
- •Regenerate image using same session ID and aspect ratio
- •Regenerate PDF
Add New Page
Insert a new page at specified position:
- •Specify insertion position (e.g., after page 3)
- •Create new prompt with appropriate slug (e.g.,
04-page-bletchley-park.md) - •Generate new page image (same aspect ratio)
- •Renumber files: All subsequent pages increment NN by 1
- •
04-page-tragedy.png→05-page-tragedy.png - •Slugs remain unchanged
- •
- •Update
storyboard.mdwith new page entry - •Regenerate PDF
Delete Page
Remove a page and renumber:
- •Identify page to delete (e.g.,
03-page-enigma-machine.png) - •Remove image file and prompt file
- •Renumber files: All subsequent pages decrement NN by 1
- •
04-page-tragedy.png→03-page-tragedy.png - •Slugs remain unchanged
- •
- •Update
storyboard.mdto remove page entry - •Regenerate PDF
File Naming Convention
Files use meaningful slugs for better readability:
NN-cover-[slug].png / NN-page-[slug].png NN-cover-[slug].md / NN-page-[slug].md (in prompts/)
Examples:
- •
00-cover-turing-story.png - •
01-page-early-life.png - •
02-page-cambridge-years.png - •
03-page-enigma-machine.png
Slug rules:
- •Derived from page title/content (kebab-case)
- •Must be unique within the comic
- •When page content changes significantly, update slug accordingly
Renumbering:
- •After add/delete, update NN prefix for affected pages
- •Slug remains unchanged unless content changes
- •Maintain sequential numbering with no gaps
Style-Specific Guidelines
Ohmsha Style (--style ohmsha)
Additional requirements for educational manga:
- •Default: Use Doraemon characters directly - No need to create new characters
- •大雄 (Nobita): Student role, curious learner
- •哆啦A梦 (Doraemon): Mentor role, explains concepts with gadgets
- •胖虎 (Gian): Antagonist/challenge role, represents obstacles or misconceptions
- •静香 (Shizuka): Supporting role, asks clarifying questions
- •Custom characters only if explicitly requested:
--characters "Student:小明,Mentor:教授" - •Must use visual metaphors (gadgets, action scenes) - NO talking heads
- •Page titles: narrative style, not "Page X: Topic"
Reference: references/ohmsha-guide.md for detailed guidelines.
References
Detailed templates and guidelines in references/ directory:
- •
analysis-framework.md- Deep content analysis for comic adaptation - •
character-template.md- Character definition format and examples - •
storyboard-template.md- Storyboard structure and panel breakdown - •
ohmsha-guide.md- Ohmsha manga style specifics - •
styles/- Detailed style definitions - •
layouts/- Detailed layout definitions
Extension Support
Custom styles and configurations via EXTEND.md.
Check paths (priority order):
- •
.baoyu-skills/baoyu-comic/EXTEND.md(project) - •
~/.baoyu-skills/baoyu-comic/EXTEND.md(user)
If found, load before Step 1. Extension content overrides defaults.