comfyui-skill-cli 0.2.6__tar.gz → 0.2.8__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. comfyui_skill_cli-0.2.8/PKG-INFO +327 -0
  2. comfyui_skill_cli-0.2.8/README.md +296 -0
  3. comfyui_skill_cli-0.2.8/comfyui_skill_cli.egg-info/PKG-INFO +327 -0
  4. {comfyui_skill_cli-0.2.6 → comfyui_skill_cli-0.2.8}/comfyui_skill_cli.egg-info/SOURCES.txt +7 -1
  5. comfyui_skill_cli-0.2.8/comfyui_skill_cli.egg-info/requires.txt +7 -0
  6. {comfyui_skill_cli-0.2.6 → comfyui_skill_cli-0.2.8}/comfyui_skills_cli/client.py +136 -4
  7. {comfyui_skill_cli-0.2.6 → comfyui_skill_cli-0.2.8}/comfyui_skills_cli/commands/cancel.py +1 -0
  8. {comfyui_skill_cli-0.2.6 → comfyui_skill_cli-0.2.8}/comfyui_skills_cli/commands/free.py +1 -0
  9. comfyui_skill_cli-0.2.8/comfyui_skills_cli/commands/history.py +208 -0
  10. comfyui_skill_cli-0.2.8/comfyui_skills_cli/commands/logs.py +33 -0
  11. {comfyui_skill_cli-0.2.6 → comfyui_skill_cli-0.2.8}/comfyui_skills_cli/commands/models.py +5 -19
  12. comfyui_skill_cli-0.2.8/comfyui_skills_cli/commands/nodes.py +168 -0
  13. {comfyui_skill_cli-0.2.6 → comfyui_skill_cli-0.2.8}/comfyui_skills_cli/commands/queue.py +7 -21
  14. {comfyui_skill_cli-0.2.6 → comfyui_skill_cli-0.2.8}/comfyui_skills_cli/commands/run.py +174 -21
  15. {comfyui_skill_cli-0.2.6 → comfyui_skill_cli-0.2.8}/comfyui_skills_cli/commands/server.py +61 -0
  16. comfyui_skill_cli-0.2.8/comfyui_skills_cli/commands/templates.py +48 -0
  17. {comfyui_skill_cli-0.2.6 → comfyui_skill_cli-0.2.8}/comfyui_skills_cli/commands/upload.py +11 -2
  18. {comfyui_skill_cli-0.2.6 → comfyui_skill_cli-0.2.8}/comfyui_skills_cli/commands/workflow.py +61 -7
  19. {comfyui_skill_cli-0.2.6 → comfyui_skill_cli-0.2.8}/comfyui_skills_cli/config.py +6 -1
  20. comfyui_skill_cli-0.2.8/comfyui_skills_cli/error_hints.py +100 -0
  21. {comfyui_skill_cli-0.2.6 → comfyui_skill_cli-0.2.8}/comfyui_skills_cli/main.py +5 -2
  22. {comfyui_skill_cli-0.2.6 → comfyui_skill_cli-0.2.8}/comfyui_skills_cli/storage.py +25 -5
  23. comfyui_skill_cli-0.2.8/comfyui_skills_cli/utils.py +26 -0
  24. {comfyui_skill_cli-0.2.6 → comfyui_skill_cli-0.2.8}/pyproject.toml +5 -1
  25. comfyui_skill_cli-0.2.8/tests/test_client.py +279 -0
  26. comfyui_skill_cli-0.2.8/tests/test_error_hints.py +95 -0
  27. comfyui_skill_cli-0.2.8/tests/test_nodes.py +47 -0
  28. comfyui_skill_cli-0.2.6/PKG-INFO +0 -229
  29. comfyui_skill_cli-0.2.6/README.md +0 -201
  30. comfyui_skill_cli-0.2.6/comfyui_skill_cli.egg-info/PKG-INFO +0 -229
  31. comfyui_skill_cli-0.2.6/comfyui_skill_cli.egg-info/requires.txt +0 -3
  32. comfyui_skill_cli-0.2.6/comfyui_skills_cli/commands/history.py +0 -96
  33. comfyui_skill_cli-0.2.6/comfyui_skills_cli/error_hints.py +0 -43
  34. comfyui_skill_cli-0.2.6/tests/test_client_new_apis.py +0 -150
  35. {comfyui_skill_cli-0.2.6 → comfyui_skill_cli-0.2.8}/LICENSE +0 -0
  36. {comfyui_skill_cli-0.2.6 → comfyui_skill_cli-0.2.8}/comfyui_skill_cli.egg-info/dependency_links.txt +0 -0
  37. {comfyui_skill_cli-0.2.6 → comfyui_skill_cli-0.2.8}/comfyui_skill_cli.egg-info/entry_points.txt +0 -0
  38. {comfyui_skill_cli-0.2.6 → comfyui_skill_cli-0.2.8}/comfyui_skill_cli.egg-info/top_level.txt +0 -0
  39. {comfyui_skill_cli-0.2.6 → comfyui_skill_cli-0.2.8}/comfyui_skills_cli/__init__.py +0 -0
  40. {comfyui_skill_cli-0.2.6 → comfyui_skill_cli-0.2.8}/comfyui_skills_cli/__main__.py +0 -0
  41. {comfyui_skill_cli-0.2.6 → comfyui_skill_cli-0.2.8}/comfyui_skills_cli/commands/__init__.py +0 -0
  42. {comfyui_skill_cli-0.2.6 → comfyui_skill_cli-0.2.8}/comfyui_skills_cli/commands/config.py +0 -0
  43. {comfyui_skill_cli-0.2.6 → comfyui_skill_cli-0.2.8}/comfyui_skills_cli/commands/deps.py +0 -0
  44. {comfyui_skill_cli-0.2.6 → comfyui_skill_cli-0.2.8}/comfyui_skills_cli/commands/skill.py +0 -0
  45. {comfyui_skill_cli-0.2.6 → comfyui_skill_cli-0.2.8}/comfyui_skills_cli/output.py +0 -0
  46. {comfyui_skill_cli-0.2.6 → comfyui_skill_cli-0.2.8}/comfyui_skills_cli/update_check.py +0 -0
  47. {comfyui_skill_cli-0.2.6 → comfyui_skill_cli-0.2.8}/setup.cfg +0 -0
  48. {comfyui_skill_cli-0.2.6 → comfyui_skill_cli-0.2.8}/tests/test_update_check.py +0 -0
@@ -0,0 +1,327 @@
1
+ Metadata-Version: 2.4
2
+ Name: comfyui-skill-cli
3
+ Version: 0.2.8
4
+ Summary: ComfyUI Skill CLI — Agent-friendly workflow management
5
+ Author: HuangYuChuh
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/HuangYuChuh/ComfyUI_Skill_CLI
8
+ Project-URL: Repository, https://github.com/HuangYuChuh/ComfyUI_Skill_CLI
9
+ Project-URL: Issues, https://github.com/HuangYuChuh/ComfyUI_Skill_CLI/issues
10
+ Keywords: comfyui,cli,agent,skill,workflow,ai,image-generation
11
+ Classifier: Development Status :: 3 - Alpha
12
+ Classifier: Environment :: Console
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.10
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Classifier: Programming Language :: Python :: 3.13
19
+ Classifier: Topic :: Software Development :: Libraries
20
+ Classifier: Topic :: Multimedia :: Graphics
21
+ Requires-Python: >=3.10
22
+ Description-Content-Type: text/markdown
23
+ License-File: LICENSE
24
+ Requires-Dist: typer>=0.9
25
+ Requires-Dist: rich>=13.0
26
+ Requires-Dist: requests>=2.28
27
+ Requires-Dist: websocket-client>=1.0
28
+ Provides-Extra: streaming
29
+ Requires-Dist: websocket-client>=1.0; extra == "streaming"
30
+ Dynamic: license-file
31
+
32
+ <div align="center">
33
+
34
+ <h1>ComfyUI Skill CLI</h1>
35
+
36
+ <p><strong>Agent-friendly command-line tool for managing and executing ComfyUI workflow skills.</strong></p>
37
+
38
+ <p>
39
+ Any AI agent that can run shell commands (Claude Code, Codex, OpenClaw, etc.) can use ComfyUI through this CLI.
40
+ </p>
41
+
42
+ <p>
43
+ <a href="https://pypi.org/project/comfyui-skill-cli/"><img src="https://img.shields.io/pypi/v/comfyui-skill-cli?style=flat&color=4F46E5&logo=pypi&logoColor=white" alt="PyPI"></a>
44
+ <a href="https://github.com/HuangYuChuh/ComfyUI_Skill_CLI/blob/main/LICENSE"><img src="https://img.shields.io/github/license/HuangYuChuh/ComfyUI_Skill_CLI?style=flat&color=10B981" alt="License"></a>
45
+ <a href="https://www.python.org/"><img src="https://img.shields.io/static/v1?label=Python&message=3.10%2B&color=3B82F6&style=flat&logo=python&logoColor=white" alt="Python 3.10+"></a>
46
+ <a href="https://github.com/HuangYuChuh/ComfyUI_Skill_CLI/stargazers"><img src="https://img.shields.io/github/stars/HuangYuChuh/ComfyUI_Skill_CLI?style=flat&color=EAB308&logo=github" alt="GitHub stars"></a>
47
+ </p>
48
+
49
+ <p>
50
+ <a href="#install">Install</a> ·
51
+ <a href="#quick-start">Quick Start</a> ·
52
+ <a href="#commands">Commands</a> ·
53
+ <a href="#for-ai-agents">For AI Agents</a>
54
+ </p>
55
+
56
+ <p>
57
+ <strong>English</strong> ·
58
+ <a href="./README.zh.md">简体中文</a> ·
59
+ <a href="./README.zh-TW.md">繁體中文</a> ·
60
+ <a href="./README.ja.md">日本語</a> ·
61
+ <a href="./README.ko.md">한국어</a> ·
62
+ <a href="./README.es.md">Español</a>
63
+ </p>
64
+
65
+ </div>
66
+
67
+ ---
68
+
69
+ ## Why comfyui-skill?
70
+
71
+ | Capability | Why it matters |
72
+ |------------|----------------|
73
+ | **Agent-native** | Structured JSON output, pipe-friendly, designed for AI agents to call |
74
+ | **Zero config** | Reads `config.json` and `data/` from the current directory, no setup needed |
75
+ | **Full lifecycle** | Discover, import, execute, cancel, manage workflows and dependencies in one tool |
76
+ | **Multi-server** | Manage multiple ComfyUI instances, route jobs to different hardware |
77
+ | **Model discovery** | Inspect model folders and available model names directly from the target server |
78
+ | **Workflow fleet management** | Import, enable, disable, delete, and migrate multiple workflows across machines |
79
+ | **Error guidance** | Common failures (OOM, unauthorized, missing models) return actionable hints |
80
+
81
+ <a id="install"></a>
82
+ ## Install
83
+
84
+ ```bash
85
+ pipx install comfyui-skill-cli
86
+ ```
87
+
88
+ Or with pip:
89
+
90
+ ```bash
91
+ pip install comfyui-skill-cli
92
+ ```
93
+
94
+ ### Update
95
+
96
+ ```bash
97
+ pipx upgrade comfyui-skill-cli
98
+ ```
99
+
100
+ ### Development Mode
101
+
102
+ ```bash
103
+ git clone https://github.com/HuangYuChuh/ComfyUI_Skill_CLI.git
104
+ cd ComfyUI_Skill_CLI
105
+ pipx install -e .
106
+ ```
107
+
108
+ <a id="quick-start"></a>
109
+ ## Quick Start
110
+
111
+ ```bash
112
+ # 1. Go to your ComfyUI Skills project directory
113
+ cd /path/to/your-skills-project
114
+
115
+ # 2. Check server status
116
+ comfyui-skill server status
117
+
118
+ # 3. List available workflows
119
+ comfyui-skill list
120
+
121
+ # 4. Execute a workflow
122
+ comfyui-skill run local/txt2img --args '{"prompt": "a white cat"}'
123
+ ```
124
+
125
+ Every command supports `--json` for structured output.
126
+
127
+ ## ID Convention
128
+
129
+ Workflows are addressed as `<server_id>/<workflow_id>`:
130
+
131
+ ```bash
132
+ comfyui-skill run local/txt2img # explicit server
133
+ comfyui-skill run txt2img # uses default server
134
+ comfyui-skill run txt2img -s my_server # override with --server flag
135
+ ```
136
+
137
+ <a id="commands"></a>
138
+ ## Commands
139
+
140
+ ### Workflow Discovery & Execution
141
+
142
+ | Command | Description |
143
+ |---------|-------------|
144
+ | `comfyui-skill list` | List all available workflows with parameters |
145
+ | `comfyui-skill info <id>` | Show workflow details and parameter schema |
146
+ | `comfyui-skill run <id> --args '{...}'` | Execute a workflow (blocking, real-time WebSocket streaming) |
147
+ | `comfyui-skill run <id> --validate` | Validate workflow without executing |
148
+ | `comfyui-skill submit <id> --args '{...}'` | Submit a workflow (non-blocking) |
149
+ | `comfyui-skill status <prompt_id>` | Check execution status and show discovered results |
150
+ | `comfyui-skill cancel <prompt_id>` | Cancel a running or queued job |
151
+ | `comfyui-skill upload <file>` | Upload a file to ComfyUI for use in workflows |
152
+ | `comfyui-skill upload <file> --mask` | Upload a mask image for inpainting workflows |
153
+ | `comfyui-skill upload --from-output <prompt_id>` | Chain a previous run's output as input for the next workflow |
154
+
155
+ ### Queue & Resource Management
156
+
157
+ | Command | Description |
158
+ |---------|-------------|
159
+ | `comfyui-skill queue list` | Show running and pending jobs |
160
+ | `comfyui-skill queue clear` | Clear all pending jobs |
161
+ | `comfyui-skill queue delete <prompt_id>...` | Remove specific jobs from queue |
162
+ | `comfyui-skill free` | Release GPU memory and unload models |
163
+ | `comfyui-skill free --models` | Unload models only |
164
+ | `comfyui-skill free --memory` | Free cached memory only |
165
+
166
+ ### Node & Model Discovery
167
+
168
+ | Command | Description |
169
+ |---------|-------------|
170
+ | `comfyui-skill nodes list` | List all available ComfyUI nodes by category |
171
+ | `comfyui-skill nodes info <class>` | Show node input/output schema |
172
+ | `comfyui-skill nodes search <query>` | Search nodes by name or category |
173
+ | `comfyui-skill models list` | List all available model folders |
174
+ | `comfyui-skill models list <folder>` | List models in a specific folder (e.g., `checkpoints`, `loras`) |
175
+
176
+ ### Workflow Management
177
+
178
+ | Command | Description |
179
+ |---------|-------------|
180
+ | `comfyui-skill workflow import <path>` | Import workflow (auto-detect format, auto-generate schema) |
181
+ | `comfyui-skill workflow import --from-server` | Import one or more workflows from ComfyUI server userdata |
182
+ | `comfyui-skill workflow enable <id>` | Enable a workflow |
183
+ | `comfyui-skill workflow disable <id>` | Disable a workflow |
184
+ | `comfyui-skill workflow delete <id>` | Delete a workflow |
185
+
186
+ ### Server Management
187
+
188
+ | Command | Description |
189
+ |---------|-------------|
190
+ | `comfyui-skill server list` | List all configured servers |
191
+ | `comfyui-skill server status` | Check if ComfyUI server is online |
192
+ | `comfyui-skill server stats` | Show VRAM, RAM, GPU info (`--all` for multi-server) |
193
+ | `comfyui-skill server add --id <id> --url <url>` | Add a new server |
194
+ | `comfyui-skill server enable/disable <id>` | Toggle server availability |
195
+ | `comfyui-skill server remove <id>` | Remove a server |
196
+
197
+ ### Dependency Management
198
+
199
+ | Command | Description |
200
+ |---------|-------------|
201
+ | `comfyui-skill deps check <id>` | Check missing custom nodes and models |
202
+ | `comfyui-skill deps install <id> --all` | Auto-detect and install all missing deps |
203
+ | `comfyui-skill deps install <id> --repos '[...]'` | Install specific custom nodes |
204
+ | `comfyui-skill deps install <id> --models` | Install missing models via Manager |
205
+
206
+ ### Configuration & History
207
+
208
+ | Command | Description |
209
+ |---------|-------------|
210
+ | `comfyui-skill config export --output <path>` | Export config and workflows as bundle |
211
+ | `comfyui-skill config import <path>` | Import config bundle (supports `--dry-run`) |
212
+ | `comfyui-skill history list <id>` | List execution history |
213
+ | `comfyui-skill history show <id> <run_id>` | Show details of a specific run |
214
+ | `comfyui-skill jobs list` | List server-side job history (`--status` to filter) |
215
+ | `comfyui-skill jobs show <prompt_id>` | Show details of a specific job |
216
+ | `comfyui-skill logs show` | Show recent ComfyUI server logs |
217
+ | `comfyui-skill templates list` | List workflow templates from custom nodes |
218
+ | `comfyui-skill templates subgraphs` | List reusable subgraph components |
219
+
220
+ ### Global Options
221
+
222
+ | Option | Description |
223
+ |--------|-------------|
224
+ | `--json, -j` | Force JSON output |
225
+ | `--output-format` | Output format: `text`, `json`, `stream-json` |
226
+ | `--server, -s` | Specify server ID |
227
+ | `--dir, -d` | Specify data directory (default: current directory) |
228
+ | `--verbose, -v` | Verbose output |
229
+ | `--no-update-check` | Skip automatic CLI update check |
230
+
231
+ ### Output Modes
232
+
233
+ | Mode | When | Format |
234
+ |------|------|--------|
235
+ | Text | TTY terminal | Rich tables and progress bars |
236
+ | JSON | Pipe or `--json` | Single JSON result |
237
+ | Stream JSON | `--output-format stream-json` | NDJSON events in real time |
238
+ | Errors | Always | stderr |
239
+
240
+ ## Common Management Tasks
241
+
242
+ ### Inspect models on a server
243
+
244
+ ```bash
245
+ comfyui-skill models list
246
+ comfyui-skill models list checkpoints
247
+ comfyui-skill models list loras
248
+ ```
249
+
250
+ Use this when you need to confirm model names before wiring them into a workflow or schema.
251
+
252
+ ### Manage multiple workflows
253
+
254
+ ```bash
255
+ # Preview workflows available in ComfyUI server userdata
256
+ comfyui-skill workflow import --from-server --preview
257
+
258
+ # Import matching workflows from the server
259
+ comfyui-skill workflow import --from-server --name sdxl
260
+
261
+ # Temporarily disable or re-enable a workflow
262
+ comfyui-skill workflow disable local/old-flow
263
+ comfyui-skill workflow enable local/old-flow
264
+
265
+ # Remove a workflow you no longer want to expose
266
+ comfyui-skill workflow delete local/old-flow
267
+ ```
268
+
269
+ ### Move workflow bundles between machines
270
+
271
+ ```bash
272
+ comfyui-skill config export --output ./bundle.json --portable-only
273
+ comfyui-skill config import ./bundle.json --dry-run
274
+ comfyui-skill config import ./bundle.json --apply-environment
275
+ ```
276
+
277
+ Use this when you want to migrate many workflows at once instead of re-importing them manually.
278
+
279
+ ### Check models and dependencies before running
280
+
281
+ ```bash
282
+ comfyui-skill deps check local/txt2img
283
+ comfyui-skill deps install local/txt2img --models
284
+ comfyui-skill deps install local/txt2img --all
285
+ ```
286
+
287
+ <a id="for-ai-agents"></a>
288
+ ## For AI Agents
289
+
290
+ This CLI is designed to be called from `SKILL.md` definitions. A typical agent workflow:
291
+
292
+ ```bash
293
+ comfyui-skill server status --json # 1. verify server
294
+ comfyui-skill list --json # 2. discover workflows
295
+ comfyui-skill info local/txt2img --json # 3. check parameters
296
+ comfyui-skill run local/txt2img --args '{...}' --json # 4. execute
297
+ ```
298
+
299
+ ### Workflow chaining (multi-step pipelines)
300
+
301
+ ```bash
302
+ # Run first workflow
303
+ comfyui-skill run local/txt2img --args '{"prompt": "a cat"}' --json
304
+
305
+ # Chain output into next workflow
306
+ comfyui-skill upload --from-output <prompt_id> --json
307
+ comfyui-skill run local/upscale --args '{"image": "<uploaded_name>"}' --json
308
+ ```
309
+
310
+ ### Import and validate
311
+
312
+ ```bash
313
+ comfyui-skill workflow import ./workflow.json --check-deps --json
314
+ comfyui-skill deps install local/my-workflow --all --json
315
+ ```
316
+
317
+ ## Contributing
318
+
319
+ Contributions are welcome! Please read the [Contributing Guide](https://github.com/HuangYuChuh/ComfyUI_Skills_OpenClaw/blob/main/CONTRIBUTING.md) in the main repository for design principles and PR workflow.
320
+
321
+ ## Resources
322
+
323
+ - [ComfyUI Skills OpenClaw](https://github.com/HuangYuChuh/ComfyUI_Skills_OpenClaw) — Main skills repository
324
+ - [ComfyUI](https://github.com/comfyanonymous/ComfyUI) — The backend this CLI orchestrates
325
+ - [Typer](https://typer.tiangolo.com/) — CLI framework used by this project
326
+
327
+ Built with [Typer](https://typer.tiangolo.com/), the same framework as [comfy-cli](https://github.com/Comfy-Org/comfy-cli). Designed to be integrated as a `comfy skills` subcommand in the future.
@@ -0,0 +1,296 @@
1
+ <div align="center">
2
+
3
+ <h1>ComfyUI Skill CLI</h1>
4
+
5
+ <p><strong>Agent-friendly command-line tool for managing and executing ComfyUI workflow skills.</strong></p>
6
+
7
+ <p>
8
+ Any AI agent that can run shell commands (Claude Code, Codex, OpenClaw, etc.) can use ComfyUI through this CLI.
9
+ </p>
10
+
11
+ <p>
12
+ <a href="https://pypi.org/project/comfyui-skill-cli/"><img src="https://img.shields.io/pypi/v/comfyui-skill-cli?style=flat&color=4F46E5&logo=pypi&logoColor=white" alt="PyPI"></a>
13
+ <a href="https://github.com/HuangYuChuh/ComfyUI_Skill_CLI/blob/main/LICENSE"><img src="https://img.shields.io/github/license/HuangYuChuh/ComfyUI_Skill_CLI?style=flat&color=10B981" alt="License"></a>
14
+ <a href="https://www.python.org/"><img src="https://img.shields.io/static/v1?label=Python&message=3.10%2B&color=3B82F6&style=flat&logo=python&logoColor=white" alt="Python 3.10+"></a>
15
+ <a href="https://github.com/HuangYuChuh/ComfyUI_Skill_CLI/stargazers"><img src="https://img.shields.io/github/stars/HuangYuChuh/ComfyUI_Skill_CLI?style=flat&color=EAB308&logo=github" alt="GitHub stars"></a>
16
+ </p>
17
+
18
+ <p>
19
+ <a href="#install">Install</a> ·
20
+ <a href="#quick-start">Quick Start</a> ·
21
+ <a href="#commands">Commands</a> ·
22
+ <a href="#for-ai-agents">For AI Agents</a>
23
+ </p>
24
+
25
+ <p>
26
+ <strong>English</strong> ·
27
+ <a href="./README.zh.md">简体中文</a> ·
28
+ <a href="./README.zh-TW.md">繁體中文</a> ·
29
+ <a href="./README.ja.md">日本語</a> ·
30
+ <a href="./README.ko.md">한국어</a> ·
31
+ <a href="./README.es.md">Español</a>
32
+ </p>
33
+
34
+ </div>
35
+
36
+ ---
37
+
38
+ ## Why comfyui-skill?
39
+
40
+ | Capability | Why it matters |
41
+ |------------|----------------|
42
+ | **Agent-native** | Structured JSON output, pipe-friendly, designed for AI agents to call |
43
+ | **Zero config** | Reads `config.json` and `data/` from the current directory, no setup needed |
44
+ | **Full lifecycle** | Discover, import, execute, cancel, manage workflows and dependencies in one tool |
45
+ | **Multi-server** | Manage multiple ComfyUI instances, route jobs to different hardware |
46
+ | **Model discovery** | Inspect model folders and available model names directly from the target server |
47
+ | **Workflow fleet management** | Import, enable, disable, delete, and migrate multiple workflows across machines |
48
+ | **Error guidance** | Common failures (OOM, unauthorized, missing models) return actionable hints |
49
+
50
+ <a id="install"></a>
51
+ ## Install
52
+
53
+ ```bash
54
+ pipx install comfyui-skill-cli
55
+ ```
56
+
57
+ Or with pip:
58
+
59
+ ```bash
60
+ pip install comfyui-skill-cli
61
+ ```
62
+
63
+ ### Update
64
+
65
+ ```bash
66
+ pipx upgrade comfyui-skill-cli
67
+ ```
68
+
69
+ ### Development Mode
70
+
71
+ ```bash
72
+ git clone https://github.com/HuangYuChuh/ComfyUI_Skill_CLI.git
73
+ cd ComfyUI_Skill_CLI
74
+ pipx install -e .
75
+ ```
76
+
77
+ <a id="quick-start"></a>
78
+ ## Quick Start
79
+
80
+ ```bash
81
+ # 1. Go to your ComfyUI Skills project directory
82
+ cd /path/to/your-skills-project
83
+
84
+ # 2. Check server status
85
+ comfyui-skill server status
86
+
87
+ # 3. List available workflows
88
+ comfyui-skill list
89
+
90
+ # 4. Execute a workflow
91
+ comfyui-skill run local/txt2img --args '{"prompt": "a white cat"}'
92
+ ```
93
+
94
+ Every command supports `--json` for structured output.
95
+
96
+ ## ID Convention
97
+
98
+ Workflows are addressed as `<server_id>/<workflow_id>`:
99
+
100
+ ```bash
101
+ comfyui-skill run local/txt2img # explicit server
102
+ comfyui-skill run txt2img # uses default server
103
+ comfyui-skill run txt2img -s my_server # override with --server flag
104
+ ```
105
+
106
+ <a id="commands"></a>
107
+ ## Commands
108
+
109
+ ### Workflow Discovery & Execution
110
+
111
+ | Command | Description |
112
+ |---------|-------------|
113
+ | `comfyui-skill list` | List all available workflows with parameters |
114
+ | `comfyui-skill info <id>` | Show workflow details and parameter schema |
115
+ | `comfyui-skill run <id> --args '{...}'` | Execute a workflow (blocking, real-time WebSocket streaming) |
116
+ | `comfyui-skill run <id> --validate` | Validate workflow without executing |
117
+ | `comfyui-skill submit <id> --args '{...}'` | Submit a workflow (non-blocking) |
118
+ | `comfyui-skill status <prompt_id>` | Check execution status and show discovered results |
119
+ | `comfyui-skill cancel <prompt_id>` | Cancel a running or queued job |
120
+ | `comfyui-skill upload <file>` | Upload a file to ComfyUI for use in workflows |
121
+ | `comfyui-skill upload <file> --mask` | Upload a mask image for inpainting workflows |
122
+ | `comfyui-skill upload --from-output <prompt_id>` | Chain a previous run's output as input for the next workflow |
123
+
124
+ ### Queue & Resource Management
125
+
126
+ | Command | Description |
127
+ |---------|-------------|
128
+ | `comfyui-skill queue list` | Show running and pending jobs |
129
+ | `comfyui-skill queue clear` | Clear all pending jobs |
130
+ | `comfyui-skill queue delete <prompt_id>...` | Remove specific jobs from queue |
131
+ | `comfyui-skill free` | Release GPU memory and unload models |
132
+ | `comfyui-skill free --models` | Unload models only |
133
+ | `comfyui-skill free --memory` | Free cached memory only |
134
+
135
+ ### Node & Model Discovery
136
+
137
+ | Command | Description |
138
+ |---------|-------------|
139
+ | `comfyui-skill nodes list` | List all available ComfyUI nodes by category |
140
+ | `comfyui-skill nodes info <class>` | Show node input/output schema |
141
+ | `comfyui-skill nodes search <query>` | Search nodes by name or category |
142
+ | `comfyui-skill models list` | List all available model folders |
143
+ | `comfyui-skill models list <folder>` | List models in a specific folder (e.g., `checkpoints`, `loras`) |
144
+
145
+ ### Workflow Management
146
+
147
+ | Command | Description |
148
+ |---------|-------------|
149
+ | `comfyui-skill workflow import <path>` | Import workflow (auto-detect format, auto-generate schema) |
150
+ | `comfyui-skill workflow import --from-server` | Import one or more workflows from ComfyUI server userdata |
151
+ | `comfyui-skill workflow enable <id>` | Enable a workflow |
152
+ | `comfyui-skill workflow disable <id>` | Disable a workflow |
153
+ | `comfyui-skill workflow delete <id>` | Delete a workflow |
154
+
155
+ ### Server Management
156
+
157
+ | Command | Description |
158
+ |---------|-------------|
159
+ | `comfyui-skill server list` | List all configured servers |
160
+ | `comfyui-skill server status` | Check if ComfyUI server is online |
161
+ | `comfyui-skill server stats` | Show VRAM, RAM, GPU info (`--all` for multi-server) |
162
+ | `comfyui-skill server add --id <id> --url <url>` | Add a new server |
163
+ | `comfyui-skill server enable/disable <id>` | Toggle server availability |
164
+ | `comfyui-skill server remove <id>` | Remove a server |
165
+
166
+ ### Dependency Management
167
+
168
+ | Command | Description |
169
+ |---------|-------------|
170
+ | `comfyui-skill deps check <id>` | Check missing custom nodes and models |
171
+ | `comfyui-skill deps install <id> --all` | Auto-detect and install all missing deps |
172
+ | `comfyui-skill deps install <id> --repos '[...]'` | Install specific custom nodes |
173
+ | `comfyui-skill deps install <id> --models` | Install missing models via Manager |
174
+
175
+ ### Configuration & History
176
+
177
+ | Command | Description |
178
+ |---------|-------------|
179
+ | `comfyui-skill config export --output <path>` | Export config and workflows as bundle |
180
+ | `comfyui-skill config import <path>` | Import config bundle (supports `--dry-run`) |
181
+ | `comfyui-skill history list <id>` | List execution history |
182
+ | `comfyui-skill history show <id> <run_id>` | Show details of a specific run |
183
+ | `comfyui-skill jobs list` | List server-side job history (`--status` to filter) |
184
+ | `comfyui-skill jobs show <prompt_id>` | Show details of a specific job |
185
+ | `comfyui-skill logs show` | Show recent ComfyUI server logs |
186
+ | `comfyui-skill templates list` | List workflow templates from custom nodes |
187
+ | `comfyui-skill templates subgraphs` | List reusable subgraph components |
188
+
189
+ ### Global Options
190
+
191
+ | Option | Description |
192
+ |--------|-------------|
193
+ | `--json, -j` | Force JSON output |
194
+ | `--output-format` | Output format: `text`, `json`, `stream-json` |
195
+ | `--server, -s` | Specify server ID |
196
+ | `--dir, -d` | Specify data directory (default: current directory) |
197
+ | `--verbose, -v` | Verbose output |
198
+ | `--no-update-check` | Skip automatic CLI update check |
199
+
200
+ ### Output Modes
201
+
202
+ | Mode | When | Format |
203
+ |------|------|--------|
204
+ | Text | TTY terminal | Rich tables and progress bars |
205
+ | JSON | Pipe or `--json` | Single JSON result |
206
+ | Stream JSON | `--output-format stream-json` | NDJSON events in real time |
207
+ | Errors | Always | stderr |
208
+
209
+ ## Common Management Tasks
210
+
211
+ ### Inspect models on a server
212
+
213
+ ```bash
214
+ comfyui-skill models list
215
+ comfyui-skill models list checkpoints
216
+ comfyui-skill models list loras
217
+ ```
218
+
219
+ Use this when you need to confirm model names before wiring them into a workflow or schema.
220
+
221
+ ### Manage multiple workflows
222
+
223
+ ```bash
224
+ # Preview workflows available in ComfyUI server userdata
225
+ comfyui-skill workflow import --from-server --preview
226
+
227
+ # Import matching workflows from the server
228
+ comfyui-skill workflow import --from-server --name sdxl
229
+
230
+ # Temporarily disable or re-enable a workflow
231
+ comfyui-skill workflow disable local/old-flow
232
+ comfyui-skill workflow enable local/old-flow
233
+
234
+ # Remove a workflow you no longer want to expose
235
+ comfyui-skill workflow delete local/old-flow
236
+ ```
237
+
238
+ ### Move workflow bundles between machines
239
+
240
+ ```bash
241
+ comfyui-skill config export --output ./bundle.json --portable-only
242
+ comfyui-skill config import ./bundle.json --dry-run
243
+ comfyui-skill config import ./bundle.json --apply-environment
244
+ ```
245
+
246
+ Use this when you want to migrate many workflows at once instead of re-importing them manually.
247
+
248
+ ### Check models and dependencies before running
249
+
250
+ ```bash
251
+ comfyui-skill deps check local/txt2img
252
+ comfyui-skill deps install local/txt2img --models
253
+ comfyui-skill deps install local/txt2img --all
254
+ ```
255
+
256
+ <a id="for-ai-agents"></a>
257
+ ## For AI Agents
258
+
259
+ This CLI is designed to be called from `SKILL.md` definitions. A typical agent workflow:
260
+
261
+ ```bash
262
+ comfyui-skill server status --json # 1. verify server
263
+ comfyui-skill list --json # 2. discover workflows
264
+ comfyui-skill info local/txt2img --json # 3. check parameters
265
+ comfyui-skill run local/txt2img --args '{...}' --json # 4. execute
266
+ ```
267
+
268
+ ### Workflow chaining (multi-step pipelines)
269
+
270
+ ```bash
271
+ # Run first workflow
272
+ comfyui-skill run local/txt2img --args '{"prompt": "a cat"}' --json
273
+
274
+ # Chain output into next workflow
275
+ comfyui-skill upload --from-output <prompt_id> --json
276
+ comfyui-skill run local/upscale --args '{"image": "<uploaded_name>"}' --json
277
+ ```
278
+
279
+ ### Import and validate
280
+
281
+ ```bash
282
+ comfyui-skill workflow import ./workflow.json --check-deps --json
283
+ comfyui-skill deps install local/my-workflow --all --json
284
+ ```
285
+
286
+ ## Contributing
287
+
288
+ Contributions are welcome! Please read the [Contributing Guide](https://github.com/HuangYuChuh/ComfyUI_Skills_OpenClaw/blob/main/CONTRIBUTING.md) in the main repository for design principles and PR workflow.
289
+
290
+ ## Resources
291
+
292
+ - [ComfyUI Skills OpenClaw](https://github.com/HuangYuChuh/ComfyUI_Skills_OpenClaw) — Main skills repository
293
+ - [ComfyUI](https://github.com/comfyanonymous/ComfyUI) — The backend this CLI orchestrates
294
+ - [Typer](https://typer.tiangolo.com/) — CLI framework used by this project
295
+
296
+ Built with [Typer](https://typer.tiangolo.com/), the same framework as [comfy-cli](https://github.com/Comfy-Org/comfy-cli). Designed to be integrated as a `comfy skills` subcommand in the future.