<h1 align="center">
<a href="https://prompts.chat">
Loading actions...
<a href="https://prompts.chat">
TypeScript and ESLint rules that MUST be followed when creating, modifying, or reviewing any file under apps/frontend/, including .ts, .tsx, .js, and .jsx files. Also apply when discussing frontend linting, type safety, or ESLint configuration.
risks
Prerequisites: Install the CLI:
pip install -U comfyui-skill-cli. All commands must run from this project's root directory (where thisSKILL.mdis located).[!IMPORTANT] Directory Sensitivity: The CLI reads
config.jsonanddata/from the current directory. You MUSTcdinto the project root before running any command. Symptom:listreturns[]orserver statusreports not found → you are in the wrong directory.
comfyui-skill --json workflow import <path>comfyui-skill --json upload <image>, then executecomfyui-skill --json upload <mask> --mask, then executecomfyui-skill --json history list <id>comfyui-skill --json jobs list --status failedcomfyui-skill --json server stats --allcomfyui-skill --json nodes listcomfyui-skill --json run <id> --validatepython3 ./ui/open_ui.py<server_id>/<workflow_id> (e.g., local/txt2img). If server is omitted, the default server is used.schema.json that maps business parameter names (e.g., prompt, seed) to internal ComfyUI node fields. Never expose node IDs to the user.config.json. Check health with server status.| Command | Purpose |
|---|---|
comfyui-skill --json server status | Check if ComfyUI server is online |
comfyui-skill --json server stats | Show VRAM, RAM, GPU, versions (--all for multi-server) |
comfyui-skill --json list | List all available workflows and parameters |
comfyui-skill --json info <id> | Show workflow details and parameter schema |
comfyui-skill --json submit <id> --args '{...}' | Submit a workflow (non-blocking) |
comfyui-skill --json status <prompt_id> | Check execution status |
comfyui-skill --json run <id> --args '{...}' | Execute a workflow (blocking, real-time streaming) |
comfyui-skill --json run <id> --validate | Validate workflow without executing |
comfyui-skill --json upload <path> | Upload image to ComfyUI (for img2img workflows) |
comfyui-skill --json upload <path> --mask | Upload mask image (for inpainting workflows) |
comfyui-skill --json nodes list | List all available ComfyUI nodes |
comfyui-skill --json jobs list | List server-side job history (--status failed to filter) |
comfyui-skill --json deps check <id> | Check missing dependencies |
comfyui-skill --json deps install <id> --repos '[...]' | Install missing custom nodes |
comfyui-skill --json workflow import <path> | Import workflow (auto-detect, warns about deprecated nodes) |
comfyui-skill --json history list <id> | List execution history for a workflow |
comfyui-skill --json list
Returns a JSON array of all enabled workflows with their parameters.
required: true parameters → ask the user if not provided.required: false parameters → infer from context (e.g., seed = random number), or omit.Assemble parameters into a JSON string. Example:
{"prompt": "A beautiful landscape, high quality, masterpiece", "seed": 40128491}
If critical parameters are missing, ask the user (e.g., "What visual style would you like?").
Always run before first execution of a workflow:
comfyui-skill --json deps check <server_id>/<workflow_id>
is_ready is true → proceed to Step 4.is_ready is false:
comfyui-skill --json deps install <id> --repos '["https://github.com/repo1"]'
Use source_repo URLs from the check report as --repos values.needs_restart is true, inform the user to restart ComfyUI, then re-check.checkpoints).Note: JSON args must be wrapped in single quotes to prevent bash from parsing double quotes.
Choose the execution mode based on your environment:
submit + status (recommended for chat)Step 4a — Submit:
comfyui-skill --json submit <id> --args '{"prompt": "..."}'
Returns: {"status": "submitted", "prompt_id": "..."}. Tell the user generation has started.
Step 4b — Poll:
comfyui-skill --json status <prompt_id>
Status values: queued (with position) → running → success (with outputs) or error.
Polling pattern — critical for real-time feedback:
Each status call must be a separate tool invocation (a separate bash command). Do NOT write a shell loop. The correct pattern is:
status as a standalone bash command.queued or running: send a text message to the user with progress, then run status again.success: proceed to Step 5.error: report the error.comfyui-skill --json run <id> --args '{"prompt": "..."}'
Blocks until finished. Returns the same result format as status with success.
On success, the result contains an outputs array with file references (filename, subfolder, type).
Use your native capabilities to present the files to the user (e.g., image preview, file path).
When the user wants to add new workflows (not execute existing ones):
comfyui-skill --json workflow import <json_path>
schema.json with smart parameter extraction.For bulk import from ComfyUI server or local folders, see references/workflow-import.md.
comfyui-skill --json server status. If offline, ask the user to start ComfyUI.comfyui-skill --json list to see available workflows. If missing, the user needs to import it first.--args is valid JSON wrapped in single quotes.