ComfyUI Custom Node Builder
ConstantineB6/comfy-pilot
Helps an agent write ComfyUI custom nodes in Python, including wrapping an existing script, mapping data types and handling image batches.
Edit an existing VibeComfy or ComfyUI workflow, ready template, recipe, scratchpad, or target graph.
$ npx skills add peteromallet/VibeComfy --skill edit-comfy-workflow -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install peteromallet/VibeComfy edit-comfy-workflow --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/peteromallet/VibeComfy.git skills-src && mkdir -p .claude/skills && cp -r skills-src/docs/agent-skill/skills/edit-comfy-workflow .claude/skills/edit-comfy-workflow && 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 "edit-comfy-workflow" agent skill from https://github.com/peteromallet/VibeComfy/tree/main/docs/agent-skill/skills/edit-comfy-workflow into .claude/skills/edit-comfy-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "edit-comfy-workflow", 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/peteromallet/VibeComfy/tree/main/docs/agent-skill/skills/edit-comfy-workflowType 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 peteromallet/VibeComfy --skill edit-comfy-workflow -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install peteromallet/VibeComfy edit-comfy-workflow --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/peteromallet/VibeComfy.git skills-src && mkdir -p .agents/skills && cp -r skills-src/docs/agent-skill/skills/edit-comfy-workflow .agents/skills/edit-comfy-workflow && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "edit-comfy-workflow" agent skill from https://github.com/peteromallet/VibeComfy/tree/main/docs/agent-skill/skills/edit-comfy-workflow into .agents/skills/edit-comfy-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "edit-comfy-workflow", 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 peteromallet/VibeComfy --skill edit-comfy-workflow -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install peteromallet/VibeComfy edit-comfy-workflow --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/peteromallet/VibeComfy.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/docs/agent-skill/skills/edit-comfy-workflow .cursor/skills/edit-comfy-workflow && 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 "edit-comfy-workflow" agent skill from https://github.com/peteromallet/VibeComfy/tree/main/docs/agent-skill/skills/edit-comfy-workflow into .cursor/skills/edit-comfy-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "edit-comfy-workflow", 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/peteromallet/VibeComfy.git --path docs/agent-skill/skills/edit-comfy-workflow--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 peteromallet/VibeComfy --skill edit-comfy-workflow -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install peteromallet/VibeComfy edit-comfy-workflow --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/peteromallet/VibeComfy.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/docs/agent-skill/skills/edit-comfy-workflow .gemini/skills/edit-comfy-workflow && 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 "edit-comfy-workflow" agent skill from https://github.com/peteromallet/VibeComfy/tree/main/docs/agent-skill/skills/edit-comfy-workflow into .gemini/skills/edit-comfy-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "edit-comfy-workflow", 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 peteromallet/VibeComfy edit-comfy-workflowInstalls 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 peteromallet/VibeComfy --skill edit-comfy-workflow -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/peteromallet/VibeComfy.git skills-src && mkdir -p .github/skills && cp -r skills-src/docs/agent-skill/skills/edit-comfy-workflow .github/skills/edit-comfy-workflow && 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 "edit-comfy-workflow" agent skill from https://github.com/peteromallet/VibeComfy/tree/main/docs/agent-skill/skills/edit-comfy-workflow into .github/skills/edit-comfy-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "edit-comfy-workflow", 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 peteromallet/VibeComfy --skill edit-comfy-workflow -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install peteromallet/VibeComfy edit-comfy-workflow --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/peteromallet/VibeComfy.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/docs/agent-skill/skills/edit-comfy-workflow .opencode/skills/edit-comfy-workflow && 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 "edit-comfy-workflow" agent skill from https://github.com/peteromallet/VibeComfy/tree/main/docs/agent-skill/skills/edit-comfy-workflow into .opencode/skills/edit-comfy-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "edit-comfy-workflow", 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.
edit-comfy-workflowEdit an existing VibeComfy or ComfyUI workflow, ready template, recipe, scratchpad, or target graph.
Edit Comfy Workflow is an agent skill from peteromallet/VibeComfy. Edit an existing VibeComfy or ComfyUI workflow, ready template, recipe, scratchpad, or target graph. Use when the user asks to tweak prompts/seeds/steps/resolution, alter nodes, splice a pattern into a workflow, convert JSON to editable Python, or make a graph change without necessarily running it.
Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in AI & LLM Engineering, covering Diffusion and image models. It works with Python and ComfyUI. The licence is MIT.
Read from SKILL.md and the folder at commit b1429c6. 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 bash and 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.
Edit Comfy Workflow loads about 2.2k tokens when it runs. Until then it costs about 80 tokens; SKILL.md has 986 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 peteromallet/VibeComfy at commit b1429c6, republished under its MIT licence (© peteromallet). 986 words, ~2,183 tokens.
.claude/skills/edit-comfy-workflow/SKILL.md (or your agent's skills folder).Use this when the graph needs to change. Follow the same shape as the agentic tests: identify the target, inspect it, materialize an editable Python surface if needed, make the smallest graph change, then validate.
Use the same spine as the Comfy app agent edit path and the structural/live agentic tests:
target graph -> inspect/research -> Python editable surface -> VibeWorkflow edit -> finalize_metadata -> validate/doctor -> candidate or runFor package-side edits, the editable surface is a recipe, scratchpad, or ready template. For the Comfy app, the same idea returns a candidate UI graph plus apply eligibility. Do not treat an edit candidate as an executed result; execution belongs to run-comfy-workflow.
vibecomfy inspect <target>
vibecomfy analyze info <target>If the target is raw JSON, load it only as import evidence and materialize Python before editing:
vibecomfy import <workflow.json>
vibecomfy inspect workflows/<source-stem> --json
vibecomfy edit workflows/<source-stem> targets
vibecomfy edit workflows/<source-stem> set sampler.steps 30
vibecomfy validate workflows/<source-stem> --jsonThe import folder contains editable workflow.py, its canonical
workflow.vibe.json companion, and byte-identical source.json; provenance
stays in the bundle metadata. Standalone import and edit are local and
untracked by default. To record origin and accepted changes in Astrid, add
--project <existing-project> to the standalone import and edit commands.
For edits, put common options after the bundle and before the verb, for example
vibecomfy edit workflows/my_workflow --project demo set sampler.steps 30.
If you are already using Astrid, use its native media import followed by a
vibecomfy.import task; Astrid supplies the project/task context, so the
executor does not take VibeComfy's --project option. The
workflow onboarding guide gives the
Astrid-native task command and history path.
Loading a canonical bundle executes its workflow.py to build the graph, so
inspection, typed editing, capture, and validation use VibeComfy's existing
Python-consent gate. In a terminal, let the prompt ask before proceeding. For
an unattended command, use the explicit vibecomfy --yes ... opt-in only when
the user has authorized this source; --non-interactive otherwise refuses.
An Astrid-native canonical-bundle task must include the explicit
python_execution_consent: "confirmed" input. Do not infer that consent from
task admission or from an authority_context value. Importing raw workflow
JSON and inspecting a UI JSON graph do not execute workflow Python.
The edit command supports set, add, remove, connect, disconnect,
mode, and batch. A batch file or standard input lets an agent submit a
single ordered group of typed changes; later operations can refer to a node
added earlier in that batch. A failed batch does not save partial changes.
Use --dry-run to preview and --out <directory> to write a separate bundle.
For simple direct changes, you can instead edit existing node arguments in
workflow.py. If you use a recipe that loads the imported folder as a
VibeWorkflow, common supported controls are set_prompt, set_seed,
set_steps, and set_input; first check available fields with
vibecomfy inspect <folder> --field <field>. For unfamiliar node parameters,
use vibecomfy node <ClassType> --inputs and visible graph evidence. Validate and
diagnose the artifact you edited: the imported folder for direct edits, or
the separate recipe .py if you created a variation. Validating the source
folder does not check a recipe that loads it.
After a direct Python edit, run vibecomfy edit <bundle> capture to publish
the Python/companion pair and record the aggregate change. Add --project to
track that capture in Astrid. Capture does not invent individual edit
operations. A browser candidate and ComfyUI canvas Apply are not tracked
automatically; use explicit project-bound capture to add an applied canvas to
the Astrid history. Import, accepted edit, capture, validation, and execution
are separate actions: validation checks the exact edited bundle but does not
run generation.
Typed edits and UI capture regenerate Python from the canonical graph. If a captured Python file contains extra executable code that the graph cannot represent, VibeComfy refuses the rewrite and leaves all three bundle files unchanged. Continue editing Python and capture it, or restore canonical generated source before switching back to typed edits.
Use vibecomfy validate and vibecomfy doctor for preflight. Use
vibecomfy templates create when intentionally promoting an imported,
reviewed bundle to a ready template; import remains the single onboarding
path.
If the target is a ready template and the edit is user-specific:
vibecomfy copy-to-recipe <ready_id> --out recipes/<name>.pyThen edit the Python recipe, scratchpad, or template.
For a readable executable function, declare it once and call it with the workflow as the first argument:
from vibecomfy import python_node
@python_node(inputs={"value": "INT"}, outputs={"value": "INT"})
def increment(value):
return {"value": value + 1}
first = increment(wf, value=1)
second = increment(wf, value=first.value)Each call is a distinct vibecomfy.exec node. The function body is inert
while building, io names the typed semantic ports, and the existing graph
edges carry physical in_N sockets. Use python_node.from_source(...) for
a full module/project and python_node.from_installed(...) for an
environment-bound package. Snapshot entrypoints are package-relative;
installed entrypoints are fully qualified. A shared source identity can be
updated for all calls, while an explicitly selected call can be copied on
edit. Preserve helper files by capturing the project root rather than
extracting one function from its module.
The CLI convenience form uses the same canonical session and atomic bundle publisher:
vibecomfy edit BUNDLE exec add --source-body "return {'value': value + 1}" --ports ports.json
vibecomfy edit BUNDLE exec inspect TARGET --json
vibecomfy edit BUNDLE exec export TARGET --destination exported_sourceValidate source syntax, IO names, bindings, revision identity, and the exact
Python/companion pair. A successful edit is not runtime evidence; queue it
through run-comfy-workflow for that.
Use the lightest public API that fits:
from vibecomfy.cli_loader import load_bundle
def build():
wf = load_bundle("image/z_image").workflow
wf.set_prompt("a glass teapot on basalt")
wf.set_seed(42)
wf.set_steps(20)
return wf.finalize_metadata()Reach for patches when decorating an existing graph. Reach for blocks or direct VibeWorkflow methods only when the edit changes handles, splices nodes, or rewires topology.
Never invent node fields, sockets, or class names. Use vibecomfy node <ClassType> --inputs, visible graph data, local precedents, or search-comfy-workflows.
vibecomfy validate <edited.py>
vibecomfy doctor <edited.py> --jsonFor converted source workflows:
vibecomfy port doctor-all <source_or_edited_workflow> --jsonIf the edit adds custom nodes:
vibecomfy nodes install-plan <edited.py>For package-side edits, return the edited file path and validation evidence:
vibecomfy validate / vibecomfy doctor statusFor Comfy app style edits, the returned object is a candidate envelope: outcome.kind, candidate.graph, apply_eligibility, graph hashes, change details, and artifact paths such as candidate.ui.json / response.json. The user still has to Apply or run it.
ready_templates; use recipes/.vibecomfy-setup; if execution fails, hand off to debug-comfy-workflow.© peteromallet, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in docs/agent-skill/skills/edit-comfy-workflow of peteromallet/VibeComfy.
Open the folder on GitHubat commit b1429c6
Edit Comfy Workflow 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 |
|---|---|---|---|---|---|---|
| Edit Comfy Workflow this skillpeteromallet/VibeComfy | 150 | — | ~2.2k | Automated safety check: Pass | MIT | |
| ComfyUI Custom Node BuilderConstantineB6/comfy-pilot | 230 | — | ~897 | Automated safety check: Pass | MIT | |
| Setupguaardvark/guaardvark | 251 | 1 repos | ~1.2k | Automated safety check: Pass | MIT | |
| AI Toolkit Trainerartokun/comfyui-mcp | 793 | — | ~2.7k | Automated safety check: Pass | MIT | |
| Add Comfyui NodeMooshieblob1/MooshieUI | 207 | — | ~936 | Automated safety check: Pass | AGPL-3.0 | |
| ComfyUI Custom Node Basicsjtydhr88/comfyui-custom-node-skills | 294 | — | ~1.6k | Automated safety check: Pass | MIT |
ConstantineB6/comfy-pilot
Helps an agent write ComfyUI custom nodes in Python, including wrapping an existing script, mapping data types and handling image batches.
guaardvark/guaardvark
Connect this agent to a running Guaardvark (self-hosted AI studio) and check what it can do right now.
artokun/comfyui-mcp
Train custom LoRAs with ostris AI-Toolkit. An agent skill from artokun/comfyui-mcp.
Mooshieblob1/MooshieUI
Adds a custom ComfyUI Python node to MooshieUI — Python class in mooshienodes.py, Rust required-class registration, and optional workflow template chain hookup.
jtydhr88/comfyui-custom-node-skills
Explains the V3 API for ComfyUI custom nodes: node classes, schema, inputs and outputs, registration and how it differs from the legacy V1 style.
artokun/comfyui-mcp
Pick the right ComfyUI startup flags for VRAM, attention, caching, and speed.
peteromallet/VibeComfy
Add a durable VibeComfy ready workflow/template from a ComfyUI source workflow.
peteromallet/VibeComfy
Diagnose a VibeComfy or ComfyUI workflow that fails validation, conversion, node/model resolution, runtime execution, or output production.
peteromallet/VibeComfy
Explain an existing VibeComfy or ComfyUI workflow, ready template, recipe, scratchpad, target graph, node chain, model path, prompt path, or runtime result.
peteromallet/VibeComfy
Reorganise an existing ComfyUI workflow layout without changing runtime behavior.
peteromallet/VibeComfy
Execute an existing VibeComfy/ComfyUI workflow, ready template, recipe, or scratchpad and collect outputs.
peteromallet/VibeComfy
Search for ComfyUI workflow precedents, VibeComfy ready templates, node wiring examples, Banodoco/Hivemind community workflow knowledge, and concrete graph patterns before editing or adding a…
Categories
Edit an existing VibeComfy or ComfyUI workflow, ready template, recipe, scratchpad, or target graph. Edit Comfy Workflow is an agent skill from peteromallet/VibeComfy. Edit an existing VibeComfy or ComfyUI workflow, ready template, recipe, scratchpad, or target graph.
Edit Comfy Workflow fits situations like: the user asks to tweak prompts/seeds/steps/resolution; splice a pattern into a workflow; convert JSON to editable Python; make a graph change without necessarily running it.
Run `npx skills add peteromallet/VibeComfy --skill edit-comfy-workflow -a claude-code`. Or copy the skill folder (docs/agent-skill/skills/edit-comfy-workflow in peteromallet/VibeComfy) into .claude/skills/edit-comfy-workflow in your project. Claude Code loads it when a task matches its description.
Run `npx skills add peteromallet/VibeComfy --skill edit-comfy-workflow -a codex`. Or copy the skill folder (docs/agent-skill/skills/edit-comfy-workflow in peteromallet/VibeComfy) into .agents/skills/edit-comfy-workflow 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 peteromallet/VibeComfy --skill edit-comfy-workflow -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/edit-comfy-workflow, .gemini/skills/edit-comfy-workflow, .github/skills/edit-comfy-workflow and .opencode/skills/edit-comfy-workflow in your project.
SKILL.md names no scripts, command-line tools or credentials: Edit Comfy Workflow is instructions for the agent only. Our summary lists: Python 3.
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.
Edit Comfy Workflow is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.2k tokens (SKILL.md is roughly 8.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Edit Comfy Workflow: ComfyUI Custom Node Builder (ConstantineB6/comfy-pilot, 230 stars), Setup (guaardvark/guaardvark, 251 stars), AI Toolkit Trainer (artokun/comfyui-mcp, 793 stars) and Add Comfyui Node (Mooshieblob1/MooshieUI, 207 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
peteromallet (a GitHub user) maintains it in peteromallet/VibeComfy, which has 150 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 1, 2026.
Source: peteromallet/VibeComfy on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.