$npx -y skills add jackspace/ClaudeSkillz --skill comfyui-workflow-helperExpert guidance for ComfyUI workflow creation, node configuration, and optimization.
| 1 | # ComfyUI Workflow Helper Skill |
| 2 | |
| 3 | Expert guidance for ComfyUI workflow creation, node configuration, and optimization. |
| 4 | |
| 5 | ## Capabilities |
| 6 | |
| 7 | This skill provides expert assistance with: |
| 8 | |
| 9 | 1. **Workflow Setup & Management** |
| 10 | - Creating custom workflows from scratch |
| 11 | - Importing and modifying existing workflows |
| 12 | - Workflow organization and structure |
| 13 | - Node connection best practices |
| 14 | |
| 15 | 2. **Node Configuration** |
| 16 | - Model loaders (Checkpoints, LoRAs, VAEs) |
| 17 | - Samplers and schedulers |
| 18 | - Conditioning nodes (prompts) |
| 19 | - Image processing nodes |
| 20 | - ControlNet integration |
| 21 | |
| 22 | 3. **Model Management** |
| 23 | - Installing models (checkpoints, VAEs, text encoders, diffusion models) |
| 24 | - Model organization in directories |
| 25 | - Model format compatibility |
| 26 | - OmniGen2 setup |
| 27 | |
| 28 | 4. **Performance Optimization** |
| 29 | - VRAM management strategies |
| 30 | - Batch processing optimization |
| 31 | - Workflow efficiency improvements |
| 32 | - Node caching strategies |
| 33 | |
| 34 | 5. **Troubleshooting** |
| 35 | - Model loading errors |
| 36 | - Node connection issues |
| 37 | - OOM (Out of Memory) errors |
| 38 | - Workflow execution failures |
| 39 | |
| 40 | ## Key Knowledge Base |
| 41 | |
| 42 | ### ComfyUI Directory Structure |
| 43 | |
| 44 | ``` |
| 45 | /srv/comfyui/ |
| 46 | ├── models/ |
| 47 | │ ├── checkpoints/ # SD models (.safetensors, .ckpt) |
| 48 | │ ├── vae/ # VAE models |
| 49 | │ ├── loras/ # LoRA models |
| 50 | │ ├── text_encoders/ # Text encoder models |
| 51 | │ ├── diffusion_models/ # Diffusion models |
| 52 | │ ├── controlnet/ # ControlNet models |
| 53 | │ ├── upscale_models/ # Upscaler models |
| 54 | │ └── embeddings/ # Textual inversion embeddings |
| 55 | ├── input/ # Input images |
| 56 | ├── output/ # Generated images |
| 57 | └── custom_nodes/ # Custom node extensions |
| 58 | ``` |
| 59 | |
| 60 | ### Essential Nodes |
| 61 | |
| 62 | **Loading Nodes:** |
| 63 | - `Load Checkpoint` - Load SD models |
| 64 | - `Load VAE` - Load VAE models |
| 65 | - `Load LoRA` - Load LoRA models |
| 66 | |
| 67 | **Conditioning Nodes:** |
| 68 | - `CLIP Text Encode (Prompt)` - Positive and negative prompts |
| 69 | - `Conditioning Combine` - Merge multiple conditioning |
| 70 | |
| 71 | **Sampling Nodes:** |
| 72 | - `KSampler` - Main sampler node |
| 73 | - `KSampler Advanced` - Advanced sampling control |
| 74 | |
| 75 | **Image Nodes:** |
| 76 | - `VAE Decode` - Convert latent to image |
| 77 | - `VAE Encode` - Convert image to latent |
| 78 | - `Save Image` - Save output |
| 79 | |
| 80 | **Model Nodes:** |
| 81 | - `Model Sampling Discrete` - Sampling configuration |
| 82 | - `Model Sampling SD3` - SD3-specific sampling |
| 83 | |
| 84 | ### OmniGen2 Setup |
| 85 | |
| 86 | **Required Models:** |
| 87 | 1. **VAE:** `ae.safetensors` → `/srv/comfyui/models/vae/` |
| 88 | 2. **Text Encoder:** `qwen_2.5_vl_fp16.safetensors` → `/srv/comfyui/models/text_encoders/` |
| 89 | 3. **Diffusion Model:** `omnigen2_fp16.safetensors` → `/srv/comfyui/models/diffusion_models/` |
| 90 | |
| 91 | **Download Script:** |
| 92 | ```bash |
| 93 | # Use the provided download script |
| 94 | /root/homelab/scripts/download-comfyui-omnigen2-models.sh |
| 95 | |
| 96 | # Or manual download: |
| 97 | mkdir -p /srv/comfyui/models/{vae,text_encoders,diffusion_models} |
| 98 | wget -O /srv/comfyui/models/vae/ae.safetensors \ |
| 99 | "https://huggingface.co/Comfy-Org/Lumina_Image_2.0_Repackaged/resolve/main/split_files/vae/ae.safetensors" |
| 100 | # ... (similar for other models) |
| 101 | ``` |
| 102 | |
| 103 | ## Common Workflows |
| 104 | |
| 105 | ### Basic txt2img Workflow |
| 106 | |
| 107 | **Nodes Required:** |
| 108 | 1. Load Checkpoint |
| 109 | 2. CLIP Text Encode (Prompt) x2 (positive & negative) |
| 110 | 3. Empty Latent Image |
| 111 | 4. KSampler |
| 112 | 5. VAE Decode |
| 113 | 6. Save Image |
| 114 | |
| 115 | **Connection Flow:** |
| 116 | ``` |
| 117 | Load Checkpoint → CLIP (positive/negative) → KSampler |
| 118 | Empty Latent → KSampler → VAE Decode → Save Image |
| 119 | Load Checkpoint → VAE Decode |
| 120 | ``` |
| 121 | |
| 122 | ### img2img Workflow |
| 123 | |
| 124 | **Additional Nodes:** |
| 125 | 1. Load Image |
| 126 | 2. VAE Encode |
| 127 | |
| 128 | **Connection Flow:** |
| 129 | ``` |
| 130 | Load Image → VAE Encode → KSampler |
| 131 | (Rest similar to txt2img) |
| 132 | ``` |
| 133 | |
| 134 | ### ControlNet Workflow |
| 135 | |
| 136 | **Additional Nodes:** |
| 137 | 1. Load ControlNet Model |
| 138 | 2. Apply ControlNet |
| 139 | 3. Preprocessor nodes (depends on ControlNet type) |
| 140 | |
| 141 | ## Usage Examples |
| 142 | |
| 143 | ### Example 1: Setting Up OmniGen2 |
| 144 | |
| 145 | **User:** "Help me set up OmniGen2 in ComfyUI" |
| 146 | |
| 147 | **Assistant Response:** |
| 148 | I'll guide you through setting up OmniGen2 in ComfyUI. |
| 149 | |
| 150 | **Step 1: Download Models** |
| 151 | |
| 152 | Run the download script: |
| 153 | ```bash |
| 154 | bash /root/homelab/scripts/download-comfyui-omnigen2-models.sh |
| 155 | ``` |
| 156 | |
| 157 | Or download manually: |
| 158 | - VAE: ae.safetensors → /srv/comfyui/models/vae/ |
| 159 | - Text Encoder: qwen_2.5_vl_fp16.safetensors → /srv/comfyui/models/text_encoders/ |
| 160 | - Diffusion Model: omnigen2_fp16.safetensors → /srv/comfyui/models/diffusion_models/ |
| 161 | |
| 162 | **Step 2: Restart ComfyUI** |
| 163 | |
| 164 | ```bash |
| 165 | # If using Docker: |
| 166 | docker restart comfyui-container |
| 167 | |
| 168 | # If using systemd: |
| 169 | sudo systemctl restart comfyui |
| 170 | |
| 171 | # If running manually: |
| 172 | # Stop and restart the ComfyUI process |
| 173 | ``` |
| 174 | |
| 175 | **Step 3: Verify in WebUI** |
| 176 | |
| 177 | 1. Open ComfyUI web interface |
| 178 | 2. Check that models appear in dropdowns: |
| 179 | - VAE loader should show "ae.safetensors" |
| 180 | - Text encoder nodes should show "qwen_2.5_vl_fp16.safetensors" |
| 181 | - Diffusion model loader should show "omnigen2_fp16.safetensors" |
| 182 | |
| 183 | **Step 4: Create Workflow** |
| 184 | |
| 185 | Use OmniGen2-specific nodes: |
| 186 | - Load the OmniGen2 diffusion model |
| 187 | - Load Qwen text encoder |
| 188 | - Load Lumina VAE |
| 189 | - Configure sampler for OmniGen2 |
| 190 | |
| 191 | ### Example 2: Creating a Basic Workflow |
| 192 | |
| 193 | **User:** |