Not in the top 1,000 by GitHub stars
jtydhr88/comfyui-custom-node-skills
A curated collection of [Claude Code skills](https://docs.anthropic.com/en/docs/claude-code/skills) for developing ComfyUI custom nodes. These skills give Claude comprehensive knowledge of the ComfyUI node system, covering both the V3 (recommended) and V1 (legacy) APIs.
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
plugins/comfyui-custom-nodes/skills/comfyui-node-advanced/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
afb2d781a41b → afb2d781a41b
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → afb2d781a41b
No earlier version was observed for comparison.
plugins/comfyui-custom-nodes/skills/comfyui-node-basics/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
afb2d781a41b → afb2d781a41b
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → afb2d781a41b
No earlier version was observed for comparison.
plugins/comfyui-custom-nodes/skills/comfyui-node-datatypes/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
afb2d781a41b → afb2d781a41b
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → afb2d781a41b
No earlier version was observed for comparison.
plugins/comfyui-custom-nodes/skills/comfyui-node-frontend/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
afb2d781a41b → afb2d781a41b
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → afb2d781a41b
No earlier version was observed for comparison.
plugins/comfyui-custom-nodes/skills/comfyui-node-inputs/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
afb2d781a41b → afb2d781a41b
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → afb2d781a41b
No earlier version was observed for comparison.
plugins/comfyui-custom-nodes/skills/comfyui-node-lifecycle/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
afb2d781a41b → afb2d781a41b
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → afb2d781a41b
No earlier version was observed for comparison.
plugins/comfyui-custom-nodes/skills/comfyui-node-migration/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
afb2d781a41b → afb2d781a41b
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → afb2d781a41b
No earlier version was observed for comparison.
plugins/comfyui-custom-nodes/skills/comfyui-node-outputs/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
afb2d781a41b → afb2d781a41b
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → afb2d781a41b
No earlier version was observed for comparison.
plugins/comfyui-custom-nodes/skills/comfyui-node-packaging/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
afb2d781a41b → afb2d781a41b
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → afb2d781a41b
No earlier version was observed for comparison.
Verified commit afb2d781a41b4cf42307733c430ecfe5a4b6aac4
git clone --filter=blob:none --no-checkout https://github.com/jtydhr88/comfyui-custom-node-skills.git .hotskills/jtydhr88-comfyui-custom-node-skills && git -C .hotskills/jtydhr88-comfyui-custom-node-skills checkout --detach afb2d781a41b4cf42307733c430ecfe5a4b6aac4
# Copy each selected skill directory from .hotskills/jtydhr88-comfyui-custom-node-skills into .claude/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/jtydhr88/comfyui-custom-node-skills.git .hotskills/jtydhr88-comfyui-custom-node-skills && git -C .hotskills/jtydhr88-comfyui-custom-node-skills checkout --detach afb2d781a41b4cf42307733c430ecfe5a4b6aac4
# Copy each selected skill directory from .hotskills/jtydhr88-comfyui-custom-node-skills into .github/skills/<skill-name>/Heat
4.0- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- comfyui-node-advanced
plugins/comfyui-custom-nodes/skills/comfyui-node-advanced - comfyui-node-basics
plugins/comfyui-custom-nodes/skills/comfyui-node-basics - comfyui-node-datatypes
plugins/comfyui-custom-nodes/skills/comfyui-node-datatypes - comfyui-node-frontend
plugins/comfyui-custom-nodes/skills/comfyui-node-frontend - comfyui-node-inputs
plugins/comfyui-custom-nodes/skills/comfyui-node-inputs - comfyui-node-lifecycle
plugins/comfyui-custom-nodes/skills/comfyui-node-lifecycle - comfyui-node-migration
plugins/comfyui-custom-nodes/skills/comfyui-node-migration - comfyui-node-outputs
plugins/comfyui-custom-nodes/skills/comfyui-node-outputs - comfyui-node-packaging
plugins/comfyui-custom-nodes/skills/comfyui-node-packaging
How it works
comfyui-node-advanced
When your agent uses it
ComfyUI advanced node patterns - MatchType, Autogrow, DynamicCombo, node expansion, MultiType, wildcard inputs, loops. Use when building complex nodes with dynamic inputs, type matching, or node expansion.
What it loads into context
Frontmatter
54 tokensAlways available to the agent
SKILL.md
3,413 tokensWhen the skill is activated
Reference documents
33,216 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- MatchType - Generic Type Connections
- MultiType - Accept Multiple Types
- Autogrow - Dynamic Growing Inputs
- DynamicCombo - Conditional Inputs
- DynamicSlot - Connection-Triggered Inputs
- Lazy Inputs Inside Dynamic Inputs
- Loops (core StartLoop / EndLoop)
- Node Expansion - Subgraph Injection
- Accept All Inputs
- Execution Blocking
- Async Execute
- Progress Reporting
- NodeReplace - Migration Between Nodes
- ComfyAPI - Runtime API
- See Also
Files
../../../../.claude-plugin/marketplace.jsonasset420 bytes../../../../.claude-plugin/marketplace.jsonasset420 bytes../../.claude-plugin/plugin.jsonasset383 bytes../../.claude-plugin/plugin.jsonasset383 bytesSKILL.mdcore15,302 bytesSKILL.mdcore15,302 bytesSKILL.mdcore15,302 bytesSKILL.mdcore15,302 bytesSKILL.mdcore15,302 bytesSKILL.mdcore15,302 bytesSKILL.mdcore15,302 bytesSKILL.mdcore15,302 bytesSKILL.mdcore15,302 bytesSKILL.mdcore15,302 bytesSKILL.mdcore15,302 bytesSKILL.mdcore15,302 bytesSKILL.mdcore15,302 bytesSKILL.mdcore15,302 bytesSKILL.mdcore15,302 bytesSKILL.mdcore15,302 bytesSKILL.mdcore15,302 bytesSKILL.mdcore15,302 bytesSKILL.mdcore15,302 bytesSKILL.mdcore15,302 bytesSKILL.mdcore15,302 bytesSKILL.mdcore15,302 bytesSKILL.mdcore15,302 bytesSKILL.mdcore15,302 bytes../comfyui-node-basics/SKILL.mddoc6,736 bytes../comfyui-node-datatypes/SKILL.mddoc20,091 bytes../comfyui-node-frontend/SKILL.mddoc22,432 bytes../comfyui-node-frontend/api-reference.mddoc16,216 bytes../comfyui-node-inputs/SKILL.mddoc13,877 bytes../comfyui-node-lifecycle/SKILL.mddoc13,205 bytes../comfyui-node-migration/SKILL.mddoc13,281 bytes../comfyui-node-outputs/SKILL.mddoc11,732 bytes../comfyui-node-packaging/SKILL.mddoc10,782 bytes
Read SKILL.md
# ComfyUI Advanced Node Patterns (V3)
V3 provides advanced input patterns for dynamic, type-safe, and flexible node designs.
## MatchType - Generic Type Connections
`MatchType` ensures that inputs and outputs sharing a template have the same type at connection time. Like generics in typed languages.
```python
class PassThrough(io.ComfyNode):
@classmethod
def define_schema(cls):
# Template(template_id, allowed_types=AnyType) - optional type constraint
template = io.MatchType.Template("T")View the complete source on GitHubcomfyui-node-basics
When your agent uses it
ComfyUI custom node fundamentals - V3 node structure, Schema, inputs/outputs, registration. Use when creating new ComfyUI custom nodes, defining node classes, or setting up a custom node project.
What it loads into context
Frontmatter
52 tokensAlways available to the agent
SKILL.md
1,577 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Quick Start
- V3 Node Class Structure
- io.Schema Fields
- V3 Node Registration
- V1 Node Structure (Legacy Reference)
- Key Differences: V3 vs V1
- Important Rules
- See Also
Files
SKILL.mdcore6,736 bytesSKILL.mdcore6,736 bytesSKILL.mdcore6,736 bytesSKILL.mdcore6,736 bytesSKILL.mdcore6,736 bytesSKILL.mdcore6,736 bytesSKILL.mdcore6,736 bytesSKILL.mdcore6,736 bytesSKILL.mdcore6,736 bytesSKILL.mdcore6,736 bytesSKILL.mdcore6,736 bytesSKILL.mdcore6,736 bytesSKILL.mdcore6,736 bytes
Read SKILL.md
# ComfyUI Custom Node Basics (V3 API)
ComfyUI uses Python classes to define nodes. The **V3 API** is the current recommended approach. Nodes inherit from `io.ComfyNode` and define a schema + execute method.
## Quick Start
```python
from comfy_api.latest import ComfyExtension, io
class MyNode(io.ComfyNode):
@classmethod
def define_schema(cls):
return io.Schema(
node_id="MyNode",View the complete source on GitHubcomfyui-node-datatypes
When your agent uses it
ComfyUI data types - IMAGE, LATENT, MASK, CONDITIONING, MODEL, CLIP, VAE, AUDIO, VIDEO, 3D types, widget types, and custom types. Use when working with ComfyUI tensors, model types, or defining input/output data types.
What it loads into context
Frontmatter
70 tokensAlways available to the agent
SKILL.md
6,121 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Complete Type Reference
- IMAGE Type
- MASK Type
- LATENT Type
- CONDITIONING Type
- VIDEO Type
- 3D Types
- Widget Types with Special Features
- Custom Types
- AnyType / Wildcard
- Imports from comfy_api.latest
- Tensor Safety
- Type Conversion Patterns
- See Also
Files
SKILL.mdcore20,091 bytesSKILL.mdcore20,091 bytesSKILL.mdcore20,091 bytesSKILL.mdcore20,091 bytesSKILL.mdcore20,091 bytesSKILL.mdcore20,091 bytesSKILL.mdcore20,091 bytesSKILL.mdcore20,091 bytesSKILL.mdcore20,091 bytesSKILL.mdcore20,091 bytesSKILL.mdcore20,091 bytesSKILL.mdcore20,091 bytesSKILL.mdcore20,091 bytesSKILL.mdcore20,091 bytesSKILL.mdcore20,091 bytesSKILL.mdcore20,091 bytesSKILL.mdcore20,091 bytesSKILL.mdcore20,091 bytesSKILL.mdcore20,091 bytesSKILL.mdcore20,091 bytesSKILL.mdcore20,091 bytesSKILL.mdcore20,091 bytesSKILL.mdcore20,091 bytesSKILL.mdcore20,091 bytesSKILL.mdcore20,091 bytesSKILL.mdcore20,091 bytesSKILL.mdcore20,091 bytes
Read SKILL.md
# ComfyUI Data Types
ComfyUI uses specific data types for node inputs and outputs. Understanding tensor shapes and data formats is essential.
## Complete Type Reference
### Tensor/Data Types
| Type | V3 Class | Format | Description |
|---|---|---|---|
| IMAGE | `io.Image` | `torch.Tensor [B,H,W,C]` float32 0-1 | Batch of RGB images |
| MASK | `io.Mask` | `torch.Tensor [H,W]` or `[B,H,W]` float32 0-1 | Grayscale masks |
| LATENT | `io.Latent` | `{"samples": Tensor[B,C,H,W] or [B,C,T,H,W], "noise_mask"?: Tensor, "batch_index"?: list[int], "type"?: str}` | Latent space (4D image / 5D video) |
| CONDITIONING | `io.Conditioning` | `list[tuple[Tensor, PooledDict]]` | Text conditioning with pooled outputs |View the complete source on GitHubcomfyui-node-frontend
When your agent uses it
ComfyUI frontend JavaScript extensions - hooks, widgets, sidebar tabs, commands, settings, toasts, dialogs. Use when adding UI features to custom nodes, creating custom widgets, or extending the ComfyUI frontend.
What it loads into context
Frontmatter
55 tokensAlways available to the agent
SKILL.md
5,459 tokensWhen the skill is activated
Reference documents
4,255 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Quick Start
- Extension Hooks (Lifecycle Order)
- Custom Widgets
- Declarative Extension Properties
- API Events
- Server-to-Client Communication
- Toast Notifications
- Dialogs
- ExtensionManager Utilities
- Context Menu Items
- Node Instance Properties (LGraphNode Augmentations)
- Recent Breaking Changes (frontend 1.4x – 1.58, plus upcoming)
- Frontend Scripts API
- See Also
Files
SKILL.mdcore22,432 bytesSKILL.mdcore22,432 bytesSKILL.mdcore22,432 bytesSKILL.mdcore22,432 bytesSKILL.mdcore22,432 bytesSKILL.mdcore22,432 bytesSKILL.mdcore22,432 bytesSKILL.mdcore22,432 bytesSKILL.mdcore22,432 bytesSKILL.mdcore22,432 bytesSKILL.mdcore22,432 bytesSKILL.mdcore22,432 bytesSKILL.mdcore22,432 bytesSKILL.mdcore22,432 bytesSKILL.mdcore22,432 bytesSKILL.mdcore22,432 bytesSKILL.mdcore22,432 bytesSKILL.mdcore22,432 bytesSKILL.mdcore22,432 bytesSKILL.mdcore22,432 bytesapi-reference.mddoc16,216 bytes
Read SKILL.md
# ComfyUI Frontend Extensions
Custom nodes can extend the ComfyUI frontend with JavaScript. Extensions register hooks, widgets, commands, settings, and UI components.
## Quick Start
### 1. Export WEB_DIRECTORY in Python
```python
# __init__.py
WEB_DIRECTORY = "./js"
__all__ = ["WEB_DIRECTORY"]
```
View the complete source on GitHubcomfyui-node-inputs
When your agent uses it
ComfyUI node input types - INT, FLOAT, STRING, BOOLEAN, COMBO widgets, hidden inputs, optional inputs, lazy inputs, force_input. Use when configuring node inputs, adding widgets, or customizing input behavior.
What it loads into context
Frontmatter
55 tokensAlways available to the agent
SKILL.md
3,332 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Widget Input Types
- Input Options (Common to All)
- Optional Inputs
- Hidden Inputs
- Lazy Evaluation
- V1 Input Format (Legacy Reference)
- Complete Example: Multi-Input Node
- See Also
Files
SKILL.mdcore13,877 bytesSKILL.mdcore13,877 bytesSKILL.mdcore13,877 bytesSKILL.mdcore13,877 bytesSKILL.mdcore13,877 bytesSKILL.mdcore13,877 bytesSKILL.mdcore13,877 bytesSKILL.mdcore13,877 bytesSKILL.mdcore13,877 bytesSKILL.mdcore13,877 bytesSKILL.mdcore13,877 bytesSKILL.mdcore13,877 bytesSKILL.mdcore13,877 bytesSKILL.mdcore13,877 bytesSKILL.mdcore13,877 bytesSKILL.mdcore13,877 bytesSKILL.mdcore13,877 bytesSKILL.mdcore13,877 bytesSKILL.mdcore13,877 bytesSKILL.mdcore13,877 bytesSKILL.mdcore13,877 bytesSKILL.mdcore13,877 bytesSKILL.mdcore13,877 bytesSKILL.mdcore13,877 bytesSKILL.mdcore13,877 bytesSKILL.mdcore13,877 bytesSKILL.mdcore13,877 bytesSKILL.mdcore13,877 bytesSKILL.mdcore13,877 bytesSKILL.mdcore13,877 bytes
Read SKILL.md
# ComfyUI Node Inputs
Inputs define what data a node accepts. Widget inputs create UI controls; connection inputs create socket slots.
## Widget Input Types
### INT
```python
io.Int.Input("seed",
default=0,
min=0,
max=0xffffffffffffffff,
step=1,View the complete source on GitHubcomfyui-node-lifecycle
When your agent uses it
ComfyUI node execution lifecycle - caching, fingerprint_inputs/IS_CHANGED, validate_inputs/VALIDATE_INPUTS, check_lazy_status, execution order. Use when debugging execution, implementing caching control, input validation, or understanding execution flow.
What it loads into context
Frontmatter
57 tokensAlways available to the agent
SKILL.md
3,036 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Execution Flow Overview
- Execution Order
- Cache Control: fingerprint_inputs (V3) / IS_CHANGED (V1)
- Input Validation: validate_inputs (V3) / VALIDATE_INPUTS (V1)
- Lazy Evaluation: check_lazy_status
- Output Nodes
- List Processing
- Error Handling
- Server Communication
- Logging
- Complete Lifecycle Example
- See Also
Files
SKILL.mdcore13,205 bytesSKILL.mdcore13,205 bytesSKILL.mdcore13,205 bytesSKILL.mdcore13,205 bytesSKILL.mdcore13,205 bytesSKILL.mdcore13,205 bytesSKILL.mdcore13,205 bytesSKILL.mdcore13,205 bytesSKILL.mdcore13,205 bytesSKILL.mdcore13,205 bytesSKILL.mdcore13,205 bytesSKILL.mdcore13,205 bytesSKILL.mdcore13,205 bytesSKILL.mdcore13,205 bytesSKILL.mdcore13,205 bytesSKILL.mdcore13,205 bytesSKILL.mdcore13,205 bytesSKILL.mdcore13,205 bytesSKILL.mdcore13,205 bytesSKILL.mdcore13,205 bytesSKILL.mdcore13,205 bytesSKILL.mdcore13,205 bytesSKILL.mdcore13,205 bytesSKILL.mdcore13,205 bytesSKILL.mdcore13,205 bytesSKILL.mdcore13,205 bytesSKILL.mdcore13,205 bytesSKILL.mdcore13,205 bytesSKILL.mdcore13,205 bytes
Read SKILL.md
# ComfyUI Node Execution Lifecycle
Understanding the execution lifecycle helps build efficient, correct nodes.
## Execution Flow Overview
```
1. Prompt received from frontend
2. Validation phase
├── Look up each node class
├── Call INPUT_TYPES() / define_schema() for input specs
├── Validate connections and types
├── Call validate_inputs() for each node
└── Validate loop boundaries (StartLoop/EndLoop pairing, v0.36+)View the complete source on GitHubcomfyui-node-migration
When your agent uses it
ComfyUI V1 to V3 node migration - converting legacy nodes to the V3 API. Use when migrating existing custom nodes from V1 to V3, understanding differences between API versions, or modernizing node code.
What it loads into context
Frontmatter
55 tokensAlways available to the agent
SKILL.md
3,930 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Migration Checklist
- Side-by-Side Comparison
- Property Mapping
- Input Type Mapping
- Method Migration
- Registration Migration
- Output Node Migration
- Key Gotchas
- See Also
Files
SKILL.mdcore13,281 bytesSKILL.mdcore13,281 bytesSKILL.mdcore13,281 bytesSKILL.mdcore13,281 bytesSKILL.mdcore13,281 bytesSKILL.mdcore13,281 bytesSKILL.mdcore13,281 bytesSKILL.mdcore13,281 bytesSKILL.mdcore13,281 bytesSKILL.mdcore13,281 bytesSKILL.mdcore13,281 bytesSKILL.mdcore13,281 bytesSKILL.mdcore13,281 bytes
Read SKILL.md
# ComfyUI V1 → V3 Migration Guide
Migrate existing V1 nodes to the modern V3 API. V3 uses classmethods, typed inputs/outputs, and `ComfyExtension` registration.
## Migration Checklist
1. Change base class to `io.ComfyNode`
2. Replace `INPUT_TYPES()` with `define_schema()` returning `io.Schema`
3. Rename execution function to `execute` and make it a `@classmethod`
4. Replace return tuples with `io.NodeOutput(...)`
5. Replace `IS_CHANGED` with `fingerprint_inputs`
6. Replace `VALIDATE_INPUTS` with `validate_inputs`
7. Convert `check_lazy_status` to `@classmethod`
8. Replace `NODE_CLASS_MAPPINGS` with `ComfyExtension` + `comfy_entrypoint()`View the complete source on GitHubcomfyui-node-outputs
When your agent uses it
ComfyUI node output types - NodeOutput, UI outputs, PreviewImage, PreviewMask, SavedImages, PreviewAudio, PreviewText, PreviewVideo, Saved3DModels. Use when returning results from nodes, displaying previews, or saving output files.
What it loads into context
Frontmatter
61 tokensAlways available to the agent
SKILL.md
2,815 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Basic Output
- Output Configuration
- NodeOutput Variants
- UI Preview Helpers
- Saving Images
- Saving Audio
- Temporary Previews vs Permanent Saves
- How Core Post-Processes UI Output
- V1 Output Patterns (Legacy Reference)
- See Also
Files
SKILL.mdcore11,732 bytesSKILL.mdcore11,732 bytesSKILL.mdcore11,732 bytesSKILL.mdcore11,732 bytesSKILL.mdcore11,732 bytesSKILL.mdcore11,732 bytesSKILL.mdcore11,732 bytesSKILL.mdcore11,732 bytesSKILL.mdcore11,732 bytesSKILL.mdcore11,732 bytesSKILL.mdcore11,732 bytesSKILL.mdcore11,732 bytesSKILL.mdcore11,732 bytesSKILL.mdcore11,732 bytesSKILL.mdcore11,732 bytesSKILL.mdcore11,732 bytesSKILL.mdcore11,732 bytesSKILL.mdcore11,732 bytesSKILL.mdcore11,732 bytesSKILL.mdcore11,732 bytesSKILL.mdcore11,732 bytesSKILL.mdcore11,732 bytes
Read SKILL.md
# ComfyUI Node Outputs
Nodes return data through `io.NodeOutput`. V3 provides built-in UI helpers for previews and file saving.
## Basic Output
```python
class SimpleNode(io.ComfyNode):
@classmethod
def define_schema(cls):
return io.Schema(
node_id="SimpleNode",
display_name="Simple Node",
category="example",View the complete source on GitHubcomfyui-node-packaging
When your agent uses it
ComfyUI custom node project structure - directory layout, __init__.py, registration, requirements.txt, publishing, WEB_DIRECTORY. Use when setting up a new custom node project, packaging nodes, or publishing to the registry.
What it loads into context
Frontmatter
55 tokensAlways available to the agent
SKILL.md
2,691 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Project Structure
- Entry Point: __init__.py
- Node Definitions File
- Dependencies: requirements.txt
- pyproject.toml
- Frontend Extensions (JavaScript)
- Help Pages
- Internationalization (i18n)
- Single-File Node
- Key Imports
- Using folder_paths
- Publishing to ComfyUI Registry
- Scaffolding with comfy-cli
- Node ID Best Practices
- Common Patterns
- Deployment Constraints
- See Also
Files
SKILL.mdcore10,782 bytesSKILL.mdcore10,782 bytesSKILL.mdcore10,782 bytesSKILL.mdcore10,782 bytesSKILL.mdcore10,782 bytesSKILL.mdcore10,782 bytesSKILL.mdcore10,782 bytesSKILL.mdcore10,782 bytesSKILL.mdcore10,782 bytesSKILL.mdcore10,782 bytesSKILL.mdcore10,782 bytesSKILL.mdcore10,782 bytesSKILL.mdcore10,782 bytesSKILL.mdcore10,782 bytesSKILL.mdcore10,782 bytesSKILL.mdcore10,782 bytesSKILL.mdcore10,782 bytesSKILL.mdcore10,782 bytesSKILL.mdcore10,782 bytesSKILL.mdcore10,782 bytesSKILL.mdcore10,782 bytesSKILL.mdcore10,782 bytesSKILL.mdcore10,782 bytesSKILL.mdcore10,782 bytesSKILL.mdcore10,782 bytesSKILL.mdcore10,782 bytes
Read SKILL.md
# ComfyUI Custom Node Packaging
How to structure, register, and publish a custom node package.
## Project Structure
```
ComfyUI/custom_nodes/
my_custom_nodes/
__init__.py # Entry point (required)
nodes.py # Node class definitions
requirements.txt # Python dependencies
pyproject.toml # Package metadata
README.md # DocumentationView the complete source on GitHubSkills included
- comfyui-node-advanced
- comfyui-node-basics
- comfyui-node-datatypes
- comfyui-node-frontend
- comfyui-node-inputs
- comfyui-node-lifecycle
- comfyui-node-migration
- comfyui-node-outputs
- comfyui-node-packaging
Repository facts
- License
- MIT
- Created
- Mar 5, 2026
- Last pushed
- Oct 17, 2026
- Forks
- 30
- Open issues
- 0
- Project activity
- Active
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 7, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 197 notes
.claude-plugin/marketplace.json:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/comfyui-custom-nodes/.claude-plugin/plugin.json:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/comfyui-custom-nodes/skills/comfyui-node-advanced/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/comfyui-custom-nodes/skills/comfyui-node-advanced/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/comfyui-custom-nodes/skills/comfyui-node-advanced/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/comfyui-custom-nodes/skills/comfyui-node-advanced/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/comfyui-custom-nodes/skills/comfyui-node-advanced/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/comfyui-custom-nodes/skills/comfyui-node-advanced/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/comfyui-custom-nodes/skills/comfyui-node-advanced/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/comfyui-custom-nodes/skills/comfyui-node-advanced/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/comfyui-custom-nodes/skills/comfyui-node-advanced/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/comfyui-custom-nodes/skills/comfyui-node-advanced/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/comfyui-custom-nodes/skills/comfyui-node-advanced/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/comfyui-custom-nodes/skills/comfyui-node-advanced/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/comfyui-custom-nodes/skills/comfyui-node-advanced/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/comfyui-custom-nodes/skills/comfyui-node-advanced/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/comfyui-custom-nodes/skills/comfyui-node-advanced/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/comfyui-custom-nodes/skills/comfyui-node-advanced/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/comfyui-custom-nodes/skills/comfyui-node-advanced/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/comfyui-custom-nodes/skills/comfyui-node-advanced/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- No dangerous shell commands
- No hidden or obfuscated text
- No instruction overrides
- No executable scripts
- 2 references to secretsin 1 file: plugins/comfyui-custom-nodes/skills/comfyui-node-packaging/SKILL.md:321
- No requests to vote in Hot
Show all 18 signals by file
plugins/comfyui-custom-nodes/.claude-plugin/plugin.json
- Network accessline 6
"name": "Terry Jia" }, "homepage": "https://github.com/jtydhr88/comfyui-custom-node-skills", - Network accessline 7
}, "homepage": "https://github.com/jtydhr88/comfyui-custom-node-skills", "license": "MIT", - Network accessline 8
"homepage": "https://github.com/jtydhr88/comfyui-custom-node-skills",
plugins/comfyui-custom-nodes/skills/comfyui-node-advanced/SKILL.md
- Network accessline 347
async def execute(cls, url): import aiohttp async with aiohttp.ClientSession() as session: - Network accessline 348
import aiohttp async with aiohttp.ClientSession() as session: async with session.get(url) as response: - Network accessline 349
async with aiohttp.ClientSession() as session:
plugins/comfyui-custom-nodes/skills/comfyui-node-frontend/SKILL.md
- Network accessline 381
aboutPageBadges: [ { label: "v1.0.0", url: "https://github.com/...", icon: "pi pi-github", severity: "warn" }, - Network accessline 381
aboutPageBadges: [ { label: "v1.0.0", url: "https://github.com/...", icon: "pi pi-github", severity: "warn" }, - Network accessline 382
{ label: "v1.0.0", url: "https://github.com/...", icon: "pi pi-github", severity: "warn" }, - Network accessline 382
{ label: "v1.0.0", url: "https://github.com/...", icon: "pi pi-github", severity: "warn" }, - Network accessline 598
Changes extension authors should be aware of. Upstream migration notes with details: https://github.com/Comfy-Org/ComfyUI_frontend/tree/main/docs/extensions (`widgets-migration.md`, `connection-callbacks-migration.md`, `serialization-callba - Network accessline 598
Changes extension authors should be aware of. Upstream migration notes with details: https://github.com/Comfy-Org/ComfyUI_frontend/tree/main/docs/extensions (`widgets-migration.md`, `connection-callbacks-migration.md`, `serialization-callba
plugins/comfyui-custom-nodes/skills/comfyui-node-packaging/SKILL.md
- Network accessline 127
[project.urls] Repository = "https://github.com/username/comfyui-my-nodes" - Network accessline 127
[project.urls] Repository = "https://github.com/username/comfyui-my-nodes" - Network accessline 128
Repository = "https://github.com/username/comfyui-my-nodes" - Network accessline 128
Repository = "https://github.com/username/comfyui-my-nodes" - Access to secretsline 321
[Credential-related source omitted] - Access to secretsline 321
[Credential-related source omitted]
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Signal confidence: 15 facts
- Network access in code of the SKILL.mdcomfyui-node-advanced/SKILL.md:347High confidence
- Network access in code of the SKILL.mdcomfyui-node-advanced/SKILL.md:348High confidence
- Network access in code of the SKILL.mdcomfyui-node-advanced/SKILL.md:349High confidence
- Network access in code of the SKILL.mdplugins/comfyui-custom-nodes/skills/comfyui-node-frontend/SKILL.md:381High confidence
- Network access in code of the SKILL.mdcomfyui-node-frontend/SKILL.md:381High confidence
- Network access in code of the SKILL.mdplugins/comfyui-custom-nodes/skills/comfyui-node-frontend/SKILL.md:382High confidence
- Network access in code of the SKILL.mdcomfyui-node-frontend/SKILL.md:382High confidence
- Network access in prose of the SKILL.mdplugins/comfyui-custom-nodes/skills/comfyui-node-frontend/SKILL.md:598Low confidence
- Network access in prose of the SKILL.mdcomfyui-node-frontend/SKILL.md:598Low confidence
- Network access in code of the SKILL.mdplugins/comfyui-custom-nodes/skills/comfyui-node-packaging/SKILL.md:127High confidence
- Network access in code of the SKILL.mdcomfyui-node-packaging/SKILL.md:127High confidence
- Network access in code of the SKILL.mdplugins/comfyui-custom-nodes/skills/comfyui-node-packaging/SKILL.md:128High confidence
- Network access in code of the SKILL.mdcomfyui-node-packaging/SKILL.md:128High confidence
- Access to secrets in code of the SKILL.md: a variable, placeholder or call, not a stored valueplugins/comfyui-custom-nodes/skills/comfyui-node-packaging/SKILL.md:321Low confidence
- Access to secrets in code of the SKILL.md: a variable, placeholder or call, not a stored valuecomfyui-node-packaging/SKILL.md:321Low confidence
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md plugins/comfyui-custom-nodes/skills/comfyui-node-advanced/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md plugins/comfyui-custom-nodes/skills/comfyui-node-advanced/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md plugins/comfyui-custom-nodes/skills/comfyui-node-advanced/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Native | Manifest .github/copilot-instructions.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md plugins/comfyui-custom-nodes/skills/comfyui-node-advanced/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.