Writing Playwright Tests
Comfy-Org/ComfyUI_frontend
Writes Playwright e2e tests for ComfyUIfrontend. An agent skill from Comfy-Org/ComfyUI_frontend.
Execute an existing VibeComfy/ComfyUI workflow, ready template, recipe, or scratchpad and collect outputs.
$ npx skills add peteromallet/VibeComfy --skill run-comfy-workflow -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install peteromallet/VibeComfy run-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/run-comfy-workflow .claude/skills/run-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 "run-comfy-workflow" agent skill from https://github.com/peteromallet/VibeComfy/tree/main/docs/agent-skill/skills/run-comfy-workflow into .claude/skills/run-comfy-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "run-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/run-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 run-comfy-workflow -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install peteromallet/VibeComfy run-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/run-comfy-workflow .agents/skills/run-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 "run-comfy-workflow" agent skill from https://github.com/peteromallet/VibeComfy/tree/main/docs/agent-skill/skills/run-comfy-workflow into .agents/skills/run-comfy-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "run-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 run-comfy-workflow -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install peteromallet/VibeComfy run-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/run-comfy-workflow .cursor/skills/run-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 "run-comfy-workflow" agent skill from https://github.com/peteromallet/VibeComfy/tree/main/docs/agent-skill/skills/run-comfy-workflow into .cursor/skills/run-comfy-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "run-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/run-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 run-comfy-workflow -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install peteromallet/VibeComfy run-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/run-comfy-workflow .gemini/skills/run-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 "run-comfy-workflow" agent skill from https://github.com/peteromallet/VibeComfy/tree/main/docs/agent-skill/skills/run-comfy-workflow into .gemini/skills/run-comfy-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "run-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 run-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 run-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/run-comfy-workflow .github/skills/run-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 "run-comfy-workflow" agent skill from https://github.com/peteromallet/VibeComfy/tree/main/docs/agent-skill/skills/run-comfy-workflow into .github/skills/run-comfy-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "run-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 run-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 run-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/run-comfy-workflow .opencode/skills/run-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 "run-comfy-workflow" agent skill from https://github.com/peteromallet/VibeComfy/tree/main/docs/agent-skill/skills/run-comfy-workflow into .opencode/skills/run-comfy-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "run-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.
run-comfy-workflowExecute an existing VibeComfy/ComfyUI workflow, ready template, recipe, or scratchpad and collect outputs.
Run Comfy Workflow is an agent skill from peteromallet/VibeComfy. Execute an existing VibeComfy/ComfyUI workflow, ready template, recipe, or scratchpad and collect outputs. Use when the user asks to run, queue, execute, generate, render, smoke test, use a local/remote ComfyUI runtime, or run on RunPod.
Its SKILL.md is about 1.8k 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 Testing & QA, covering Diffusion and image models and QA and bug reports. It works with 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.
Shell commands in SKILL.md call:
pythonuvpytestFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use uv, which can reach the network depending on how they are called.
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.
Run Comfy Workflow loads about 1.8k tokens when it runs. Until then it costs about 64 tokens; SKILL.md has 680 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). 680 words, ~1,750 tokens.
.claude/skills/run-comfy-workflow/SKILL.md (or your agent's skills folder).Use this for execution. If the graph must change first, use edit-comfy-workflow. If ComfyUI or paths are not configured, use vibecomfy-setup. If a run fails, use debug-comfy-workflow.
vibecomfy inspect <workflow>
vibecomfy validate <workflow>
vibecomfy doctor <workflow> --jsonFor raw JSON or a selected Hivemind revision, use the one importer first; run the resulting local bundle:
vibecomfy import <workflow.json-or-hivemind-reference>
vibecomfy validate workflows/<name> --json
vibecomfy run workflows/<name> --runtime embedded@python_node and source capsules execute through the existing ordinary
vibecomfy.exec node. They run in process with the selected ComfyUI worker's
files, imports, network, credentials, and GPU privileges; there is no reliable
timeout or sandbox. Snapshot capsules are materialized in a digest-qualified
cache, while installed entrypoints use their normal package namespace. A
worker dependency check happens before source import.
Use embedded when local ComfyUI is discoverable in the active environment:
vibecomfy run <workflow.py> --runtime embedded
vibecomfy run image/z_image --ready --runtime embeddedPrompt/seed/steps CLI overrides only work when the workflow exposes matching public inputs:
vibecomfy run image/z_image --ready --runtime embedded --prompt "..." --seed 7 --steps 20Use dependency helpers only when the user wants VibeComfy to prepare local runtime assets:
vibecomfy run <workflow.py> --runtime embedded --ensure-packs --ensure-models--ensure-packs is embedded-only.
For a local Python workflow, run reads the authored MODELS /
ModelAsset and READY_METADATA.requirements.custom_node_refs surfaces before
compilation. Missing model URLs, repository URLs, unsafe destinations,
unsupported dynamic metadata, and root or nested node classes that are not
core, explicitly listed in a ref's classes/class_set, or covered by one
unambiguous local pack catalog are reported together. The run stops with:
"Run blocked: dependencies unresolved. Nothing downloaded, installed,
restarted, compiled, or queued." Common literal placeholders are written back
to the same workflow.py; rerunning is idempotent.
from vibecomfy.templates import ModelAsset, ReadyMetadata
MODELS = {
"denoiser": ModelAsset(
filename="denoiser.safetensors",
url="https://host.example/models/denoiser.safetensors",
subdir="diffusion_models",
hf_revision="<revision>", # optional
sha256="<64-hex-digest>", # optional
),
}
READY_METADATA = ReadyMetadata.build(
capability="image",
requirements={"custom_node_refs": [{
"slug": "example-pack", "source": "git",
"url": "https://host.example/example-pack.git",
"version": "<tag-or-branch>", # optional; commit is also supported
"classes": ["ExampleNode"],
}]},
)A model URL resolves the current bytes at that URL by default and records the
effective URL, observed SHA-256, size, and file-stat evidence in the local
verification receipt. A supplied checksum/revision is honored. A node URL
resolves the repository's default branch by default; a supplied version/tag/
branch is checked out, and a supplied commit is verified exactly. The existing
custom_nodes.lock is reused when its URL and optional selectors match, so a
repeat does not silently move a workflow to a new revision. Change the URL or
request an explicit refresh to start a new resolution.
After the report is clear, the existing preparation and runtime path performs
the download/install, preserves bounded download concurrency, and keeps the
normal warm-session behavior. Inspect preparation receipts under
out/preparations/ when troubleshooting; do not infer a provider from a model
filename or node class. Remote --server-url runs remain non-mutating, and
RunPod/GPU validation plus Astrid project integration are separate follow-on
routes.
Use this when the user already has ComfyUI running locally or remotely:
vibecomfy run <workflow.py> --runtime server --server-url http://127.0.0.1:8188
vibecomfy run image/z_image --ready --runtime server --server-url http://127.0.0.1:8188Python-format workflows work against an existing server. VibeComfy imports the workflow's build(), compiles the VibeWorkflow to API JSON, and queues that JSON to the server.
The external server must already have the required custom nodes and models unless the user separately stages them into that server's environment. Do not use --ensure-packs with server runtime. --ensure-models can only prepare the local/shared model path VibeComfy can see.
For a VibeComfy-managed local HTTP server, omit --server-url:
vibecomfy run <workflow.py> --runtime server--runtime auto attaches to an active default session when one exists; otherwise it falls back to embedded execution.
Use RunPod when requested or when local execution is unavailable and a GPU run is necessary. The acceptance script is a retired fail-closed placeholder; it exits before provisioning and cannot establish an end-to-end result. The validation and matrix commands are live remote operations:
python scripts/runpod_acceptance.py # refusal only; no live acceptance
python scripts/runpod_validate.py # one remote smoke
VIBECOMFY_MATRIX_SCOPE=<family> uv run python scripts/runpod_corpus_matrix.py # remote matrix
pytest --runpod -m runpod tests/smoke/test_layer2_runpod_ops.pyUse runpod_validate.py for the cheapest live launch/runtime sanity check. Use runpod_corpus_matrix.py only for model-family or corpus coverage after the smoke is green, starting with the smallest scope that answers the question. These are GPU/network checks and do not replace the no-GPU structural gates. Use vibecomfy import followed by validate and doctor for source onboarding; use the offline approved-record transport to check record bytes and queue payloads.
Runs return a RunResult with run_id, prompt_id, outputs, metadata_path, and log_path. The same fields are persisted under out/runs/<run_id>/.
Report:
out/runs/<run_id>/metadata.jsonprompt_id when availablevibecomfy logs tail lines if execution failedDo not report an edit candidate as a run result. A candidate graph from the Comfy app or agentic edit harness becomes a run result only after it is applied or executed through vibecomfy run / runtime APIs.
© 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/run-comfy-workflow of peteromallet/VibeComfy.
Open the folder on GitHubat commit b1429c6
Run 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 |
|---|---|---|---|---|---|---|
| Run Comfy Workflow this skillpeteromallet/VibeComfy | 150 | — | ~1.8k | Automated safety check: Pass | MIT | |
| Writing Playwright TestsComfy-Org/ComfyUI_frontend | 2.1k | — | ~2.3k | Automated safety check: Pass | GPL-3.0 | |
| Reviewing Unit TestsComfy-Org/ComfyUI_frontend | 2.1k | — | ~5.1k | Automated safety check: Pass | GPL-3.0 | |
| Iibzanllp/infinite-image-browsing | 1.4k | — | ~3.3k | Automated safety check: Pass | MIT | |
| Comfyui Skill OpenclawHuangYuChuh/ComfyUI_Skills_OpenClaw | 411 | — | ~2.7k | Automated safety check: Pass | Apache-2.0 | |
| Character Refseternityspring/shuohao-skills | 4.2k | — | ~1.7k | Automated safety check: Warn | Apache-2.0 |
Comfy-Org/ComfyUI_frontend
Writes Playwright e2e tests for ComfyUIfrontend. An agent skill from Comfy-Org/ComfyUI_frontend.
Comfy-Org/ComfyUI_frontend
A skill your agent uses when reviewing Vitest unit-test diffs in ComfyUIfrontend, especially new mocks, store tests, component tests, or bugfix regression tests.
zanllp/infinite-image-browsing
Interact with IIB (Infinite Image Browsing) service for searching, browsing, tagging, and organizing AI-generated images.
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.
eternityspring/shuohao-skills
给任何故事里的角色真出参考图(小说改编、自己原创的故事、单独设计一个角色都行,不需要小说原文): 一段话描述角色,拆成分层字段、补全后确认, 先出一张正面全身锚点,其余视图(大头照、90° 侧面、背面、细节、45° 大头照)都只参考这张锚点, 按需分档出图。每张图带标识、可单独重出,重出后自动标出哪些图过期。
ConstantineB6/comfy-pilot
Helps an agent write ComfyUI custom nodes in Python, including wrapping an existing script, mapping data types and handling image batches.
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
Edit an existing VibeComfy or ComfyUI workflow, ready template, recipe, scratchpad, or target graph.
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
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…
Works with
Categories
Execute an existing VibeComfy/ComfyUI workflow, ready template, recipe, or scratchpad and collect outputs. Run Comfy Workflow is an agent skill from peteromallet/VibeComfy. Execute an existing VibeComfy/ComfyUI workflow, ready template, recipe, or scratchpad and collect outputs.
Run Comfy Workflow fits situations like: the user asks to run; use a local/remote ComfyUI runtime.
Run `npx skills add peteromallet/VibeComfy --skill run-comfy-workflow -a claude-code`. Or copy the skill folder (docs/agent-skill/skills/run-comfy-workflow in peteromallet/VibeComfy) into .claude/skills/run-comfy-workflow in your project. Claude Code loads it when a task matches its description.
Run `npx skills add peteromallet/VibeComfy --skill run-comfy-workflow -a codex`. Or copy the skill folder (docs/agent-skill/skills/run-comfy-workflow in peteromallet/VibeComfy) into .agents/skills/run-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 run-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/run-comfy-workflow, .gemini/skills/run-comfy-workflow, .github/skills/run-comfy-workflow and .opencode/skills/run-comfy-workflow in your project.
Going by SKILL.md and its folder, Run Comfy Workflow needs the command-line tools its instructions call (python, uv and pytest). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use uv, which can reach the network depending on how they are called. 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.
Run 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 1.8k tokens (SKILL.md is roughly 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 Run Comfy Workflow: Writing Playwright Tests (Comfy-Org/ComfyUI_frontend, 2.1k stars), Reviewing Unit Tests (Comfy-Org/ComfyUI_frontend, 2.1k stars), Iib (zanllp/infinite-image-browsing, 1.4k stars) and Comfyui Skill Openclaw (HuangYuChuh/ComfyUI_Skills_OpenClaw, 411 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.