Comfyui Inventory

mckruz/comfyui-expert/skills/comfyui-inventory

by mckruzdee27dc3d69bNo license91 starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated 6 months ago

Discover and cache all installed ComfyUI models, custom nodes, and system capabilities. Works online (API queries) and offline (directory scanning). Use before generating workflows to verify available resources.

ArchivedInstructions onlyDevOps & Cloud
AI-generated overview

Inventories an installed ComfyUI instance's models, custom nodes and system capabilities, caching results for workflow validation.

What it does
The skill discovers what is installed in a user's ComfyUI instance, either by querying a running ComfyUI API or by scanning the installation's model and custom-node directories offline. It records GPU, VRAM and version details, model filenames by type, and custom node packages into a cached inventory file. It also describes validating a workflow JSON against that inventory and reporting missing nodes or models with suggested installs or downloads.
When to use it
Use it before generating or running ComfyUI workflows, to confirm which models, nodes and hardware resources are actually available. It is also intended for diagnosing missing-model or missing-node errors and for refreshing the cached inventory after new installs.
Requirements
Requires PowerShell (pwsh) and a ComfyUI installation path supplied via the COMFYUI_PATH environment variable. Online mode needs a reachable ComfyUI server API on localhost; offline mode needs filesystem access to the ComfyUI directory. It ships no scripts and only provides instructions.

ComfyUI Inventory Skill

Discovers what's installed in the user's ComfyUI instance and caches results for workflow validation.

Purpose

Every workflow generation MUST be preceded by an inventory check. This prevents:

  • Referencing models that aren't downloaded
  • Using nodes that aren't installed
  • Exceeding VRAM limits

Two Discovery Modes

Online Mode (ComfyUI API Running)

Query the live server for authoritative information.

1. System info:

bash
curl http://127.0.0.1:8188/system_stats

Extracts: GPU name, total VRAM, free VRAM, ComfyUI version.

2. Installed nodes:

bash
curl http://127.0.0.1:8188/object_info

Returns all registered node classes with their input/output specifications.

3. Installed models (per type):

bash
curl http://127.0.0.1:8188/models/checkpointscurl http://127.0.0.1:8188/models/lorascurl http://127.0.0.1:8188/models/vaecurl http://127.0.0.1:8188/models/controlnetcurl http://127.0.0.1:8188/models/clipcurl http://127.0.0.1:8188/models/clip_visioncurl http://127.0.0.1:8188/models/upscale_modelscurl http://127.0.0.1:8188/models/diffusion_models

Offline Mode (Directory Scan)

When ComfyUI isn't running, scan the filesystem directly.

Requires: ComfyUI installation path (e.g., C:\ComfyUI)

Scan directories:

{ComfyUI}/models/checkpoints/    → .safetensors, .ckpt{ComfyUI}/models/loras/          → .safetensors{ComfyUI}/models/vae/            → .safetensors, .pt{ComfyUI}/models/controlnet/     → .safetensors, .pth{ComfyUI}/models/clip/           → .safetensors{ComfyUI}/models/clip_vision/    → .safetensors{ComfyUI}/models/upscale_models/ → .pth, .safetensors{ComfyUI}/models/diffusion_models/ → .safetensors{ComfyUI}/models/ipadapter/      → .safetensors, .bin{ComfyUI}/models/instantid/      → .bin{ComfyUI}/models/insightface/    → .onnx + folders{ComfyUI}/models/facerestore_models/ → .pth{ComfyUI}/models/ultralytics/bbox/ → .pt{ComfyUI}/custom_nodes/          → folder names = node packages

Custom node detection: List directories under custom_nodes/. Each directory name corresponds to a node package (e.g., ComfyUI_IPAdapter_plus, ComfyUI-Impact-Pack).

Cache Format

Save results to state/inventory.json:

json
{  "last_updated": "2026-02-06T12:00:00Z",  "mode": "online",  "comfyui_version": "0.3.10",  "system": {    "gpu": "NVIDIA RTX 5090",    "vram_total_gb": 32,    "vram_free_gb": 28  },  "models": {    "checkpoints": ["flux1-dev.safetensors", "RealVisXL_V5.0.safetensors"],    "loras": ["sage_character.safetensors"],    "vae": ["ae.safetensors", "wan_2.1_vae.safetensors"],    "controlnet": ["instantid_controlnet.safetensors"],    "clip": ["t5xxl_fp16.safetensors", "clip_l.safetensors"],    "clip_vision": ["CLIP-ViT-H-14-laion2B-s32B-b79K.safetensors"],    "upscale_models": ["4x-UltraSharp.pth"],    "diffusion_models": ["wan2.1_i2v_720p_14b_bf16.safetensors"],    "ipadapter": ["ip-adapter-faceid-plusv2_sd15.bin"],    "instantid": ["ip-adapter.bin"],    "insightface": ["inswapper_128.onnx"],    "facerestore": ["codeformer.pth"],    "detection": ["face_yolov8m.pt"]  },  "custom_nodes": [    "ComfyUI-Manager",    "ComfyUI_IPAdapter_plus",    "ComfyUI_InstantID",    "ComfyUI-Impact-Pack",    "ComfyUI-AnimateDiff-Evolved",    "ComfyUI-VideoHelperSuite"  ]}

Workflow Validation

Given a workflow JSON, validate against inventory:

For each node:  1. Check class_type against known node classes  2. If missing: identify which custom_node package provides it  3. Suggest install: "Install via ComfyUI-Manager: {package_name}"
For each model reference:  1. Check filename against inventory models of that type  2. If missing: look up in references/models.md for download link  3. Report: "Missing: {filename} - Download from {url} -> {path}"

Common Node-to-Package Mapping

Node ClassPackage
ApplyInstantIDComfyUI_InstantID
IPAdapterUnifiedLoaderComfyUI_IPAdapter_plus
FaceDetailerComfyUI-Impact-Pack
ReactorFaceSwapComfyUI-ReActor
AnimateDiffLoaderWithContextComfyUI-AnimateDiff-Evolved
VideoHelper*ComfyUI-VideoHelperSuite
ControlNetApply*comfyui_controlnet_aux
UltimateSDUpscaleComfyUI_UltimateSDUpscale
VHS_*ComfyUI-VideoHelperSuite
RIFE*ComfyUI-Frame-Interpolation

Cache Freshness

  • Cache is valid for 1 hour during active sessions
  • Invalidate cache when user installs new models/nodes
  • Force refresh: scan-inventory.ps1 or API re-query

Integration

  • Called by comfyui-workflow-builder before generating workflows
  • Called by comfyui-character-gen (via agent wrapper) for model selection
  • Called by comfyui-troubleshooter when diagnosing missing model errors
  • Results stored in state/inventory.json for all skills to reference

Source and attribution

Source:mckruz/comfyui-expertinskills/comfyui-inventoryat commitdee27dc

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal