ComfyUI Skill CLI
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.
Why comfyui-skill?
| 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 |
Install
pipx install comfyui-skill-cli
Or with pip:
pip install comfyui-skill-cli
Update
pipx upgrade comfyui-skill-cli
Development Mode
git clone https://github.com/HuangYuChuh/ComfyUI_Skill_CLI.git
cd ComfyUI_Skill_CLI
pipx install -e .
Quick Start
# 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.
ID Convention
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
Commands
Workflow Discovery & Execution
| 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> --server <id> |
Upload to a configured server (can be placed after the file path) |
comfyui-skill upload <file> --url <url> |
Upload directly to a ComfyUI URL without using server config |
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 |
Queue & Resource Management
| 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 |
Node & Model Discovery
| 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) |
Workflow Management
| 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 |
Server Management
| 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 |
Dependency Management
| 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 |
Configuration & History
| 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 |
Global Options
| 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 |
Output Modes
| 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 |
Common Management Tasks
Upload to a specific ComfyUI server
# Use a configured server; --server may appear after the file path
comfyui-skill upload ./input.png --server remote
# Use a URL directly; no config.json is required for this form
comfyui-skill upload ./input.png --url http://remote:8188
--server and --url are mutually exclusive. The global form remains supported too:
comfyui-skill --server remote upload ./input.png.
Inspect models on a server
comfyui-skill models list
comfyui-skill models list checkpoints
comfyui-skill models list loras
Use this when you need to confirm model names before wiring them into a workflow or schema.
Manage multiple workflows
# 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-flow
Move workflow bundles between machines
comfyui-skill config export --output ./bundle.json --portable-only
comfyui-skill config import ./bundle.json --dry-run
comfyui-skill config import ./bundle.json --apply-environment
Use this when you want to migrate many workflows at once instead of re-importing them manually.
Check models and dependencies before running
comfyui-skill deps check local/txt2img
comfyui-skill deps install local/txt2img --models
comfyui-skill deps install local/txt2img --all
For AI Agents
This 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
Workflow chaining (multi-step pipelines)
# 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>"}' --json
Import and validate
comfyui-skill workflow import ./workflow.json --check-deps --json
comfyui-skill deps install local/my-workflow --all --json
Contributing
Contributions are welcome! Please read the Contributing Guide in the main repository for design principles and PR workflow.
Resources
- 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.
Metadata
Release files for comfyui-skill-cli 0.2.14
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| comfyui_skill_cli-0.2.14.tar.gz | 48.7 kB | Without provenance | Details for comfyui_skill_cli-0.2.14.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| comfyui_skill_cli-0.2.14-py3-none-any.whl | Python 3 | none | any | Details for comfyui_skill_cli-0.2.14-py3-none-any.whl |
Total release size: 101.5 kB
Release files / comfyui_skill_cli-0.2.14.tar.gz
| Download URL | comfyui_skill_cli-0.2.14.tar.gz |
|---|---|
| Size | 48.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e330ae7d632dd1253ced45003216b8a27b0c2897546f5a1b012571af320fafab
|
|
BLAKE2b-256 checksum How to use checksums |
d0f58dff3ab8dc2a8cd421b0604991701796f32d3513497d3f6e81b6141d8f2b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / comfyui_skill_cli-0.2.14-py3-none-any.whl
| Download URL | comfyui_skill_cli-0.2.14-py3-none-any.whl |
|---|---|
| Size | 52.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a0a79ad0652ce18a2009b7f7b4c478dee87c8b1d0dce9a2fb16b6cbc50dc1c9f
|
|
BLAKE2b-256 checksum How to use checksums |
68a16d4ebcd27b093a92a80099b15696bdcfd786ead57adb1aa4ae6469f2805e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Security for comfyui-skill-cli 0.2.14
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.