Agent-friendly command-line tool for managing and executing ComfyUI workflow skills.
Any AI agent that can run shell commands (Claude Code, Codex, OpenClaw, etc.) can use ComfyUI through this CLI.
| Capability | Why it matters |
|---|---|
| Agent-native | Structured JSON output, pipe-friendly, designed for AI agents to call |
| Zero config | Reads config.json and data/ from the current directory, no setup needed |
| Full lifecycle | Discover, import, execute, cancel, manage workflows and dependencies in one tool |
| Multi-server | Manage multiple ComfyUI instances, route jobs to different hardware |
| Model discovery | Inspect model folders and available model names directly from the target server |
| Workflow fleet management | Import, enable, disable, delete, and migrate multiple workflows across machines |
| Error guidance | Common failures (OOM, unauthorized, missing models) return actionable hints |
pipx install comfyui-skill-cliOr with pip:
pip install comfyui-skill-clipipx upgrade comfyui-skill-cligit clone https://github.com/HuangYuChuh/ComfyUI_Skill_CLI.git
cd ComfyUI_Skill_CLI
pipx install -e .# 1. Go to your ComfyUI Skills project directory
cd /path/to/your-skills-project
# 2. Check server status
comfyui-skill server status
# 3. List available workflows
comfyui-skill list
# 4. Execute a workflow
comfyui-skill run local/txt2img --args '{"prompt": "a white cat"}'Every command supports --json for structured output.
Workflows are addressed as <server_id>/<workflow_id>:
comfyui-skill run local/txt2img # explicit server
comfyui-skill run txt2img # uses default server
comfyui-skill run txt2img -s my_server # override with --server flag| Command | Description |
|---|---|
comfyui-skill list |
List all available workflows with parameters |
comfyui-skill info <id> |
Show workflow details and parameter schema |
comfyui-skill run <id> --args '{...}' |
Execute a workflow (blocking, real-time WebSocket streaming) |
comfyui-skill run <id> --validate |
Validate workflow without executing |
comfyui-skill submit <id> --args '{...}' |
Submit a workflow (non-blocking) |
comfyui-skill status <prompt_id> |
Check execution status and show discovered results |
comfyui-skill cancel <prompt_id> |
Cancel a running or queued job |
comfyui-skill upload <file> |
Upload a file to ComfyUI for use in workflows |
comfyui-skill upload <file> --mask |
Upload a mask image for inpainting workflows |
comfyui-skill upload --from-output <prompt_id> |
Chain a previous run's output as input for the next workflow |
| Command | Description |
|---|---|
comfyui-skill queue list |
Show running and pending jobs |
comfyui-skill queue clear |
Clear all pending jobs |
comfyui-skill queue delete <prompt_id>... |
Remove specific jobs from queue |
comfyui-skill free |
Release GPU memory and unload models |
comfyui-skill free --models |
Unload models only |
comfyui-skill free --memory |
Free cached memory only |
| Command | Description |
|---|---|
comfyui-skill nodes list |
List all available ComfyUI nodes by category |
comfyui-skill nodes info <class> |
Show node input/output schema |
comfyui-skill nodes search <query> |
Search nodes by name or category |
comfyui-skill models list |
List all available model folders |
comfyui-skill models list <folder> |
List models in a specific folder (e.g., checkpoints, loras) |
| Command | Description |
|---|---|
comfyui-skill workflow import <path> |
Import workflow (auto-detect format, auto-generate schema) |
comfyui-skill workflow import --from-server |
Import one or more workflows from ComfyUI server userdata |
comfyui-skill workflow enable <id> |
Enable a workflow |
comfyui-skill workflow disable <id> |
Disable a workflow |
comfyui-skill workflow delete <id> |
Delete a workflow |
| Command | Description |
|---|---|
comfyui-skill server list |
List all configured servers |
comfyui-skill server status |
Check if ComfyUI server is online |
comfyui-skill server stats |
Show VRAM, RAM, GPU info (--all for multi-server) |
comfyui-skill server add --id <id> --url <url> |
Add a new server |
comfyui-skill server enable/disable <id> |
Toggle server availability |
comfyui-skill server remove <id> |
Remove a server |
| Command | Description |
|---|---|
comfyui-skill deps check <id> |
Check missing custom nodes and models |
comfyui-skill deps install <id> --all |
Auto-detect and install all missing deps |
comfyui-skill deps install <id> --repos '[...]' |
Install specific custom nodes |
comfyui-skill deps install <id> --models |
Install missing models via Manager |
| Command | Description |
|---|---|
comfyui-skill config export --output <path> |
Export config and workflows as bundle |
comfyui-skill config import <path> |
Import config bundle (supports --dry-run) |
comfyui-skill history list <id> |
List execution history |
comfyui-skill history show <id> <run_id> |
Show details of a specific run |
comfyui-skill jobs list |
List server-side job history (--status to filter) |
comfyui-skill jobs show <prompt_id> |
Show details of a specific job |
comfyui-skill logs show |
Show recent ComfyUI server logs |
comfyui-skill templates list |
List workflow templates from custom nodes |
comfyui-skill templates subgraphs |
List reusable subgraph components |
| Option | Description |
|---|---|
--json, -j |
Force JSON output |
--output-format |
Output format: text, json, stream-json |
--server, -s |
Specify server ID |
--dir, -d |
Specify data directory (default: current directory) |
--verbose, -v |
Verbose output |
--no-update-check |
Skip automatic CLI update check |
| Mode | When | Format |
|---|---|---|
| Text | TTY terminal | Rich tables and progress bars |
| JSON | Pipe or --json |
Single JSON result |
| Stream JSON | --output-format stream-json |
NDJSON events in real time |
| Errors | Always | stderr |
comfyui-skill models list
comfyui-skill models list checkpoints
comfyui-skill models list lorasUse this when you need to confirm model names before wiring them into a workflow or schema.
# Preview workflows available in ComfyUI server userdata
comfyui-skill workflow import --from-server --preview
# Import matching workflows from the server
comfyui-skill workflow import --from-server --name sdxl
# Temporarily disable or re-enable a workflow
comfyui-skill workflow disable local/old-flow
comfyui-skill workflow enable local/old-flow
# Remove a workflow you no longer want to expose
comfyui-skill workflow delete local/old-flowcomfyui-skill config export --output ./bundle.json --portable-only
comfyui-skill config import ./bundle.json --dry-run
comfyui-skill config import ./bundle.json --apply-environmentUse this when you want to migrate many workflows at once instead of re-importing them manually.
comfyui-skill deps check local/txt2img
comfyui-skill deps install local/txt2img --models
comfyui-skill deps install local/txt2img --allThis CLI is designed to be called from SKILL.md definitions. A typical agent workflow:
comfyui-skill server status --json # 1. verify server
comfyui-skill list --json # 2. discover workflows
comfyui-skill info local/txt2img --json # 3. check parameters
comfyui-skill run local/txt2img --args '{...}' --json # 4. execute# Run first workflow
comfyui-skill run local/txt2img --args '{"prompt": "a cat"}' --json
# Chain output into next workflow
comfyui-skill upload --from-output <prompt_id> --json
comfyui-skill run local/upscale --args '{"image": "<uploaded_name>"}' --jsoncomfyui-skill workflow import ./workflow.json --check-deps --json
comfyui-skill deps install local/my-workflow --all --jsonContributions are welcome! Please read the Contributing Guide in the main repository for design principles and PR workflow.
- ComfyUI Skills OpenClaw — Main skills repository
- ComfyUI — The backend this CLI orchestrates
- Typer — CLI framework used by this project
Built with Typer, the same framework as comfy-cli. Designed to be integrated as a comfy skills subcommand in the future.