[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71HFYWQ7EN5BY67HTY2MVVM":3,"skill-same:01M71HFYWQ7EN5BY67HTY2MVVM":234},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":30,"publishedAt":50,"linkOnly":51,"markdownContent":52,"markdownBody":53,"frontMatter":54,"refName":79,"commitSha":80,"skillDirectory":81,"forksCount":82,"repositoryHtmlUrl":83,"repositoryHomepageUrl":6,"ownerHtmlUrl":84,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":85,"install":86,"resources":99},"01M71HFYWQ7EN5BY67HTY2MVVM","comfyui",null,"Generate images, video, and audio with ComfyUI — install, launch, manage nodes\u002Fmodels, run workflows with parameter injection. Uses the official comfy-cli for lifecycle and direct REST\u002FWebSocket API for execution.","xuanxuan1983\u002Fhermes-skills-backup","xuanxuan1983","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F151701653?v=4","01M71HCZNB5H19QJ6YBF98W2WH","01M71HCZP14T0921BD0TC9EPD3",1,"MIT","https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fagent-skills\u002Fcreative\u002Fcomfyui\u002FSKILL.md",[17,22,25],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":26,"categoryName":27,"taxonomyType":28,"taxonomyTypeDesc":29},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[5,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49],"auto","gen","generative-ai","generative","pipx","video-generation","flux","local","image-generation","image","decide","Audio","Video","injection","run","generate","windows","workflows","macos","2026-11-10 10:12:30",false,"---\nname: comfyui\ndescription: \"Generate images, video, and audio with ComfyUI — install, launch, manage nodes\u002Fmodels, run workflows with parameter injection. Uses the official comfy-cli for lifecycle and direct REST\u002FWebSocket API for execution.\"\nversion: 5.1.0\nauthor: [kshitijk4poor, alt-glitch, purzbeats]\nlicense: MIT\nplatforms: [macos, linux, windows]\ncompatibility: \"Requires ComfyUI (local, Comfy Desktop, or Comfy Cloud) and comfy-cli (auto-installed via pipx\u002Fuvx by the setup script).\"\nprerequisites:\n  commands: [\"python3\"]\nsetup:\n  help: \"Run scripts\u002Fhardware_check.py FIRST to decide local vs Comfy Cloud; then scripts\u002Fcomfyui_setup.sh auto-installs locally (or use Cloud API key for platform.comfy.org).\"\nmetadata:\n  hermes:\n    tags:\n      - comfyui\n      - image-generation\n      - stable-diffusion\n      - flux\n      - sd3\n      - wan-video\n      - hunyuan-video\n      - creative\n      - generative-ai\n      - video-generation\n    related_skills: [stable-diffusion-image-generation, image_gen]\n    category: creative\n---\n\n# ComfyUI\n\nGenerate images, video, audio, and 3D content through ComfyUI using the\nofficial `comfy-cli` for setup\u002Flifecycle and direct REST\u002FWebSocket API\nfor workflow execution.\n\n## What's in this skill\n\n**Reference docs (`references\u002F`):**\n\n- `official-cli.md` — every `comfy ...` command, with flags\n- `rest-api.md` — REST + WebSocket endpoints (local + cloud), payload schemas\n- `workflow-format.md` — API-format JSON, common node types, param mapping\n- `template-integrity.md` — converting `comfyui-workflow-templates` from\n  editor format to API format: Reroute bypass, dotted dynamic-input keys\n  (`values.a`, `resize_type.width`), Cloud quirks (302 redirect, 1 concurrent\n  free-tier job, 1080p VRAM ceiling), Discord-compatible ffmpeg stitch.\n  Authored by [@purzbeats](https:\u002F\u002Fgithub.com\u002Fpurzbeats). Load this whenever\n  you're starting from an official template.\n\n**Scripts (`scripts\u002F`):**\n\n| Script | Purpose |\n|--------|---------|\n| `_common.py` | Shared HTTP, cloud routing, node catalogs (don't run directly) |\n| `hardware_check.py` | Probe GPU\u002FVRAM\u002Fdisk → recommend local vs Comfy Cloud |\n| `comfyui_setup.sh` | Hardware check + comfy-cli + ComfyUI install + launch + verify |\n| `extract_schema.py` | Read a workflow → list controllable params + model deps |\n| `check_deps.py` | Check workflow against running server → list missing nodes\u002Fmodels |\n| `auto_fix_deps.py` | Run check_deps then `comfy node install` \u002F `comfy model download` |\n| `run_workflow.py` | Inject params, submit, monitor, download outputs (HTTP or WS) |\n| `run_batch.py` | Submit a workflow N times with sweeps, parallel up to your tier |\n| `ws_monitor.py` | Real-time WebSocket viewer for executing jobs (live progress) |\n| `health_check.py` | Verification checklist runner — comfy-cli + server + models + smoke test |\n| `fetch_logs.py` | Pull traceback \u002F status messages for a given prompt_id |\n\n**Example workflows (`workflows\u002F`):** SD 1.5, SDXL, Flux Dev, SDXL img2img,\nSDXL inpaint, ESRGAN upscale, AnimateDiff video, Wan T2V. See\n`workflows\u002FREADME.md`.\n\n## When to Use\n\n- User asks to generate images with Stable Diffusion, SDXL, Flux, SD3, etc.\n- User wants to run a specific ComfyUI workflow file\n- User wants to chain generative steps (txt2img → upscale → face restore)\n- User needs ControlNet, inpainting, img2img, or other advanced pipelines\n- User asks to manage ComfyUI queue, check models, or install custom nodes\n- User wants video\u002Faudio\u002F3D generation via AnimateDiff, Hunyuan, Wan, AudioCraft, etc.\n\n## Architecture: Two Layers\n\n```\n┌─────────────────────────────────────────────────────┐\n│ Layer 1: comfy-cli (official lifecycle tool)        │\n│   Setup, server lifecycle, custom nodes, models     │\n│   → comfy install \u002F launch \u002F stop \u002F node \u002F model    │\n└─────────────────────────┬───────────────────────────┘\n                          │\n┌─────────────────────────▼───────────────────────────┐\n│ Layer 2: REST\u002FWebSocket API + skill scripts         │\n│   Workflow execution, param injection, monitoring   │\n│   POST \u002Fapi\u002Fprompt, GET \u002Fapi\u002Fview, WS \u002Fws           │\n│   → run_workflow.py, run_batch.py, ws_monitor.py    │\n└─────────────────────────────────────────────────────┘\n```\n\n**Why two layers?** The official CLI is excellent for installation and server\nmanagement but has minimal workflow execution support. The REST\u002FWS API fills\nthat gap — the scripts handle param injection, execution monitoring, and\noutput download that the CLI doesn't do.\n\n## Quick Start\n\n### Detect environment\n\n```bash\n# What's available?\ncommand -v comfy >\u002Fdev\u002Fnull 2>&1 && echo \"comfy-cli: installed\"\ncurl -s http:\u002F\u002F127.0.0.1:8188\u002Fsystem_stats 2>\u002Fdev\u002Fnull && echo \"server: running\"\n\n# Can this machine run ComfyUI locally? (GPU\u002FVRAM\u002Fdisk check)\npython3 scripts\u002Fhardware_check.py\n```\n\nIf nothing is installed, see **Setup & Onboarding** below — but always run the\nhardware check first.\n\n### One-line health check\n\n```bash\npython3 scripts\u002Fhealth_check.py\n# → JSON: comfy_cli on PATH? server reachable? at least one checkpoint? smoke-test passes?\n```\n\n## Core Workflow\n\n### Step 1: Get a workflow JSON in API format\n\nWorkflows must be in API format (each node has `class_type`). They come from:\n\n- ComfyUI web UI → **Workflow → Export (API)** (newer UI) or\n  the legacy \"Save (API Format)\" button (older UI)\n- This skill's `workflows\u002F` directory (ready-to-run examples)\n- Community downloads (civitai, Reddit, Discord) — usually editor format,\n  must be loaded into ComfyUI then re-exported\n\nEditor format (top-level `nodes` and `links` arrays) is **not directly\nexecutable**. The scripts detect this and tell you to re-export.\n\n### Step 2: See what's controllable\n\n```bash\npython3 scripts\u002Fextract_schema.py workflow_api.json --summary-only\n# → {\"parameter_count\": 12, \"has_negative_prompt\": true, \"has_seed\": true, ...}\n\npython3 scripts\u002Fextract_schema.py workflow_api.json\n# → full schema with parameters, model deps, embedding refs\n```\n\n### Step 3: Run with parameters\n\n```bash\n# Local (defaults to http:\u002F\u002F127.0.0.1:8188)\npython3 scripts\u002Frun_workflow.py \\\n  --workflow workflow_api.json \\\n  --args '{\"prompt\": \"a beautiful sunset over mountains\", \"seed\": -1, \"steps\": 30}' \\\n  --output-dir .\u002Foutputs\n\n# Cloud (export API key once; uses correct \u002Fapi routing automatically)\nexport COMFY_CLOUD_API_KEY=\"comfyui-...\"\npython3 scripts\u002Frun_workflow.py \\\n  --workflow workflow_api.json \\\n  --args '{\"prompt\": \"...\"}' \\\n  --host https:\u002F\u002Fcloud.comfy.org \\\n  --output-dir .\u002Foutputs\n\n# Real-time progress via WebSocket (requires `pip install websocket-client`)\npython3 scripts\u002Frun_workflow.py \\\n  --workflow flux_dev.json \\\n  --args '{\"prompt\": \"...\"}' \\\n  --ws\n\n# img2img \u002F inpaint: pass --input-image to upload + reference automatically\npython3 scripts\u002Frun_workflow.py \\\n  --workflow sdxl_img2img.json \\\n  --input-image image=.\u002Fphoto.png \\\n  --args '{\"prompt\": \"make it watercolor\", \"denoise\": 0.6}'\n\n# Batch \u002F sweep: 8 random seeds, parallel up to cloud tier limit\npython3 scripts\u002Frun_batch.py \\\n  --workflow sdxl.json \\\n  --args '{\"prompt\": \"abstract\"}' \\\n  --count 8 --randomize-seed --parallel 3 \\\n  --output-dir .\u002Foutputs\u002Fbatch\n```\n\n`-1` for `seed` (or omitting it with `--randomize-seed`) generates a fresh\nrandom seed per run.\n\n### Step 4: Present results\n\nThe scripts emit JSON to stdout describing every output file:\n\n```json\n{\n  \"status\": \"success\",\n  \"prompt_id\": \"abc-123\",\n  \"outputs\": [\n    {\"file\": \".\u002Foutputs\u002Fsdxl_00001_.png\", \"node_id\": \"9\",\n     \"type\": \"image\", \"filename\": \"sdxl_00001_.png\"}\n  ]\n}\n```\n\n## Decision Tree\n\n| User says | Tool | Command |\n|-----------|------|---------|\n| **Lifecycle (use comfy-cli)** | | |\n| \"install ComfyUI\" | comfy-cli | `bash scripts\u002Fcomfyui_setup.sh` |\n| \"start ComfyUI\" | comfy-cli | `comfy launch --background` |\n| \"stop ComfyUI\" | comfy-cli | `comfy stop` |\n| \"install X node\" | comfy-cli | `comfy node install \u003Cname>` |\n| \"download X model\" | comfy-cli | `comfy model download --url \u003Curl> --relative-path models\u002Fcheckpoints` |\n| \"list installed models\" | comfy-cli | `comfy model list` |\n| \"list installed nodes\" | comfy-cli | `comfy node show installed` |\n| **Execution (use scripts)** | | |\n| \"is everything ready?\" | script | `health_check.py` (optionally with `--workflow X --smoke-test`) |\n| \"what can I change in this workflow?\" | script | `extract_schema.py W.json` |\n| \"check if W's deps are met\" | script | `check_deps.py W.json` |\n| \"fix missing deps\" | script | `auto_fix_deps.py W.json` |\n| \"generate an image\" | script | `run_workflow.py --workflow W --args '{...}'` |\n| \"use this image\" (img2img) | script | `run_workflow.py --input-image image=.\u002Fx.png ...` |\n| \"8 variations with random seeds\" | script | `run_batch.py --count 8 --randomize-seed ...` |\n| \"show me live progress\" | script | `ws_monitor.py --prompt-id \u003Cid>` |\n| \"fetch the error from job X\" | script | `fetch_logs.py \u003Cprompt_id>` |\n| **Direct REST** | | |\n| \"what's in the queue?\" | REST | `curl http:\u002F\u002FHOST:8188\u002Fqueue` (local) or `--host https:\u002F\u002Fcloud.comfy.org` |\n| \"cancel that\" | REST | `curl -X POST http:\u002F\u002FHOST:8188\u002Finterrupt` |\n| \"free GPU memory\" | REST | `curl -X POST http:\u002F\u002FHOST:8188\u002Ffree` |\n\n## Setup & Onboarding\n\nWhen a user asks to set up ComfyUI, **the FIRST thing to do is ask whether\nthey want Comfy Cloud (hosted, zero install, API key) or Local (install\nComfyUI on their machine)**. Don't start running install commands or hardware\nchecks until they've answered.\n\n**Official docs:** https:\u002F\u002Fdocs.comfy.org\u002Finstallation\n**CLI docs:** https:\u002F\u002Fdocs.comfy.org\u002Fcomfy-cli\u002Fgetting-started\n**Cloud docs:** https:\u002F\u002Fdocs.comfy.org\u002Fget_started\u002Fcloud\n**Cloud API:** https:\u002F\u002Fdocs.comfy.org\u002Fdevelopment\u002Fcloud\u002Foverview\n\n### Step 0: Ask Local vs Cloud (ALWAYS FIRST)\n\nSuggested script:\n\n> \"Do you want to run ComfyUI locally on your machine, or use Comfy Cloud?\n>\n> - **Comfy Cloud** — hosted on RTX 6000 Pro GPUs, all common models pre-installed,\n>   zero setup. Requires an API key (paid subscription required to actually run\n>   workflows; free tier is read-only). Best if you don't have a capable GPU.\n> - **Local** — free, but your machine MUST meet the hardware requirements:\n>   - NVIDIA GPU with **≥6 GB VRAM** (≥8 GB for SDXL, ≥12 GB for Flux\u002Fvideo), OR\n>   - AMD GPU with ROCm support (Linux), OR\n>   - Apple Silicon Mac (M1+) with **≥16 GB unified memory** (≥32 GB recommended).\n>   - Intel Macs and machines with no GPU will NOT work — use Cloud instead.\n>\n> Which would you like?\"\n\nRouting:\n\n- **Cloud** → skip to **Path A**.\n- **Local** → run hardware check first, then pick a path from Paths B–E based on the verdict.\n- **Unsure** → run the hardware check and let the verdict decide.\n\n### Step 1: Verify Hardware (ONLY if user chose local)\n\n```bash\npython3 scripts\u002Fhardware_check.py --json\n# Optional: also probe `torch` for actual CUDA\u002FMPS:\npython3 scripts\u002Fhardware_check.py --json --check-pytorch\n```\n\n| Verdict    | Meaning                                                       | Action |\n|------------|---------------------------------------------------------------|--------|\n| `ok`       | ≥8 GB VRAM (discrete) OR ≥32 GB unified (Apple Silicon)       | Local install — use `comfy_cli_flag` from report |\n| `marginal` | SD1.5 works; SDXL tight; Flux\u002Fvideo unlikely                  | Local OK for light workflows, else **Path A (Cloud)** |\n| `cloud`    | No usable GPU, \u003C6 GB VRAM, \u003C16 GB Apple unified, Intel Mac, Rosetta Python | **Switch to Cloud** unless user explicitly forces local |\n\nThe script also surfaces `wsl: true` (WSL2 with NVIDIA passthrough) and\n`rosetta: true` (x86_64 Python on Apple Silicon — must reinstall as ARM64).\n\nIf verdict is `cloud` but the user wants local, do not proceed silently.\nShow the `notes` array verbatim and ask whether they want to (a) switch to\nCloud or (b) force a local install (will OOM or be unusably slow on modern models).\n\n### Choosing an Installation Path\n\nUse the hardware check first. The table below is the fallback for when the\nuser has already told you their hardware:\n\n| Situation | Recommended Path |\n|-----------|------------------|\n| `verdict: cloud` from hardware check | **Path A: Comfy Cloud** |\n| No GPU \u002F want to try without commitment | **Path A: Comfy Cloud** |\n| Windows + NVIDIA + non-technical | **Path B: ComfyUI Desktop** |\n| Windows + NVIDIA + technical | **Path C: Portable** or **Path D: comfy-cli** |\n| Linux + any GPU | **Path D: comfy-cli** (easiest) |\n| macOS + Apple Silicon | **Path B: Desktop** or **Path D: comfy-cli** |\n| Headless \u002F server \u002F CI \u002F agents | **Path D: comfy-cli** |\n\nFor the fully automated path (hardware check → install → launch → verify):\n\n```bash\nbash scripts\u002Fcomfyui_setup.sh\n# Or with overrides:\nbash scripts\u002Fcomfyui_setup.sh --m-series --port=8190 --workspace=\u002Fdata\u002Fcomfy\n```\n\nIt runs `hardware_check.py` internally, refuses to install locally when the\nverdict is `cloud` (unless `--force-cloud-override`), picks the right\n`comfy-cli` flag, and prefers `pipx`\u002F`uvx` over global `pip` to avoid polluting\nsystem Python.\n\n---\n\n### Path A: Comfy Cloud (No Local Install)\n\nFor users without a capable GPU or who want zero setup. Hosted on RTX 6000 Pro.\n\n**Docs:** https:\u002F\u002Fdocs.comfy.org\u002Fget_started\u002Fcloud\n\n1. Sign up at https:\u002F\u002Fcomfy.org\u002Fcloud\n2. Generate an API key at https:\u002F\u002Fplatform.comfy.org\u002Flogin\n3. Set the key:\n   ```bash\n   export COMFY_CLOUD_API_KEY=\"comfyui-xxxxxxxxxxxx\"\n   ```\n4. Run workflows:\n   ```bash\n   python3 scripts\u002Frun_workflow.py \\\n     --workflow workflows\u002Fflux_dev_txt2img.json \\\n     --args '{\"prompt\": \"...\"}' \\\n     --host https:\u002F\u002Fcloud.comfy.org \\\n     --output-dir .\u002Foutputs\n   ```\n\n**Pricing:** https:\u002F\u002Fwww.comfy.org\u002Fcloud\u002Fpricing\n**Concurrent jobs:** Free\u002FStandard 1, Creator 3, Pro 5. Free tier\n**cannot run workflows via API** — only browse models. Paid subscription\nrequired for `\u002Fapi\u002Fprompt`, `\u002Fapi\u002Fupload\u002F*`, `\u002Fapi\u002Fview`, etc.\n\n---\n\n### Path B: ComfyUI Desktop (Windows \u002F macOS)\n\nOne-click installer for non-technical users. Currently Beta.\n\n**Docs:** https:\u002F\u002Fdocs.comfy.org\u002Finstallation\u002Fdesktop\n- **Windows (NVIDIA):** https:\u002F\u002Fdownload.comfy.org\u002Fwindows\u002Fnsis\u002Fx64\n- **macOS (Apple Silicon):** https:\u002F\u002Fcomfy.org\n\nLinux is **not supported** for Desktop — use Path D.\n\n---\n\n### Path C: ComfyUI Portable (Windows Only)\n\n**Docs:** https:\u002F\u002Fdocs.comfy.org\u002Finstallation\u002Fcomfyui_portable_windows\n\nDownload from https:\u002F\u002Fgithub.com\u002Fcomfyanonymous\u002FComfyUI\u002Freleases, extract,\nrun `run_nvidia_gpu.bat`. Update via `update\u002Fupdate_comfyui_stable.bat`.\n\n---\n\n### Path D: comfy-cli (All Platforms — Recommended for Agents)\n\nThe official CLI is the best path for headless\u002Fautomated setups.\n\n**Docs:** https:\u002F\u002Fdocs.comfy.org\u002Fcomfy-cli\u002Fgetting-started\n\n#### Install comfy-cli\n\n```bash\n# Recommended:\npipx install comfy-cli\n# Or use uvx without installing:\nuvx --from comfy-cli comfy --help\n# Or (if pipx\u002Fuvx unavailable):\npip install --user comfy-cli\n```\n\nDisable analytics non-interactively:\n```bash\ncomfy --skip-prompt tracking disable\n```\n\n#### Install ComfyUI\n\n```bash\ncomfy --skip-prompt install --nvidia              # NVIDIA (CUDA)\ncomfy --skip-prompt install --amd                 # AMD (ROCm, Linux)\ncomfy --skip-prompt install --m-series            # Apple Silicon (MPS)\ncomfy --skip-prompt install --cpu                 # CPU only (slow)\ncomfy --skip-prompt install --nvidia --fast-deps  # uv-based dep resolution\n```\n\nDefault location: `~\u002Fcomfy\u002FComfyUI` (Linux), `~\u002FDocuments\u002Fcomfy\u002FComfyUI`\n(macOS\u002FWin). Override with `comfy --workspace \u002Fcustom\u002Fpath install`.\n\n#### Launch \u002F verify\n\n```bash\ncomfy launch --background                       # background daemon on :8188\ncomfy launch -- --listen 0.0.0.0 --port 8190    # LAN-accessible custom port\ncurl -s http:\u002F\u002F127.0.0.1:8188\u002Fsystem_stats      # health check\n```\n\n---\n\n### Path E: Manual Install (Advanced \u002F Unsupported Hardware)\n\nFor Ascend NPU, Cambricon MLU, Intel Arc, or other unsupported hardware.\n\n**Docs:** https:\u002F\u002Fdocs.comfy.org\u002Finstallation\u002Fmanual_install\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fcomfyanonymous\u002FComfyUI.git\ncd ComfyUI\npip install torch torchvision torchaudio --extra-index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fcu130\npip install -r requirements.txt\npython main.py\n```\n\n---\n\n### Post-Install: Download Models\n\n```bash\n# SDXL (general purpose, ~6.5 GB)\ncomfy model download \\\n  --url \"https:\u002F\u002Fhuggingface.co\u002Fstabilityai\u002Fstable-diffusion-xl-base-1.0\u002Fresolve\u002Fmain\u002Fsd_xl_base_1.0.safetensors\" \\\n  --relative-path models\u002Fcheckpoints\n\n# SD 1.5 (lighter, ~4 GB, good for 6 GB cards)\ncomfy model download \\\n  --url \"https:\u002F\u002Fhuggingface.co\u002Fstable-diffusion-v1-5\u002Fstable-diffusion-v1-5\u002Fresolve\u002Fmain\u002Fv1-5-pruned-emaonly.safetensors\" \\\n  --relative-path models\u002Fcheckpoints\n\n# Flux Dev fp8 (smaller variant, ~12 GB)\ncomfy model download \\\n  --url \"https:\u002F\u002Fhuggingface.co\u002FComfy-Org\u002Fflux1-dev\u002Fresolve\u002Fmain\u002Fflux1-dev-fp8.safetensors\" \\\n  --relative-path models\u002Fcheckpoints\n\n# CivitAI (set token first):\ncomfy model download \\\n  --url \"https:\u002F\u002Fcivitai.com\u002Fapi\u002Fdownload\u002Fmodels\u002F128713\" \\\n  --relative-path models\u002Fcheckpoints \\\n  --set-civitai-api-token \"YOUR_TOKEN\"\n```\n\nList installed: `comfy model list`.\n\n### Post-Install: Install Custom Nodes\n\n```bash\ncomfy node install comfyui-impact-pack             # popular utility pack\ncomfy node install comfyui-animatediff-evolved     # video generation\ncomfy node install comfyui-controlnet-aux          # ControlNet preprocessors\ncomfy node install comfyui-essentials              # common helpers\ncomfy node update all\ncomfy node install-deps --workflow=workflow.json   # install everything a workflow needs\n```\n\n### Post-Install: Verify\n\n```bash\npython3 scripts\u002Fhealth_check.py\n# → comfy_cli on PATH? server reachable? checkpoints? smoke test?\n\npython3 scripts\u002Fcheck_deps.py my_workflow.json\n# → are this workflow's nodes\u002Fmodels\u002Fembeddings installed?\n\npython3 scripts\u002Frun_workflow.py \\\n  --workflow workflows\u002Fsd15_txt2img.json \\\n  --args '{\"prompt\": \"test\", \"steps\": 4}' \\\n  --output-dir .\u002Ftest-outputs\n```\n\n## Image Upload (img2img \u002F Inpainting)\n\nThe simplest way is to use `--input-image` with `run_workflow.py`:\n\n```bash\npython3 scripts\u002Frun_workflow.py \\\n  --workflow workflows\u002Fsdxl_img2img.json \\\n  --input-image image=.\u002Fphoto.png \\\n  --args '{\"prompt\": \"make it cyberpunk\", \"denoise\": 0.6}'\n```\n\nThe flag uploads `photo.png`, then injects its server-side filename into\nwhatever schema parameter is named `image`. For inpainting, pass both:\n\n```bash\npython3 scripts\u002Frun_workflow.py \\\n  --workflow workflows\u002Fsdxl_inpaint.json \\\n  --input-image image=.\u002Fphoto.png \\\n  --input-image mask_image=.\u002Fmask.png \\\n  --args '{\"prompt\": \"fill with flowers\"}'\n```\n\nManual upload via REST:\n```bash\ncurl -X POST \"http:\u002F\u002F127.0.0.1:8188\u002Fupload\u002Fimage\" \\\n  -F \"image=@photo.png\" -F \"type=input\" -F \"overwrite=true\"\n# Returns: {\"name\": \"photo.png\", \"subfolder\": \"\", \"type\": \"input\"}\n\n# Cloud equivalent:\ncurl -X POST \"https:\u002F\u002Fcloud.comfy.org\u002Fapi\u002Fupload\u002Fimage\" \\\n  -H \"X-API-Key: $COMFY_CLOUD_API_KEY\" \\\n  -F \"image=@photo.png\" -F \"type=input\" -F \"overwrite=true\"\n```\n\n## Cloud Specifics\n\n- **Base URL:** `https:\u002F\u002Fcloud.comfy.org`\n- **Auth:** `X-API-Key` header (or `?token=KEY` for WebSocket)\n- **API key:** set `$COMFY_CLOUD_API_KEY` once and the scripts pick it up automatically\n- **Output download:** `\u002Fapi\u002Fview` returns a 302 to a signed URL; the scripts\n  follow it and strip `X-API-Key` before fetching from the storage backend\n  (don't leak the API key to S3\u002FCloudFront).\n- **Endpoint differences from local ComfyUI:**\n  - `\u002Fapi\u002Fobject_info`, `\u002Fapi\u002Fqueue`, `\u002Fapi\u002Fuserdata` — **403 on free tier**;\n    paid only.\n  - `\u002Fhistory` is renamed to `\u002Fhistory_v2` on cloud (the scripts route\n    automatically).\n  - `\u002Fmodels\u002F\u003Cfolder>` is renamed to `\u002Fexperiment\u002Fmodels\u002F\u003Cfolder>` on cloud\n    (the scripts route automatically).\n  - `clientId` in WebSocket is currently ignored — all connections for a\n    user receive the same broadcast. Filter by `prompt_id` client-side.\n  - `subfolder` is accepted on uploads but ignored — cloud has a flat namespace.\n- **Concurrent jobs:** Free\u002FStandard: 1, Creator: 3, Pro: 5. Extras queue\n  automatically. Use `run_batch.py --parallel N` to saturate your tier.\n\n## Queue & System Management\n\n```bash\n# Local\ncurl -s http:\u002F\u002F127.0.0.1:8188\u002Fqueue | python3 -m json.tool\ncurl -X POST http:\u002F\u002F127.0.0.1:8188\u002Fqueue -d '{\"clear\": true}'    # cancel pending\ncurl -X POST http:\u002F\u002F127.0.0.1:8188\u002Finterrupt                      # cancel running\ncurl -X POST http:\u002F\u002F127.0.0.1:8188\u002Ffree \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"unload_models\": true, \"free_memory\": true}'\n\n# Cloud — same paths under \u002Fapi\u002F, plus:\npython3 scripts\u002Ffetch_logs.py --tail-queue --host https:\u002F\u002Fcloud.comfy.org\n```\n\n## Pitfalls\n\n1. **API format required** — every script and the `\u002Fapi\u002Fprompt` endpoint expect\n   API-format workflow JSON. The scripts detect editor format (top-level\n   `nodes` and `links` arrays) and tell you to re-export via\n   \"Workflow → Export (API)\" (newer UI) or \"Save (API Format)\" (older UI).\n\n2. **Server must be running** — all execution requires a live server.\n   `comfy launch --background` starts one. Verify with\n   `curl http:\u002F\u002F127.0.0.1:8188\u002Fsystem_stats`.\n\n3. **Model names are exact** — case-sensitive, includes file extension.\n   `check_deps.py` does fuzzy matching (with\u002Fwithout extension and folder\n   prefix), but the workflow itself must use the canonical name. Use\n   `comfy model list` to discover what's installed.\n\n4. **Missing custom nodes** — \"class_type not found\" means a required node\n   isn't installed. `check_deps.py` reports which package to install;\n   `auto_fix_deps.py` runs the install for you.\n\n5. **Working directory** — `comfy-cli` auto-detects the ComfyUI workspace.\n   If commands fail with \"no workspace found\", use\n   `comfy --workspace \u002Fpath\u002Fto\u002FComfyUI \u003Ccommand>` or\n   `comfy set-default \u002Fpath\u002Fto\u002FComfyUI`.\n\n6. **Cloud free-tier API limits** — `\u002Fapi\u002Fprompt`, `\u002Fapi\u002Fview`, `\u002Fapi\u002Fupload\u002F*`,\n   `\u002Fapi\u002Fobject_info` all return 403 on free accounts. `health_check.py` and\n   `check_deps.py` handle this gracefully and surface a clear message.\n\n7. **Timeout for video\u002Faudio workflows** — auto-detected when an output node\n   is `VHS_VideoCombine`, `SaveVideo`, etc.; the default jumps from 300 s to\n   900 s. Override explicitly with `--timeout 1800`.\n\n8. **Path traversal in output filenames** — server-supplied filenames are\n   passed through `safe_path_join` to refuse anything escaping `--output-dir`.\n   Keep this protection on — workflows with custom save nodes can produce\n   arbitrary paths.\n\n9. **Workflow JSON is arbitrary code** — custom nodes run Python, so\n   submitting an unknown workflow has the same trust profile as `eval`.\n   Inspect workflows from untrusted sources before running.\n\n10. **Auto-randomized seed** — pass `seed: -1` in `--args` (or use\n    `--randomize-seed` and omit the seed) to get a fresh seed per run.\n    The actual seed is logged to stderr.\n\n11. **`tracking` prompt** — first run of `comfy` may prompt for analytics.\n    Use `comfy --skip-prompt tracking disable` to skip non-interactively.\n    `comfyui_setup.sh` does this for you.\n\n## Verification Checklist\n\nUse `python3 scripts\u002Fhealth_check.py` to run the whole list at once. Manual:\n\n- [ ] `hardware_check.py` verdict is `ok` OR the user explicitly chose Comfy Cloud\n- [ ] `comfy --version` works (or `uvx --from comfy-cli comfy --help`)\n- [ ] `curl http:\u002F\u002FHOST:PORT\u002Fsystem_stats` returns JSON\n- [ ] `comfy model list` shows at least one checkpoint (local) OR\n      `\u002Fapi\u002Fexperiment\u002Fmodels\u002Fcheckpoints` returns models (cloud)\n- [ ] Workflow JSON is in API format\n- [ ] `check_deps.py` reports `is_ready: true` (or only `node_check_skipped`\n      on cloud free tier)\n- [ ] Test run with a small workflow completes; outputs land in `--output-dir`\n","# ComfyUI\n\nGenerate images, video, audio, and 3D content through ComfyUI using the\nofficial `comfy-cli` for setup\u002Flifecycle and direct REST\u002FWebSocket API\nfor workflow execution.\n\n## What's in this skill\n\n**Reference docs (`references\u002F`):**\n\n- `official-cli.md` — every `comfy ...` command, with flags\n- `rest-api.md` — REST + WebSocket endpoints (local + cloud), payload schemas\n- `workflow-format.md` — API-format JSON, common node types, param mapping\n- `template-integrity.md` — converting `comfyui-workflow-templates` from\n  editor format to API format: Reroute bypass, dotted dynamic-input keys\n  (`values.a`, `resize_type.width`), Cloud quirks (302 redirect, 1 concurrent\n  free-tier job, 1080p VRAM ceiling), Discord-compatible ffmpeg stitch.\n  Authored by [@purzbeats](https:\u002F\u002Fgithub.com\u002Fpurzbeats). Load this whenever\n  you're starting from an official template.\n\n**Scripts (`scripts\u002F`):**\n\n| Script | Purpose |\n|--------|---------|\n| `_common.py` | Shared HTTP, cloud routing, node catalogs (don't run directly) |\n| `hardware_check.py` | Probe GPU\u002FVRAM\u002Fdisk → recommend local vs Comfy Cloud |\n| `comfyui_setup.sh` | Hardware check + comfy-cli + ComfyUI install + launch + verify |\n| `extract_schema.py` | Read a workflow → list controllable params + model deps |\n| `check_deps.py` | Check workflow against running server → list missing nodes\u002Fmodels |\n| `auto_fix_deps.py` | Run check_deps then `comfy node install` \u002F `comfy model download` |\n| `run_workflow.py` | Inject params, submit, monitor, download outputs (HTTP or WS) |\n| `run_batch.py` | Submit a workflow N times with sweeps, parallel up to your tier |\n| `ws_monitor.py` | Real-time WebSocket viewer for executing jobs (live progress) |\n| `health_check.py` | Verification checklist runner — comfy-cli + server + models + smoke test |\n| `fetch_logs.py` | Pull traceback \u002F status messages for a given prompt_id |\n\n**Example workflows (`workflows\u002F`):** SD 1.5, SDXL, Flux Dev, SDXL img2img,\nSDXL inpaint, ESRGAN upscale, AnimateDiff video, Wan T2V. See\n`workflows\u002FREADME.md`.\n\n## When to Use\n\n- User asks to generate images with Stable Diffusion, SDXL, Flux, SD3, etc.\n- User wants to run a specific ComfyUI workflow file\n- User wants to chain generative steps (txt2img → upscale → face restore)\n- User needs ControlNet, inpainting, img2img, or other advanced pipelines\n- User asks to manage ComfyUI queue, check models, or install custom nodes\n- User wants video\u002Faudio\u002F3D generation via AnimateDiff, Hunyuan, Wan, AudioCraft, etc.\n\n## Architecture: Two Layers\n\n```\n┌─────────────────────────────────────────────────────┐\n│ Layer 1: comfy-cli (official lifecycle tool)        │\n│   Setup, server lifecycle, custom nodes, models     │\n│   → comfy install \u002F launch \u002F stop \u002F node \u002F model    │\n└─────────────────────────┬───────────────────────────┘\n                          │\n┌─────────────────────────▼───────────────────────────┐\n│ Layer 2: REST\u002FWebSocket API + skill scripts         │\n│   Workflow execution, param injection, monitoring   │\n│   POST \u002Fapi\u002Fprompt, GET \u002Fapi\u002Fview, WS \u002Fws           │\n│   → run_workflow.py, run_batch.py, ws_monitor.py    │\n└─────────────────────────────────────────────────────┘\n```\n\n**Why two layers?** The official CLI is excellent for installation and server\nmanagement but has minimal workflow execution support. The REST\u002FWS API fills\nthat gap — the scripts handle param injection, execution monitoring, and\noutput download that the CLI doesn't do.\n\n## Quick Start\n\n### Detect environment\n\n```bash\n# What's available?\ncommand -v comfy >\u002Fdev\u002Fnull 2>&1 && echo \"comfy-cli: installed\"\ncurl -s http:\u002F\u002F127.0.0.1:8188\u002Fsystem_stats 2>\u002Fdev\u002Fnull && echo \"server: running\"\n\n# Can this machine run ComfyUI locally? (GPU\u002FVRAM\u002Fdisk check)\npython3 scripts\u002Fhardware_check.py\n```\n\nIf nothing is installed, see **Setup & Onboarding** below — but always run the\nhardware check first.\n\n### One-line health check\n\n```bash\npython3 scripts\u002Fhealth_check.py\n# → JSON: comfy_cli on PATH? server reachable? at least one checkpoint? smoke-test passes?\n```\n\n## Core Workflow\n\n### Step 1: Get a workflow JSON in API format\n\nWorkflows must be in API format (each node has `class_type`). They come from:\n\n- ComfyUI web UI → **Workflow → Export (API)** (newer UI) or\n  the legacy \"Save (API Format)\" button (older UI)\n- This skill's `workflows\u002F` directory (ready-to-run examples)\n- Community downloads (civitai, Reddit, Discord) — usually editor format,\n  must be loaded into ComfyUI then re-exported\n\nEditor format (top-level `nodes` and `links` arrays) is **not directly\nexecutable**. The scripts detect this and tell you to re-export.\n\n### Step 2: See what's controllable\n\n```bash\npython3 scripts\u002Fextract_schema.py workflow_api.json --summary-only\n# → {\"parameter_count\": 12, \"has_negative_prompt\": true, \"has_seed\": true, ...}\n\npython3 scripts\u002Fextract_schema.py workflow_api.json\n# → full schema with parameters, model deps, embedding refs\n```\n\n### Step 3: Run with parameters\n\n```bash\n# Local (defaults to http:\u002F\u002F127.0.0.1:8188)\npython3 scripts\u002Frun_workflow.py \\\n  --workflow workflow_api.json \\\n  --args '{\"prompt\": \"a beautiful sunset over mountains\", \"seed\": -1, \"steps\": 30}' \\\n  --output-dir .\u002Foutputs\n\n# Cloud (export API key once; uses correct \u002Fapi routing automatically)\nexport COMFY_CLOUD_API_KEY=\"comfyui-...\"\npython3 scripts\u002Frun_workflow.py \\\n  --workflow workflow_api.json \\\n  --args '{\"prompt\": \"...\"}' \\\n  --host https:\u002F\u002Fcloud.comfy.org \\\n  --output-dir .\u002Foutputs\n\n# Real-time progress via WebSocket (requires `pip install websocket-client`)\npython3 scripts\u002Frun_workflow.py \\\n  --workflow flux_dev.json \\\n  --args '{\"prompt\": \"...\"}' \\\n  --ws\n\n# img2img \u002F inpaint: pass --input-image to upload + reference automatically\npython3 scripts\u002Frun_workflow.py \\\n  --workflow sdxl_img2img.json \\\n  --input-image image=.\u002Fphoto.png \\\n  --args '{\"prompt\": \"make it watercolor\", \"denoise\": 0.6}'\n\n# Batch \u002F sweep: 8 random seeds, parallel up to cloud tier limit\npython3 scripts\u002Frun_batch.py \\\n  --workflow sdxl.json \\\n  --args '{\"prompt\": \"abstract\"}' \\\n  --count 8 --randomize-seed --parallel 3 \\\n  --output-dir .\u002Foutputs\u002Fbatch\n```\n\n`-1` for `seed` (or omitting it with `--randomize-seed`) generates a fresh\nrandom seed per run.\n\n### Step 4: Present results\n\nThe scripts emit JSON to stdout describing every output file:\n\n```json\n{\n  \"status\": \"success\",\n  \"prompt_id\": \"abc-123\",\n  \"outputs\": [\n    {\"file\": \".\u002Foutputs\u002Fsdxl_00001_.png\", \"node_id\": \"9\",\n     \"type\": \"image\", \"filename\": \"sdxl_00001_.png\"}\n  ]\n}\n```\n\n## Decision Tree\n\n| User says | Tool | Command |\n|-----------|------|---------|\n| **Lifecycle (use comfy-cli)** | | |\n| \"install ComfyUI\" | comfy-cli | `bash scripts\u002Fcomfyui_setup.sh` |\n| \"start ComfyUI\" | comfy-cli | `comfy launch --background` |\n| \"stop ComfyUI\" | comfy-cli | `comfy stop` |\n| \"install X node\" | comfy-cli | `comfy node install \u003Cname>` |\n| \"download X model\" | comfy-cli | `comfy model download --url \u003Curl> --relative-path models\u002Fcheckpoints` |\n| \"list installed models\" | comfy-cli | `comfy model list` |\n| \"list installed nodes\" | comfy-cli | `comfy node show installed` |\n| **Execution (use scripts)** | | |\n| \"is everything ready?\" | script | `health_check.py` (optionally with `--workflow X --smoke-test`) |\n| \"what can I change in this workflow?\" | script | `extract_schema.py W.json` |\n| \"check if W's deps are met\" | script | `check_deps.py W.json` |\n| \"fix missing deps\" | script | `auto_fix_deps.py W.json` |\n| \"generate an image\" | script | `run_workflow.py --workflow W --args '{...}'` |\n| \"use this image\" (img2img) | script | `run_workflow.py --input-image image=.\u002Fx.png ...` |\n| \"8 variations with random seeds\" | script | `run_batch.py --count 8 --randomize-seed ...` |\n| \"show me live progress\" | script | `ws_monitor.py --prompt-id \u003Cid>` |\n| \"fetch the error from job X\" | script | `fetch_logs.py \u003Cprompt_id>` |\n| **Direct REST** | | |\n| \"what's in the queue?\" | REST | `curl http:\u002F\u002FHOST:8188\u002Fqueue` (local) or `--host https:\u002F\u002Fcloud.comfy.org` |\n| \"cancel that\" | REST | `curl -X POST http:\u002F\u002FHOST:8188\u002Finterrupt` |\n| \"free GPU memory\" | REST | `curl -X POST http:\u002F\u002FHOST:8188\u002Ffree` |\n\n## Setup & Onboarding\n\nWhen a user asks to set up ComfyUI, **the FIRST thing to do is ask whether\nthey want Comfy Cloud (hosted, zero install, API key) or Local (install\nComfyUI on their machine)**. Don't start running install commands or hardware\nchecks until they've answered.\n\n**Official docs:** https:\u002F\u002Fdocs.comfy.org\u002Finstallation\n**CLI docs:** https:\u002F\u002Fdocs.comfy.org\u002Fcomfy-cli\u002Fgetting-started\n**Cloud docs:** https:\u002F\u002Fdocs.comfy.org\u002Fget_started\u002Fcloud\n**Cloud API:** https:\u002F\u002Fdocs.comfy.org\u002Fdevelopment\u002Fcloud\u002Foverview\n\n### Step 0: Ask Local vs Cloud (ALWAYS FIRST)\n\nSuggested script:\n\n> \"Do you want to run ComfyUI locally on your machine, or use Comfy Cloud?\n>\n> - **Comfy Cloud** — hosted on RTX 6000 Pro GPUs, all common models pre-installed,\n>   zero setup. Requires an API key (paid subscription required to actually run\n>   workflows; free tier is read-only). Best if you don't have a capable GPU.\n> - **Local** — free, but your machine MUST meet the hardware requirements:\n>   - NVIDIA GPU with **≥6 GB VRAM** (≥8 GB for SDXL, ≥12 GB for Flux\u002Fvideo), OR\n>   - AMD GPU with ROCm support (Linux), OR\n>   - Apple Silicon Mac (M1+) with **≥16 GB unified memory** (≥32 GB recommended).\n>   - Intel Macs and machines with no GPU will NOT work — use Cloud instead.\n>\n> Which would you like?\"\n\nRouting:\n\n- **Cloud** → skip to **Path A**.\n- **Local** → run hardware check first, then pick a path from Paths B–E based on the verdict.\n- **Unsure** → run the hardware check and let the verdict decide.\n\n### Step 1: Verify Hardware (ONLY if user chose local)\n\n```bash\npython3 scripts\u002Fhardware_check.py --json\n# Optional: also probe `torch` for actual CUDA\u002FMPS:\npython3 scripts\u002Fhardware_check.py --json --check-pytorch\n```\n\n| Verdict    | Meaning                                                       | Action |\n|------------|---------------------------------------------------------------|--------|\n| `ok`       | ≥8 GB VRAM (discrete) OR ≥32 GB unified (Apple Silicon)       | Local install — use `comfy_cli_flag` from report |\n| `marginal` | SD1.5 works; SDXL tight; Flux\u002Fvideo unlikely                  | Local OK for light workflows, else **Path A (Cloud)** |\n| `cloud`    | No usable GPU, \u003C6 GB VRAM, \u003C16 GB Apple unified, Intel Mac, Rosetta Python | **Switch to Cloud** unless user explicitly forces local |\n\nThe script also surfaces `wsl: true` (WSL2 with NVIDIA passthrough) and\n`rosetta: true` (x86_64 Python on Apple Silicon — must reinstall as ARM64).\n\nIf verdict is `cloud` but the user wants local, do not proceed silently.\nShow the `notes` array verbatim and ask whether they want to (a) switch to\nCloud or (b) force a local install (will OOM or be unusably slow on modern models).\n\n### Choosing an Installation Path\n\nUse the hardware check first. The table below is the fallback for when the\nuser has already told you their hardware:\n\n| Situation | Recommended Path |\n|-----------|------------------|\n| `verdict: cloud` from hardware check | **Path A: Comfy Cloud** |\n| No GPU \u002F want to try without commitment | **Path A: Comfy Cloud** |\n| Windows + NVIDIA + non-technical | **Path B: ComfyUI Desktop** |\n| Windows + NVIDIA + technical | **Path C: Portable** or **Path D: comfy-cli** |\n| Linux + any GPU | **Path D: comfy-cli** (easiest) |\n| macOS + Apple Silicon | **Path B: Desktop** or **Path D: comfy-cli** |\n| Headless \u002F server \u002F CI \u002F agents | **Path D: comfy-cli** |\n\nFor the fully automated path (hardware check → install → launch → verify):\n\n```bash\nbash scripts\u002Fcomfyui_setup.sh\n# Or with overrides:\nbash scripts\u002Fcomfyui_setup.sh --m-series --port=8190 --workspace=\u002Fdata\u002Fcomfy\n```\n\nIt runs `hardware_check.py` internally, refuses to install locally when the\nverdict is `cloud` (unless `--force-cloud-override`), picks the right\n`comfy-cli` flag, and prefers `pipx`\u002F`uvx` over global `pip` to avoid polluting\nsystem Python.\n\n---\n\n### Path A: Comfy Cloud (No Local Install)\n\nFor users without a capable GPU or who want zero setup. Hosted on RTX 6000 Pro.\n\n**Docs:** https:\u002F\u002Fdocs.comfy.org\u002Fget_started\u002Fcloud\n\n1. Sign up at https:\u002F\u002Fcomfy.org\u002Fcloud\n2. Generate an API key at https:\u002F\u002Fplatform.comfy.org\u002Flogin\n3. Set the key:\n   ```bash\n   export COMFY_CLOUD_API_KEY=\"comfyui-xxxxxxxxxxxx\"\n   ```\n4. Run workflows:\n   ```bash\n   python3 scripts\u002Frun_workflow.py \\\n     --workflow workflows\u002Fflux_dev_txt2img.json \\\n     --args '{\"prompt\": \"...\"}' \\\n     --host https:\u002F\u002Fcloud.comfy.org \\\n     --output-dir .\u002Foutputs\n   ```\n\n**Pricing:** https:\u002F\u002Fwww.comfy.org\u002Fcloud\u002Fpricing\n**Concurrent jobs:** Free\u002FStandard 1, Creator 3, Pro 5. Free tier\n**cannot run workflows via API** — only browse models. Paid subscription\nrequired for `\u002Fapi\u002Fprompt`, `\u002Fapi\u002Fupload\u002F*`, `\u002Fapi\u002Fview`, etc.\n\n---\n\n### Path B: ComfyUI Desktop (Windows \u002F macOS)\n\nOne-click installer for non-technical users. Currently Beta.\n\n**Docs:** https:\u002F\u002Fdocs.comfy.org\u002Finstallation\u002Fdesktop\n- **Windows (NVIDIA):** https:\u002F\u002Fdownload.comfy.org\u002Fwindows\u002Fnsis\u002Fx64\n- **macOS (Apple Silicon):** https:\u002F\u002Fcomfy.org\n\nLinux is **not supported** for Desktop — use Path D.\n\n---\n\n### Path C: ComfyUI Portable (Windows Only)\n\n**Docs:** https:\u002F\u002Fdocs.comfy.org\u002Finstallation\u002Fcomfyui_portable_windows\n\nDownload from https:\u002F\u002Fgithub.com\u002Fcomfyanonymous\u002FComfyUI\u002Freleases, extract,\nrun `run_nvidia_gpu.bat`. Update via `update\u002Fupdate_comfyui_stable.bat`.\n\n---\n\n### Path D: comfy-cli (All Platforms — Recommended for Agents)\n\nThe official CLI is the best path for headless\u002Fautomated setups.\n\n**Docs:** https:\u002F\u002Fdocs.comfy.org\u002Fcomfy-cli\u002Fgetting-started\n\n#### Install comfy-cli\n\n```bash\n# Recommended:\npipx install comfy-cli\n# Or use uvx without installing:\nuvx --from comfy-cli comfy --help\n# Or (if pipx\u002Fuvx unavailable):\npip install --user comfy-cli\n```\n\nDisable analytics non-interactively:\n```bash\ncomfy --skip-prompt tracking disable\n```\n\n#### Install ComfyUI\n\n```bash\ncomfy --skip-prompt install --nvidia              # NVIDIA (CUDA)\ncomfy --skip-prompt install --amd                 # AMD (ROCm, Linux)\ncomfy --skip-prompt install --m-series            # Apple Silicon (MPS)\ncomfy --skip-prompt install --cpu                 # CPU only (slow)\ncomfy --skip-prompt install --nvidia --fast-deps  # uv-based dep resolution\n```\n\nDefault location: `~\u002Fcomfy\u002FComfyUI` (Linux), `~\u002FDocuments\u002Fcomfy\u002FComfyUI`\n(macOS\u002FWin). Override with `comfy --workspace \u002Fcustom\u002Fpath install`.\n\n#### Launch \u002F verify\n\n```bash\ncomfy launch --background                       # background daemon on :8188\ncomfy launch -- --listen 0.0.0.0 --port 8190    # LAN-accessible custom port\ncurl -s http:\u002F\u002F127.0.0.1:8188\u002Fsystem_stats      # health check\n```\n\n---\n\n### Path E: Manual Install (Advanced \u002F Unsupported Hardware)\n\nFor Ascend NPU, Cambricon MLU, Intel Arc, or other unsupported hardware.\n\n**Docs:** https:\u002F\u002Fdocs.comfy.org\u002Finstallation\u002Fmanual_install\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fcomfyanonymous\u002FComfyUI.git\ncd ComfyUI\npip install torch torchvision torchaudio --extra-index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fcu130\npip install -r requirements.txt\npython main.py\n```\n\n---\n\n### Post-Install: Download Models\n\n```bash\n# SDXL (general purpose, ~6.5 GB)\ncomfy model download \\\n  --url \"https:\u002F\u002Fhuggingface.co\u002Fstabilityai\u002Fstable-diffusion-xl-base-1.0\u002Fresolve\u002Fmain\u002Fsd_xl_base_1.0.safetensors\" \\\n  --relative-path models\u002Fcheckpoints\n\n# SD 1.5 (lighter, ~4 GB, good for 6 GB cards)\ncomfy model download \\\n  --url \"https:\u002F\u002Fhuggingface.co\u002Fstable-diffusion-v1-5\u002Fstable-diffusion-v1-5\u002Fresolve\u002Fmain\u002Fv1-5-pruned-emaonly.safetensors\" \\\n  --relative-path models\u002Fcheckpoints\n\n# Flux Dev fp8 (smaller variant, ~12 GB)\ncomfy model download \\\n  --url \"https:\u002F\u002Fhuggingface.co\u002FComfy-Org\u002Fflux1-dev\u002Fresolve\u002Fmain\u002Fflux1-dev-fp8.safetensors\" \\\n  --relative-path models\u002Fcheckpoints\n\n# CivitAI (set token first):\ncomfy model download \\\n  --url \"https:\u002F\u002Fcivitai.com\u002Fapi\u002Fdownload\u002Fmodels\u002F128713\" \\\n  --relative-path models\u002Fcheckpoints \\\n  --set-civitai-api-token \"YOUR_TOKEN\"\n```\n\nList installed: `comfy model list`.\n\n### Post-Install: Install Custom Nodes\n\n```bash\ncomfy node install comfyui-impact-pack             # popular utility pack\ncomfy node install comfyui-animatediff-evolved     # video generation\ncomfy node install comfyui-controlnet-aux          # ControlNet preprocessors\ncomfy node install comfyui-essentials              # common helpers\ncomfy node update all\ncomfy node install-deps --workflow=workflow.json   # install everything a workflow needs\n```\n\n### Post-Install: Verify\n\n```bash\npython3 scripts\u002Fhealth_check.py\n# → comfy_cli on PATH? server reachable? checkpoints? smoke test?\n\npython3 scripts\u002Fcheck_deps.py my_workflow.json\n# → are this workflow's nodes\u002Fmodels\u002Fembeddings installed?\n\npython3 scripts\u002Frun_workflow.py \\\n  --workflow workflows\u002Fsd15_txt2img.json \\\n  --args '{\"prompt\": \"test\", \"steps\": 4}' \\\n  --output-dir .\u002Ftest-outputs\n```\n\n## Image Upload (img2img \u002F Inpainting)\n\nThe simplest way is to use `--input-image` with `run_workflow.py`:\n\n```bash\npython3 scripts\u002Frun_workflow.py \\\n  --workflow workflows\u002Fsdxl_img2img.json \\\n  --input-image image=.\u002Fphoto.png \\\n  --args '{\"prompt\": \"make it cyberpunk\", \"denoise\": 0.6}'\n```\n\nThe flag uploads `photo.png`, then injects its server-side filename into\nwhatever schema parameter is named `image`. For inpainting, pass both:\n\n```bash\npython3 scripts\u002Frun_workflow.py \\\n  --workflow workflows\u002Fsdxl_inpaint.json \\\n  --input-image image=.\u002Fphoto.png \\\n  --input-image mask_image=.\u002Fmask.png \\\n  --args '{\"prompt\": \"fill with flowers\"}'\n```\n\nManual upload via REST:\n```bash\ncurl -X POST \"http:\u002F\u002F127.0.0.1:8188\u002Fupload\u002Fimage\" \\\n  -F \"image=@photo.png\" -F \"type=input\" -F \"overwrite=true\"\n# Returns: {\"name\": \"photo.png\", \"subfolder\": \"\", \"type\": \"input\"}\n\n# Cloud equivalent:\ncurl -X POST \"https:\u002F\u002Fcloud.comfy.org\u002Fapi\u002Fupload\u002Fimage\" \\\n  -H \"X-API-Key: $COMFY_CLOUD_API_KEY\" \\\n  -F \"image=@photo.png\" -F \"type=input\" -F \"overwrite=true\"\n```\n\n## Cloud Specifics\n\n- **Base URL:** `https:\u002F\u002Fcloud.comfy.org`\n- **Auth:** `X-API-Key` header (or `?token=KEY` for WebSocket)\n- **API key:** set `$COMFY_CLOUD_API_KEY` once and the scripts pick it up automatically\n- **Output download:** `\u002Fapi\u002Fview` returns a 302 to a signed URL; the scripts\n  follow it and strip `X-API-Key` before fetching from the storage backend\n  (don't leak the API key to S3\u002FCloudFront).\n- **Endpoint differences from local ComfyUI:**\n  - `\u002Fapi\u002Fobject_info`, `\u002Fapi\u002Fqueue`, `\u002Fapi\u002Fuserdata` — **403 on free tier**;\n    paid only.\n  - `\u002Fhistory` is renamed to `\u002Fhistory_v2` on cloud (the scripts route\n    automatically).\n  - `\u002Fmodels\u002F\u003Cfolder>` is renamed to `\u002Fexperiment\u002Fmodels\u002F\u003Cfolder>` on cloud\n    (the scripts route automatically).\n  - `clientId` in WebSocket is currently ignored — all connections for a\n    user receive the same broadcast. Filter by `prompt_id` client-side.\n  - `subfolder` is accepted on uploads but ignored — cloud has a flat namespace.\n- **Concurrent jobs:** Free\u002FStandard: 1, Creator: 3, Pro: 5. Extras queue\n  automatically. Use `run_batch.py --parallel N` to saturate your tier.\n\n## Queue & System Management\n\n```bash\n# Local\ncurl -s http:\u002F\u002F127.0.0.1:8188\u002Fqueue | python3 -m json.tool\ncurl -X POST http:\u002F\u002F127.0.0.1:8188\u002Fqueue -d '{\"clear\": true}'    # cancel pending\ncurl -X POST http:\u002F\u002F127.0.0.1:8188\u002Finterrupt                      # cancel running\ncurl -X POST http:\u002F\u002F127.0.0.1:8188\u002Ffree \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"unload_models\": true, \"free_memory\": true}'\n\n# Cloud — same paths under \u002Fapi\u002F, plus:\npython3 scripts\u002Ffetch_logs.py --tail-queue --host https:\u002F\u002Fcloud.comfy.org\n```\n\n## Pitfalls\n\n1. **API format required** — every script and the `\u002Fapi\u002Fprompt` endpoint expect\n   API-format workflow JSON. The scripts detect editor format (top-level\n   `nodes` and `links` arrays) and tell you to re-export via\n   \"Workflow → Export (API)\" (newer UI) or \"Save (API Format)\" (older UI).\n\n2. **Server must be running** — all execution requires a live server.\n   `comfy launch --background` starts one. Verify with\n   `curl http:\u002F\u002F127.0.0.1:8188\u002Fsystem_stats`.\n\n3. **Model names are exact** — case-sensitive, includes file extension.\n   `check_deps.py` does fuzzy matching (with\u002Fwithout extension and folder\n   prefix), but the workflow itself must use the canonical name. Use\n   `comfy model list` to discover what's installed.\n\n4. **Missing custom nodes** — \"class_type not found\" means a required node\n   isn't installed. `check_deps.py` reports which package to install;\n   `auto_fix_deps.py` runs the install for you.\n\n5. **Working directory** — `comfy-cli` auto-detects the ComfyUI workspace.\n   If commands fail with \"no workspace found\", use\n   `comfy --workspace \u002Fpath\u002Fto\u002FComfyUI \u003Ccommand>` or\n   `comfy set-default \u002Fpath\u002Fto\u002FComfyUI`.\n\n6. **Cloud free-tier API limits** — `\u002Fapi\u002Fprompt`, `\u002Fapi\u002Fview`, `\u002Fapi\u002Fupload\u002F*`,\n   `\u002Fapi\u002Fobject_info` all return 403 on free accounts. `health_check.py` and\n   `check_deps.py` handle this gracefully and surface a clear message.\n\n7. **Timeout for video\u002Faudio workflows** — auto-detected when an output node\n   is `VHS_VideoCombine`, `SaveVideo`, etc.; the default jumps from 300 s to\n   900 s. Override explicitly with `--timeout 1800`.\n\n8. **Path traversal in output filenames** — server-supplied filenames are\n   passed through `safe_path_join` to refuse anything escaping `--output-dir`.\n   Keep this protection on — workflows with custom save nodes can produce\n   arbitrary paths.\n\n9. **Workflow JSON is arbitrary code** — custom nodes run Python, so\n   submitting an unknown workflow has the same trust profile as `eval`.\n   Inspect workflows from untrusted sources before running.\n\n10. **Auto-randomized seed** — pass `seed: -1` in `--args` (or use\n    `--randomize-seed` and omit the seed) to get a fresh seed per run.\n    The actual seed is logged to stderr.\n\n11. **`tracking` prompt** — first run of `comfy` may prompt for analytics.\n    Use `comfy --skip-prompt tracking disable` to skip non-interactively.\n    `comfyui_setup.sh` does this for you.\n\n## Verification Checklist\n\nUse `python3 scripts\u002Fhealth_check.py` to run the whole list at once. Manual:\n\n- [ ] `hardware_check.py` verdict is `ok` OR the user explicitly chose Comfy Cloud\n- [ ] `comfy --version` works (or `uvx --from comfy-cli comfy --help`)\n- [ ] `curl http:\u002F\u002FHOST:PORT\u002Fsystem_stats` returns JSON\n- [ ] `comfy model list` shows at least one checkpoint (local) OR\n      `\u002Fapi\u002Fexperiment\u002Fmodels\u002Fcheckpoints` returns models (cloud)\n- [ ] Workflow JSON is in API format\n- [ ] `check_deps.py` reports `is_ready: true` (or only `node_check_skipped`\n      on cloud free tier)\n- [ ] Test run with a small workflow completes; outputs land in `--output-dir`\n",{"name":5,"setup":55,"author":57,"license":14,"version":61,"metadata":62,"platforms":73,"description":7,"compatibility":75,"prerequisites":76},{"help":56},"Run scripts\u002Fhardware_check.py FIRST to decide local vs Comfy Cloud; then scripts\u002Fcomfyui_setup.sh auto-installs locally (or use Cloud API key for platform.comfy.org).",[58,59,60],"kshitijk4poor","alt-glitch","purzbeats","5.1.0",{"hermes":63},{"tags":64,"category":69,"related_skills":70},[5,39,65,37,66,67,68,69,33,36],"stable-diffusion","sd3","wan-video","hunyuan-video","creative",[71,72],"stable-diffusion-image-generation","image_gen",[49,74,47],"linux","Requires ComfyUI (local, Comfy Desktop, or Comfy Cloud) and comfy-cli (auto-installed via pipx\u002Fuvx by the setup script).",{"commands":77},[78],"python3","main","17ee50c38aefa9426a89d7e8ee167fdc4c184fb7","agent-skills\u002Fcreative\u002Fcomfyui",0,"https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup","https:\u002F\u002Fgithub.com\u002Fxuanxuan1983","2026-05-24 00:14:48",{"source":8,"skillName":5,"commands":87,"prompt":97,"zipAvailable":98},[88,91,94],{"tool":89,"command":90},"npx","npx skills add xuanxuan1983\u002Fhermes-skills-backup --skill comfyui",{"tool":92,"command":93},"bunx","bunx skills add xuanxuan1983\u002Fhermes-skills-backup --skill comfyui",{"tool":95,"command":96},"pnpm","pnpm dlx skills add xuanxuan1983\u002Fhermes-skills-backup --skill comfyui","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fagent-skills\u002Fcreative\u002Fcomfyui\u002FSKILL.md",true,[100,106,110,114,118,124,128,132,136,140,144,148,152,156,160,164,168,174,178,182,186,190,194,198,202,206,210,214,218,222,226,230],{"path":101,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":104,"sourceHtmlUrl":105},"references\u002Fofficial-cli.md","REFERENCE","参考文档",7531,"https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fagent-skills\u002Fcreative\u002Fcomfyui\u002Freferences\u002Fofficial-cli.md",{"path":107,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":108,"sourceHtmlUrl":109},"references\u002Frest-api.md",10363,"https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fagent-skills\u002Fcreative\u002Fcomfyui\u002Freferences\u002Frest-api.md",{"path":111,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":112,"sourceHtmlUrl":113},"references\u002Ftemplate-integrity.md",8821,"https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fagent-skills\u002Fcreative\u002Fcomfyui\u002Freferences\u002Ftemplate-integrity.md",{"path":115,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":116,"sourceHtmlUrl":117},"references\u002Fworkflow-format.md",8025,"https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fagent-skills\u002Fcreative\u002Fcomfyui\u002Freferences\u002Fworkflow-format.md",{"path":119,"resourceType":120,"resourceTypeDesc":121,"sizeBytes":122,"sourceHtmlUrl":123},"scripts\u002F_common.py","SCRIPT","脚本",33742,"https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fagent-skills\u002Fcreative\u002Fcomfyui\u002Fscripts\u002F_common.py",{"path":125,"resourceType":120,"resourceTypeDesc":121,"sizeBytes":126,"sourceHtmlUrl":127},"scripts\u002Fauto_fix_deps.py",8279,"https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fagent-skills\u002Fcreative\u002Fcomfyui\u002Fscripts\u002Fauto_fix_deps.py",{"path":129,"resourceType":120,"resourceTypeDesc":121,"sizeBytes":130,"sourceHtmlUrl":131},"scripts\u002Fcheck_deps.py",17164,"https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fagent-skills\u002Fcreative\u002Fcomfyui\u002Fscripts\u002Fcheck_deps.py",{"path":133,"resourceType":120,"resourceTypeDesc":121,"sizeBytes":134,"sourceHtmlUrl":135},"scripts\u002Fcomfyui_setup.sh",10447,"https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fagent-skills\u002Fcreative\u002Fcomfyui\u002Fscripts\u002Fcomfyui_setup.sh",{"path":137,"resourceType":120,"resourceTypeDesc":121,"sizeBytes":138,"sourceHtmlUrl":139},"scripts\u002Fextract_schema.py",11289,"https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fagent-skills\u002Fcreative\u002Fcomfyui\u002Fscripts\u002Fextract_schema.py",{"path":141,"resourceType":120,"resourceTypeDesc":121,"sizeBytes":142,"sourceHtmlUrl":143},"scripts\u002Ffetch_logs.py",5702,"https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fagent-skills\u002Fcreative\u002Fcomfyui\u002Fscripts\u002Ffetch_logs.py",{"path":145,"resourceType":120,"resourceTypeDesc":121,"sizeBytes":146,"sourceHtmlUrl":147},"scripts\u002Fhardware_check.py",17833,"https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fagent-skills\u002Fcreative\u002Fcomfyui\u002Fscripts\u002Fhardware_check.py",{"path":149,"resourceType":120,"resourceTypeDesc":121,"sizeBytes":150,"sourceHtmlUrl":151},"scripts\u002Fhealth_check.py",8188,"https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fagent-skills\u002Fcreative\u002Fcomfyui\u002Fscripts\u002Fhealth_check.py",{"path":153,"resourceType":120,"resourceTypeDesc":121,"sizeBytes":154,"sourceHtmlUrl":155},"scripts\u002Frun_batch.py",9080,"https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fagent-skills\u002Fcreative\u002Fcomfyui\u002Fscripts\u002Frun_batch.py",{"path":157,"resourceType":120,"resourceTypeDesc":121,"sizeBytes":158,"sourceHtmlUrl":159},"scripts\u002Frun_workflow.py",31591,"https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fagent-skills\u002Fcreative\u002Fcomfyui\u002Fscripts\u002Frun_workflow.py",{"path":161,"resourceType":120,"resourceTypeDesc":121,"sizeBytes":162,"sourceHtmlUrl":163},"scripts\u002Fws_monitor.py",10512,"https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fagent-skills\u002Fcreative\u002Fcomfyui\u002Fscripts\u002Fws_monitor.py",{"path":165,"resourceType":120,"resourceTypeDesc":121,"sizeBytes":166,"sourceHtmlUrl":167},"tests\u002Fconftest.py",1480,"https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fagent-skills\u002Fcreative\u002Fcomfyui\u002Ftests\u002Fconftest.py",{"path":169,"resourceType":170,"resourceTypeDesc":171,"sizeBytes":172,"sourceHtmlUrl":173},"tests\u002Fpytest.ini","OTHER","其他",132,"https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fagent-skills\u002Fcreative\u002Fcomfyui\u002Ftests\u002Fpytest.ini",{"path":175,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":176,"sourceHtmlUrl":177},"tests\u002FREADME.md",2124,"https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fagent-skills\u002Fcreative\u002Fcomfyui\u002Ftests\u002FREADME.md",{"path":179,"resourceType":120,"resourceTypeDesc":121,"sizeBytes":180,"sourceHtmlUrl":181},"tests\u002Ftest_check_deps.py",2362,"https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fagent-skills\u002Fcreative\u002Fcomfyui\u002Ftests\u002Ftest_check_deps.py",{"path":183,"resourceType":120,"resourceTypeDesc":121,"sizeBytes":184,"sourceHtmlUrl":185},"tests\u002Ftest_cloud_integration.py",4324,"https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fagent-skills\u002Fcreative\u002Fcomfyui\u002Ftests\u002Ftest_cloud_integration.py",{"path":187,"resourceType":120,"resourceTypeDesc":121,"sizeBytes":188,"sourceHtmlUrl":189},"tests\u002Ftest_common.py",16433,"https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fagent-skills\u002Fcreative\u002Fcomfyui\u002Ftests\u002Ftest_common.py",{"path":191,"resourceType":120,"resourceTypeDesc":121,"sizeBytes":192,"sourceHtmlUrl":193},"tests\u002Ftest_extract_schema.py",7986,"https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fagent-skills\u002Fcreative\u002Fcomfyui\u002Ftests\u002Ftest_extract_schema.py",{"path":195,"resourceType":120,"resourceTypeDesc":121,"sizeBytes":196,"sourceHtmlUrl":197},"tests\u002Ftest_run_workflow.py",8746,"https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fagent-skills\u002Fcreative\u002Fcomfyui\u002Ftests\u002Ftest_run_workflow.py",{"path":199,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":200,"sourceHtmlUrl":201},"workflows\u002Fanimatediff_video.json",2071,"https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fagent-skills\u002Fcreative\u002Fcomfyui\u002Fworkflows\u002Fanimatediff_video.json",{"path":203,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":204,"sourceHtmlUrl":205},"workflows\u002Fflux_dev_txt2img.json",2232,"https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fagent-skills\u002Fcreative\u002Fcomfyui\u002Fworkflows\u002Fflux_dev_txt2img.json",{"path":207,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":208,"sourceHtmlUrl":209},"workflows\u002FREADME.md",3932,"https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fagent-skills\u002Fcreative\u002Fcomfyui\u002Fworkflows\u002FREADME.md",{"path":211,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":212,"sourceHtmlUrl":213},"workflows\u002Fsd15_txt2img.json",1474,"https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fagent-skills\u002Fcreative\u002Fcomfyui\u002Fworkflows\u002Fsd15_txt2img.json",{"path":215,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":216,"sourceHtmlUrl":217},"workflows\u002Fsdxl_img2img.json",1652,"https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fagent-skills\u002Fcreative\u002Fcomfyui\u002Fworkflows\u002Fsdxl_img2img.json",{"path":219,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":220,"sourceHtmlUrl":221},"workflows\u002Fsdxl_inpaint.json",1873,"https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fagent-skills\u002Fcreative\u002Fcomfyui\u002Fworkflows\u002Fsdxl_inpaint.json",{"path":223,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":224,"sourceHtmlUrl":225},"workflows\u002Fsdxl_txt2img.json",1449,"https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fagent-skills\u002Fcreative\u002Fcomfyui\u002Fworkflows\u002Fsdxl_txt2img.json",{"path":227,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":228,"sourceHtmlUrl":229},"workflows\u002Fupscale_4x.json",864,"https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fagent-skills\u002Fcreative\u002Fcomfyui\u002Fworkflows\u002Fupscale_4x.json",{"path":231,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":232,"sourceHtmlUrl":233},"workflows\u002Fwan_video_t2v.json",2189,"https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fagent-skills\u002Fcreative\u002Fcomfyui\u002Fworkflows\u002Fwan_video_t2v.json",[235,272,300,316,338,358],{"skillNo":236,"name":237,"nameZh":6,"description":238,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":239,"categories":240,"keywords":251,"publishedAt":50},"01M71JFHVW1W4XE013TY9ZYN9P","writing-plans","Use when you have a spec or requirements for a multi-step task. Creates comprehensive implementation plans with bite-sized tasks, exact file paths, and complete code examples.","https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fskills\u002Fsoftware-development\u002Fwriting-plans\u002FSKILL.md",[241,244,247,248],{"categoryNo":242,"categoryName":243,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":245,"categoryName":246,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":26,"categoryName":27,"taxonomyType":28,"taxonomyTypeDesc":29},{"categoryNo":249,"categoryName":250,"taxonomyType":28,"taxonomyTypeDesc":29},"01JBSEEDCAT000000000000036","内容创作者",[252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271],"writing","writing plans","plans","test-driven","test-driven-development","superpowers","design","when","workflow","you","code","tasks","subagent","code-review","review","documentation","paths","planning","development","for",{"skillNo":273,"name":256,"nameZh":6,"description":274,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":275,"categories":276,"keywords":285,"publishedAt":50},"01M71JFF859RV0XGWS206X1TMB","Use when implementing any feature or bugfix, before writing implementation code. Enforces RED-GREEN-REFACTOR cycle with test-first approach.","https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fskills\u002Fsoftware-development\u002Ftest-driven-development\u002FSKILL.md",[277,280,283,284],{"categoryNo":278,"categoryName":279,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":281,"categoryName":282,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":245,"categoryName":246,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":249,"categoryName":250,"taxonomyType":28,"taxonomyTypeDesc":29},[286,270,287,288,289,290,291,292,293,294,257,252,295,259,262,264,296,297,298,299],"test driven development","test","driven","test-first","green","cycle","red-green-refactor","testing","implementing","debugging","systematic","bugfix","refactor","systematic-debugging",{"skillNo":301,"name":299,"nameZh":6,"description":302,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":303,"categories":304,"keywords":306,"publishedAt":50},"01M71JFCA5S48PZ5M7DG31R8K5","Use when encountering any bug, test failure, or unexpected behavior. 4-phase root cause investigation — NO fixes without understanding the problem first.","https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fskills\u002Fsoftware-development\u002Fsystematic-debugging\u002FSKILL.md",[305],{"categoryNo":281,"categoryName":282,"taxonomyType":20,"taxonomyTypeDesc":21},[307,295,296,255,308,309,256,257,252,259,264,310,311,270,312,313,254,314,315,287],"systematic debugging","problem","problem-solving","phase","bug","fixes","root cause","use","root-cause",{"skillNo":317,"name":318,"nameZh":6,"description":319,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":320,"categories":321,"keywords":331,"publishedAt":50},"01M71JF9RQ092KM5ZXCBBT6FS1","subagent-driven-development","Use when executing implementation plans with independent tasks. Dispatches fresh delegate_task per task with two-stage review (spec compliance then code quality).","https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fskills\u002Fsoftware-development\u002Fsubagent-driven-development\u002FSKILL.md",[322,323,326,327,328],{"categoryNo":245,"categoryName":246,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":324,"categoryName":325,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":26,"categoryName":27,"taxonomyType":28,"taxonomyTypeDesc":29},{"categoryNo":249,"categoryName":250,"taxonomyType":28,"taxonomyTypeDesc":29},{"categoryNo":329,"categoryName":330,"taxonomyType":28,"taxonomyTypeDesc":29},"01JBSEEDCAT000000000000037","律师与法务",[332,264,270,288,255,256,333,334,257,252,259,260,262,263,265,266,335,336,337,254],"subagent driven development","delegate","delegation","fresh","parallel","code quality",{"skillNo":339,"name":340,"nameZh":6,"description":341,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":342,"categories":343,"keywords":346,"publishedAt":50},"01M71JF76DA8ARZ4JRYR4VBRWM","requesting-code-review","Pre-commit verification pipeline — static security scan, baseline-aware quality gates, independent reviewer subagent, and auto-fix loop. Use after code changes and before committing, pushing, or opening a PR.","https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fskills\u002Fsoftware-development\u002Frequesting-code-review\u002FSKILL.md",[344,345],{"categoryNo":278,"categoryName":279,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":26,"categoryName":27,"taxonomyType":28,"taxonomyTypeDesc":29},[347,348,262,266,255,349,350,256,351,352,257,31,252,353,354,355,264,265,356,357],"code review","requesting code review","pipeline","static","fix","auto-fix","loop","security scan","commit","reviewer","verification",{"skillNo":359,"name":360,"nameZh":6,"description":361,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":362,"categories":363,"keywords":364,"publishedAt":50},"01M71JF52HZT5VQXFVF9K2H76K","plan","Plan mode for Hermes — inspect context, write a markdown plan into the active workspace's `.hermes\u002Fplans\u002F` directory, and do not execute the work.","https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fskills\u002Fsoftware-development\u002Fplan\u002FSKILL.md",[],[360,365,366,269,270,271,367,368,254,252,260,264,369,370,371,372,373,374,375,376],"plan-mode","do","inspect","mode","work","markdown","active","directory","workspace","plan mode","write","implementation"]