comfyui-node-registry

Author and publish ComfyUI custom node packs to the Comfy Registry.

715|111|Updated Feb 15, 2026
One-click install
npx skills add https://github.com/artokun/comfyui-mcp --skill comfyui-node-registry
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: comfyui-node-registry
Source: https://github.com/artokun/comfyui-mcp/tree/main/plugin/skills/comfyui-node-registry
Command: npx skills add https://github.com/artokun/comfyui-mcp --skill comfyui-node-registry

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires comfy-cli, and includes references (resource) components.

What problem does it solve?

Publishing a ComfyUI custom node pack to the Comfy Registry involves strict rules around node class structure, pyproject.toml metadata, immutable versioning, and API-key-based publishing, and mistakes like a missing Repository URL or a wrong PublisherId cause publish failures.

Core Features & Use Cases

  • Node Pack Authoring: Defines the required package structure, including init.py mappings, the node class contract (INPUT_TYPES, RETURN_TYPES, FUNCTION, CATEGORY), and input widget option schemas.
  • Registry Metadata & Publishing: Specifies every pyproject.toml field rule (name, version, PublisherId, Icon, Banner) plus the comfy-cli publish flow and one-time registry setup.
  • CI Automation: Provides a GitHub Actions workflow that publishes automatically when pyproject.toml changes on the main branch.
  • Use Case: A developer finishes a custom node, runs comfy node init, fills in PublisherId and Repository, bumps the version, and publishes to registry.comfy.org via comfy node publish or a push-triggered GitHub Action.

Quick Start

Help me scaffold a ComfyUI custom node pack with the correct pyproject.toml and publish it to the Comfy Registry using comfy-cli.

Frequently Asked Questions about comfyui-node-registry

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I publish a ComfyUI custom node to the Comfy Registry?

Install comfy-cli, run comfy node init to scaffold pyproject.toml, fill in PublisherId and Repository, then run comfy node publish and enter your registry API key when prompted. Each published version is immutable, so bump the version field to release updates.

What structure does a ComfyUI custom node pack require?

A node pack lives under ComfyUI/custom_nodes/<name>/ and needs an __init__.py exporting NODE_CLASS_MAPPINGS and NODE_DISPLAY_NAME_MAPPINGS. Node classes must define INPUT_TYPES as a classmethod, RETURN_TYPES, FUNCTION, and CATEGORY, and the executing method must return a tuple.

What pyproject.toml fields are required for Comfy Registry publishing?

The required fields are name, version, [project.urls].Repository, and [tool.comfy].PublisherId. The name is globally unique and immutable, the version follows semantic X.Y.Z format, and PublisherId is the id shown after the @ on your registry.comfy.org profile.

Can I automate Comfy node publishing with GitHub Actions?

Yes, add your registry API key as a REGISTRY_ACCESS_TOKEN repo secret and use the Comfy-Org/publish-node-action in a workflow triggered on pushes to main that change pyproject.toml. The action reads the version from pyproject.toml and publishes it automatically.

Why does my Comfy node return nothing or fail to load?

Common causes are forgetting to return a tuple from the FUNCTION method, writing RETURN_TYPES as a string instead of a tuple like ("IMAGE",), or missing the @classmethod decorator on INPUT_TYPES. Renaming keys in NODE_CLASS_MAPPINGS also breaks saved workflows that reference the old class_type.

Can I change a published Comfy node version or name?

No, both the version and the name are immutable once published. To ship changes, bump the version and publish again; to withdraw a bad release, deprecate it on the registry website so users are prompted to upgrade.