Claude-skill-registry comfyui

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/comfyui" ~/.claude/skills/majiayu000-claude-skill-registry-comfyui && rm -rf "$T"
manifest: skills/data/comfyui/SKILL.md
source content

ComfyUI - Stable Diffusion Interface

Overview

ComfyUI is a powerful node-based Stable Diffusion interface for AI image generation. The

comfyui
command manages the ComfyUI container, including configuration, lifecycle management, model downloads, and custom node management.

Key Concept: This is a system command - run with

ujust
from anywhere on the system. ComfyUI runs as a Podman Quadlet service. By default, data is ephemeral (stored inside the container). Configure volume mounts for persistent storage.

Quick Reference

ActionCommandDescription
Config
ujust comfyui config [--models-dir=...] [--output-dir=...] [--port=...]
Configure ComfyUI
Start
ujust comfyui start
Start ComfyUI server
Stop
ujust comfyui stop
Stop ComfyUI server
Restart
ujust comfyui restart
Restart ComfyUI server
Status
ujust comfyui status
Show status and model counts
Logs
ujust comfyui logs [--lines=...]
View service logs
Open
ujust comfyui open
Open UI in browser
Shell
ujust comfyui shell [-- CMD...]
Open shell in container
Download model
ujust comfyui download --model-url=<url> --model-type=<type>
Download from CivitAI
List models
ujust comfyui models
List installed models
Install node
ujust comfyui node-install --node-url=<url>
Install custom node
List nodes
ujust comfyui node-list
List custom nodes
Update nodes
ujust comfyui node-update
Update all nodes
Delete
ujust comfyui delete
Remove ComfyUI and images

Configuration

Parameters

ParameterLong FlagShortDefaultDescription
Port
--port
-p
8188
Web UI port
GPU Type
--gpu-type
-g
auto
GPU: nvidia/amd/intel/auto
Image
--image
-i
(default image)Container image
Tag
--tag
-t
stable
Image tag
Models Dir
--models-dir
-(empty)Path for SD models
Output Dir
--output-dir
-(empty)Path for generated images
Input Dir
--input-dir
-(empty)Path for input images
Nodes Dir
--nodes-dir
-(empty)Path for custom nodes
Workspace
--workspace-dir
-w
(empty)Optional mount to /workspace
Bind
--bind
-b
127.0.0.1
Bind address
Lines
--lines
-l
50
Log lines to show
Instance
--instance
-n
1
Instance number

Important: All directory parameters default to empty. When empty, data is stored inside the container and will be lost when the container is recreated. For persistent storage, provide explicit paths.

Configuration Examples

# Ephemeral mode - no persistent storage (data lost on container recreation)
ujust comfyui config

# Persist models only (most common)
ujust comfyui config --models-dir=/data/models

# Persist models and output
ujust comfyui config --models-dir=/data/models --output-dir=/data/output

# Persist models and custom_nodes
ujust comfyui config --models-dir=/data/models --nodes-dir=/data/nodes

# All directories with custom port and GPU
ujust comfyui config --models-dir=/data/models --output-dir=/data/output \
  --input-dir=/data/input --nodes-dir=/data/nodes --port=8189 --gpu-type=nvidia

# With short forms
ujust comfyui config -p 8189 -g nvidia --models-dir=/data/models

# Network-wide access
ujust comfyui config --bind=0.0.0.0

Update Existing Configuration

Running

config
when already configured will update the existing configuration, preserving values not explicitly changed:

# Initially configured with defaults
ujust comfyui config

# Later, add models directory (other settings preserved)
ujust comfyui config --models-dir=/data/models

Shell Access

# Interactive bash shell
ujust comfyui shell

# Run specific command (use -- separator)
ujust comfyui shell -- pip list
ujust comfyui shell -- nvidia-smi

Model Downloads

download

ujust comfyui download --model-url=<URL> --model-type=<TYPE>
ParameterFlagDescription
URL
--model-url
CivitAI URL, model ID, or direct download URL
Type
--model-type
Model type (see below)

Requires:

--models-dir
must be configured (not ephemeral)

Model Types:

TypeDirectoryDescription
checkpoint
checkpoints/Main SD models
lora
loras/LoRA adapters
vae
vae/VAE models
embedding
embeddings/Textual inversions
controlnet
controlnet/ControlNet models
upscale
upscale_models/Upscaler models

Download Examples

# By CivitAI URL
ujust comfyui download --model-url=https://civitai.com/models/101055 --model-type=checkpoint

# By model ID
ujust comfyui download --model-url=101055 --model-type=checkpoint

# LoRA model
ujust comfyui download --model-url=123456 --model-type=lora

# Direct URL
ujust comfyui download --model-url=https://example.com/model.safetensors --model-type=vae

Custom Nodes

node-install

ujust comfyui node-install --node-url=<GIT_URL>

Requires:

--nodes-dir
must be configured (not ephemeral)

ParameterFlagDescription
GIT_URL
--node-url
Git repository URL for custom node

Popular Custom Nodes

# ComfyUI-Manager (recommended)
ujust comfyui node-install --node-url=https://github.com/ltdrdata/ComfyUI-Manager

# Impact Pack
ujust comfyui node-install --node-url=https://github.com/ltdrdata/ComfyUI-Impact-Pack

# ControlNet Aux
ujust comfyui node-install --node-url=https://github.com/Fannovel16/comfyui_controlnet_aux

# List installed nodes
ujust comfyui node-list

# Update all nodes
ujust comfyui node-update

Data Storage

Ephemeral Mode (Default)

When no directories are configured, ComfyUI uses internal container directories:

  • Data is stored inside the container
  • All data is lost when container is recreated
  • Suitable for testing or temporary use

Persistent Mode

When directories are configured, they are mounted into the container:

/path/to/models/           # Your MODELS_DIR
├── checkpoints/           # Main SD models (.safetensors, .ckpt)
├── loras/                 # LoRA adapters
├── vae/                   # VAE models
├── embeddings/            # Textual inversions
├── controlnet/            # ControlNet models
└── upscale_models/        # Upscaler models

/path/to/output/           # Your OUTPUT_DIR - generated images
/path/to/input/            # Your INPUT_DIR - input images for img2img
/path/to/custom_nodes/     # Your CUSTOM_NODES_DIR - node extensions

Common Workflows

Initial Setup (Persistent)

# 1. Configure with persistent models directory
ujust comfyui config --models-dir=/data/comfyui/models

# 2. Download a checkpoint model
ujust comfyui download --model-url=https://civitai.com/models/101055 --model-type=checkpoint

# 3. Start ComfyUI
ujust comfyui start

# 4. Open in browser
ujust comfyui open

Quick Test (Ephemeral)

# 1. Configure with defaults (ephemeral)
ujust comfyui config

# 2. Start ComfyUI
ujust comfyui start

# 3. Open in browser
ujust comfyui open

# Note: Download models via the UI - they will be lost on container recreation

Daily Usage

# Start ComfyUI
ujust comfyui start

# Open in browser
ujust comfyui open

# View logs
ujust comfyui logs

# Stop when done
ujust comfyui stop

GPU Support

ComfyUI automatically detects and configures GPU acceleration:

GPUConfigurationPerformance
NVIDIACDI device passthroughFull CUDA acceleration
AMD/dev/dri + /dev/kfdROCm acceleration
Intel/dev/drioneAPI acceleration
CPUFallback modeVery slow (not recommended)

NVIDIA Setup

If NVIDIA GPU is not detected:

# Generate CDI specification
sudo nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml

# Reconfigure ComfyUI
ujust comfyui delete
ujust comfyui config /data/models

Troubleshooting

Model/Node Commands Fail

Symptom: "No MODELS_DIR configured" or "No CUSTOM_NODES_DIR configured"

Cause: Using ephemeral mode (no directories configured)

Fix: Reconfigure with persistent directories:

# Add models directory
ujust comfyui config --models-dir=/path/to/models

# Or add both models and custom_nodes
ujust comfyui config --models-dir=/path/to/models --nodes-dir=/path/to/nodes

Model Not Appearing

Symptom: Downloaded model not visible in ComfyUI

Fix:

# Restart ComfyUI to reload models
ujust comfyui restart

# Verify model is in correct directory
ls /path/to/your/models/checkpoints/

CivitAI Download Fails

Symptom: Cannot download from CivitAI

Cause: Model requires authentication or is restricted

Fix:

# Download manually and place in appropriate directory
mv ~/Downloads/model.safetensors /path/to/models/checkpoints/

Out of Memory

Symptom: CUDA out of memory error

Fix: Check logs and consider using smaller models or lower precision:

ujust comfyui logs

Service Won't Start

Symptom: ComfyUI fails to start

Fix:

# Check logs for errors
ujust comfyui logs

# Verify GPU access
nvidia-smi

# Delete and reconfigure
ujust comfyui delete
ujust comfyui config --models-dir=/data/models

Configuration Files

FilePurposeLocation
Instance configSettings
~/.config/comfyui/1.env
Quadlet fileService definition
~/.config/containers/systemd/comfyui-1.container

Cross-References

When to Use This Skill

Use when the user asks about:

  • "comfyui", "stable diffusion", "image generation"
  • "download model", "civitai", "checkpoint", "lora"
  • "custom nodes", "comfyui manager"
  • "ujust comfyui", "start comfyui", "configure comfyui"
  • "gpu image generation", "ai art"