Setup
guaardvark/guaardvark
Connect this agent to a running Guaardvark (self-hosted AI studio) and check what it can do right now.
Helps an agent write ComfyUI custom nodes in Python, including wrapping an existing script, mapping data types and handling image batches.
$ npx skills add ConstantineB6/comfy-pilot --skill comfy-nodes -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ConstantineB6/comfy-pilot comfy-nodes --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ConstantineB6/comfy-pilot.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/comfy-nodes .claude/skills/comfy-nodes && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "comfy-nodes" agent skill from https://github.com/ConstantineB6/comfy-pilot/tree/main/.claude/skills/comfy-nodes into .claude/skills/comfy-nodes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "comfy-nodes", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ConstantineB6/comfy-pilot/tree/main/.claude/skills/comfy-nodesType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ConstantineB6/comfy-pilot --skill comfy-nodes -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ConstantineB6/comfy-pilot comfy-nodes --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ConstantineB6/comfy-pilot.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/comfy-nodes .agents/skills/comfy-nodes && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "comfy-nodes" agent skill from https://github.com/ConstantineB6/comfy-pilot/tree/main/.claude/skills/comfy-nodes into .agents/skills/comfy-nodes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "comfy-nodes", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ConstantineB6/comfy-pilot --skill comfy-nodes -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ConstantineB6/comfy-pilot comfy-nodes --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ConstantineB6/comfy-pilot.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/comfy-nodes .cursor/skills/comfy-nodes && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "comfy-nodes" agent skill from https://github.com/ConstantineB6/comfy-pilot/tree/main/.claude/skills/comfy-nodes into .cursor/skills/comfy-nodes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "comfy-nodes", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ConstantineB6/comfy-pilot.git --path .claude/skills/comfy-nodes--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ConstantineB6/comfy-pilot --skill comfy-nodes -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ConstantineB6/comfy-pilot comfy-nodes --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ConstantineB6/comfy-pilot.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/comfy-nodes .gemini/skills/comfy-nodes && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "comfy-nodes" agent skill from https://github.com/ConstantineB6/comfy-pilot/tree/main/.claude/skills/comfy-nodes into .gemini/skills/comfy-nodes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "comfy-nodes", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ConstantineB6/comfy-pilot comfy-nodesInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ConstantineB6/comfy-pilot --skill comfy-nodes -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ConstantineB6/comfy-pilot.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/comfy-nodes .github/skills/comfy-nodes && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "comfy-nodes" agent skill from https://github.com/ConstantineB6/comfy-pilot/tree/main/.claude/skills/comfy-nodes into .github/skills/comfy-nodes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "comfy-nodes", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ConstantineB6/comfy-pilot --skill comfy-nodes -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ConstantineB6/comfy-pilot comfy-nodes --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ConstantineB6/comfy-pilot.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/comfy-nodes .opencode/skills/comfy-nodes && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "comfy-nodes" agent skill from https://github.com/ConstantineB6/comfy-pilot/tree/main/.claude/skills/comfy-nodes into .opencode/skills/comfy-nodes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "comfy-nodes", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
comfy-nodesHelps an agent write ComfyUI custom nodes in Python, including wrapping an existing script, mapping data types and handling image batches.
This skill helps the agent write ComfyUI custom nodes in Python, either from scratch or by wrapping an existing function. It supplies a quick class template built around INPUT_TYPES, RETURN_TYPES and an execute method, plus a conversion routine with three steps: identify the inputs and outputs of the original function, map Python types to ComfyUI types, and handle the batch dimension so every item in a [B,H,W,C] batch is processed.
A type table maps PIL images, NumPy arrays and OpenCV BGR arrays to the IMAGE tensor, scaled to the 0-1 range. A second table lists common input types such as IMAGE, MASK, LATENT, INT, FLOAT, STRING, BOOLEAN and COMBO with their formats and widget options. A short checklist covers INPUT_TYPES as a classmethod, returning a tuple, registering in NODE_CLASS_MAPPINGS and using slashes for submenu categories. Three reference files hold a full template, official documentation links and example nodes, and the comfy_search and comfy_spec MCP tools can look up similar existing nodes.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 772f639. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are python).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
ComfyUI Custom Node Builder loads about 897 tokens when it runs, and up to ~5.3k if it reads all its reference files. Until then it costs about 56 tokens; SKILL.md has 192 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from ConstantineB6/comfy-pilot at commit 772f639, republished under its MIT licence (© ConstantineB6). 192 words, ~897 tokens.
.claude/skills/comfy-nodes/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.This skill helps you create custom ComfyUI nodes from Python code.
class MyNode:
@classmethod
def INPUT_TYPES(cls):
return {
"required": {
"image": ("IMAGE",),
"value": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0}),
},
"optional": {
"mask": ("MASK",),
}
}
RETURN_TYPES = ("IMAGE",)
RETURN_NAMES = ("output",)
FUNCTION = "execute"
CATEGORY = "Custom/MyNodes"
def execute(self, image, value, mask=None):
result = image * value
return (result,)
NODE_CLASS_MAPPINGS = {"MyNode": MyNode}
NODE_DISPLAY_NAME_MAPPINGS = {"MyNode": "My Node"}When you have Python code to wrap:
# Original function
def apply_blur(image, radius=5):
from PIL import ImageFilter
return image.filter(ImageFilter.GaussianBlur(radius))| Python Type | ComfyUI Type | Conversion |
|---|---|---|
| PIL Image | IMAGE | torch.from_numpy(np.array(pil) / 255.0) |
| numpy array | IMAGE | torch.from_numpy(arr.astype(np.float32)) |
| cv2 BGR | IMAGE | torch.from_numpy(cv2.cvtColor(img, cv2.COLOR_BGR2RGB) / 255.0) |
| float 0-255 | IMAGE | Divide by 255.0 |
| Single image | Batch | tensor.unsqueeze(0) |
ComfyUI images are [B,H,W,C] - always process all batch items:
def execute(self, image, radius):
batch_results = []
for i in range(image.shape[0]):
# Convert to PIL
img_np = (image[i].cpu().numpy() * 255).astype(np.uint8)
pil_img = Image.fromarray(img_np)
# Your processing
result = pil_img.filter(ImageFilter.GaussianBlur(radius))
# Convert back
result_np = np.array(result).astype(np.float32) / 255.0
batch_results.append(torch.from_numpy(result_np))
return (torch.stack(batch_results),)| Type | Shape/Format | Widget Options |
|---|---|---|
| IMAGE | [B,H,W,C] float 0-1 | - |
| MASK | [H,W] or [B,H,W] float 0-1 | - |
| LATENT | {"samples": [B,C,H,W]} | - |
| MODEL | ModelPatcher | - |
| CLIP | CLIP encoder | - |
| VAE | VAE model | - |
| CONDITIONING | [(cond, pooled), ...] | - |
| INT | integer | default, min, max, step |
| FLOAT | float | default, min, max, step, display |
| STRING | str | default, multiline |
| BOOLEAN | bool | default |
| COMBO | str | List of options as type |
INPUT_TYPES is a @classmethodreturn (result,)[B,H,W,C]NODE_CLASS_MAPPINGS/ for submenusUse the MCP tools to find existing nodes for reference:
comfy_search("blur") → Find blur implementations
comfy_spec("GaussianBlur") → See how inputs are defined© ConstantineB6, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (references) in .claude/skills/comfy-nodes of ConstantineB6/comfy-pilot.
Open the folder on GitHubat commit 772f639
ComfyUI Custom Node Builder next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| ComfyUI Custom Node Builder this skillConstantineB6/comfy-pilot | 230 | — | ~897 | Automated safety check: Pass | MIT | |
| Setupguaardvark/guaardvark | 251 | 1 repos | ~1.2k | Automated safety check: Pass | MIT | |
| Env Setupwwwzhouhui/skills_collection | 282 | — | ~3.5k | Automated safety check: Notes | None | |
| Comfyui Skill OpenclawHuangYuChuh/ComfyUI_Skills_OpenClaw | 411 | — | ~2.7k | Automated safety check: Pass | Apache-2.0 | |
| Vibecomfypeteromallet/VibeComfy | 150 | — | ~3.5k | Automated safety check: Pass | MIT | |
| ComfyComfy-Org/comfy-skills | 219 | — | ~1.4k | Automated safety check: Pass | MIT |
guaardvark/guaardvark
Connect this agent to a running Guaardvark (self-hosted AI studio) and check what it can do right now.
wwwzhouhui/skills_collection
Checking and provisioning the machine's environment for the video-agent-kit plugin — probing for ffmpeg/ffprobe that actually carry the encoders and filters we render with (libx264/aac/libmp3lame…
HuangYuChuh/ComfyUI_Skills_OpenClaw
Run registered ComfyUI workflows through the fast comfyui-skill CLI, and use the official local Comfy MCP for live template, node, model, validation, and orchestration capabilities.
peteromallet/VibeComfy
Drive the VibeComfy package to discover ComfyUI workflows, load ready Python templates, edit and compose them in a VibeWorkflow IR, validate, and execute either embedded locally, against an existing…
Comfy-Org/comfy-skills
Generate images, video, audio, and 3D with Comfy Cloud — search hundreds of models and workflow templates, run custom ComfyUI workflows, and manage generation jobs through the hosted Comfy Cloud MCP…
artokun/comfyui-mcp
Train custom LoRAs with ostris AI-Toolkit. An agent skill from artokun/comfyui-mcp.
Categories
Helps an agent write ComfyUI custom nodes in Python, including wrapping an existing script, mapping data types and handling image batches. This skill helps the agent write ComfyUI custom nodes in Python, either from scratch or by wrapping an existing function. It supplies a quick class template built around INPUT_TYPES, RETURN_TYPES and an execute method, plus a conversion routine with three steps: identify the inputs and outputs of the original function, map Python types to ComfyUI types, and handle the batch dimension so every item in a [B,H,W,C] batch is processed.
ComfyUI Custom Node Builder fits situations like: creating a ComfyUI custom node from scratch; wrapping an existing Python function or script as a node; fixing node class structure, INPUT_TYPES or RETURN_TYPES; converting PIL, NumPy or OpenCV image data to the tensor format ComfyUI expects.
Run `npx skills add ConstantineB6/comfy-pilot --skill comfy-nodes -a claude-code`. Or copy the skill folder (.claude/skills/comfy-nodes in ConstantineB6/comfy-pilot) into .claude/skills/comfy-nodes in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ConstantineB6/comfy-pilot --skill comfy-nodes -a codex`. Or copy the skill folder (.claude/skills/comfy-nodes in ConstantineB6/comfy-pilot) into .agents/skills/comfy-nodes in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ConstantineB6/comfy-pilot --skill comfy-nodes -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/comfy-nodes, .gemini/skills/comfy-nodes, .github/skills/comfy-nodes and .opencode/skills/comfy-nodes in your project.
SKILL.md names no scripts, command-line tools or credentials: ComfyUI Custom Node Builder is instructions for the agent only. Our summary lists: A ComfyUI installation to load the node into; Python.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
ComfyUI Custom Node Builder is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 897 tokens (SKILL.md is roughly 3.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with ComfyUI Custom Node Builder: Setup (guaardvark/guaardvark, 251 stars), Env Setup (wwwzhouhui/skills_collection, 282 stars), Comfyui Skill Openclaw (HuangYuChuh/ComfyUI_Skills_OpenClaw, 411 stars) and Vibecomfy (peteromallet/VibeComfy, 150 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ConstantineB6 (a GitHub user) maintains it in ConstantineB6/comfy-pilot, which has 230 GitHub stars. The repository was last updated on February 16, 2026.
Source: ConstantineB6/comfy-pilot on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.