ai-toolkit-trainer
Train custom LoRAs with ostris AI-Toolkit. Covers WAN 2.2/2.1 (people, styles, video motion) and Z-Image (Turbo & Base, low-VRAM…
On-demand procedures for the ComfyUI sidebar panel agent that are too long to sit in the system prompt. Read it when a task lands in one of these areas. subgraph boundary rails and blueprint reuse, merging or composing workflows across tabs, pinning your edits to one workflow,
Claude Code
$ npx -y skills add artokun/comfyui-mcp --skill panel-operations --agent claude-code
Codex
$ npx skills add artokun/comfyui-mcp --skill panel-operations -a codex -y
Cursor
$ npx skills add artokun/comfyui-mcp --skill panel-operations -a cursor -y
Gemini CLI
$ npx skills add artokun/comfyui-mcp --skill panel-operations -a gemini-cli -y
GitHub Copilot
$ npx skills add artokun/comfyui-mcp --skill panel-operations -a github-copilot -y
OpenCode
$ npx skills add artokun/comfyui-mcp --skill panel-operations -a opencode -y
Windsurf
$ npx skills add artokun/comfyui-mcp --skill panel-operations -a windsurf -y
name: panel-operations description: On-demand procedures for the ComfyUI sidebar panel agent that are too long to sit in the system prompt. Read it when a task lands in one of these areas. subgraph boundary rails and blueprint reuse, merging or composing workflows across tabs, pinning your edits to one workflow, opening staged or downloaded workflow files, untangling Get/Set-bus and rgthree toggle-heavy graphs, authoring rgthree Fast Groups nodes, the LoRA Manager autocomplete-node limitation, the CivitAI browser flow, downloading model weights, reading hardware and runtime stats, Prompt Director audits, custom-node crash recovery, run-to-node render debugging, and multi-stage pipeline chaining. Each section is a lookup, not background reading. Reach for the one you need instead of guessing, and follow the tool's own description for parameter detail.
These are the procedures the panel system prompt points at rather than carries. Each tool named here also has its own full MCP description — that description is the authority on parameters and edge cases. This file is the *procedure*: the order of calls, and the traps that only show up when you string them together.
Jump to the section you need:
**Refactor a big graph into toggleable units.** Do not reconstruct group membership by hand. `panel_query_graph` reports every group with its member `node_ids` on each result's `groups` — groups are geometric and do not own nodes, so trust that list, not coordinates. To make a region readable and switchable as a UNIT (e.g. a "REPLACEMENT MODE" group), call `panel_subgraph_group(group:<title or id>)`: it wraps that group's nodes into one subgraph node in a single step. Then toggle the whole region with `panel_set_node_mode(<subgraph node id>, 'bypass'` to turn it OFF / `'active'` to turn it ON). To compare variants, queue it twice — `panel_run` with the subgraph active, then bypass and `panel_run` again. For an arbitrary node set that is not a group, use `panel_create_subgraph` with explicit `node_ids`.
**Reading and editing inside one.** Call `panel_enter_subgraph(node_id)` first — then `panel_query_graph` / `panel_graph_outline` and the `panel_*` edit tools operate on the subgraph's inner nodes — and `panel_exit_subgraph` when you are done.
**Exposing interior nodes to the boundary.** To wire an interior node to the subgraph's boundary from INSIDE it, do NOT `panel_connect` to a guessed rail node id — that is the rail and you will get it wrong. Use:
on the output rail, so the parent graph can wire the subgraph node's new output.
input rail.
Read `panel_query_graph`'s `rails` field (present when viewing a subgraph) to see the current boundary slots — what is already exposed and what still needs it.
**Unexposing a boundary slot.** `panel_unexpose_subgraph_input` / `_output` remove a named rail slot. Host SubgraphNode slots are positional: removing a slot that is not last shifts every later host link. `panel_query_graph` and `panel_graph_outline` will still show those later host links as connected (same positional lens); `panel_run` can then fail with `Required input is missing` (#2437). The unexpose reply only warns when a later slot remains *and* the panel did not already reindex (`host_links_reindexed`); removing the last slot, or a panel ≥0.15.120 that reports reindexed, is not that hazard. Do not trust that connectedness. Repair: `panel_exit_subgraph`, then disconnect and reconnect each remaining later host link **by NAME** (not index). Reconnecting by name re-resolves the index. Then re-enter if you still need the interior. Do not invent a reindex via `panel_disconnect` on a guessed index — a SubgraphNode disconnect can cascade into deleting unrelated nodes.
**Dissolving one.** `panel_unpack_subgraph(node_id)` inlines the inner nodes back into the parent graph and rewires external links, removing the wrapper — the inverse of `panel_create_subgraph`. All of these are undoable with Ctrl+Z.
To bring nodes from ONE workflow into ANOTHER (combine two graphs, copy a section across tabs, reuse part of a saved workflow), use copy/paste:
1. `panel_open_workflow` — the source. 2. `panel_select_nodes` — the section you want, or select all the ids from `panel_query_graph {fields:'ids'}`. 3. `panel_copy_nodes`. 4. `panel_open_workflow` or `panel_new_workflow` — the destination. 5. `panel_paste_nodes` — returns the new node ids. 6. Wire and tidy them, applying the `workflow-layout` skill so the merged result is clean with no overlaps.
The clipboard SURVIVES the workflow switch, so the copied nodes carry across tabs. Use `connect_
<img src="docs/images/demo-poster.jpg" width="760" alt="The Agent panel driving ComfyUI end to end. Click to watch the demo"> The Agent panel driving ComfyUI end to end. It reads what is installed locally, wires the graph, frees VRAM, and runs the render.
Train custom LoRAs with ostris AI-Toolkit. Covers WAN 2.2/2.1 (people, styles, video motion) and Z-Image (Turbo & Base, low-VRAM…
Anime/illustration text-to-image (ANIMA 1.0, ~2B Cosmos DiT). Use for anime, manga, illustrated characters; accepts Danbooru tags…
Train a custom anime LoRA on the ANIMA base model with Citron's local Gradio trainer (kohya sd-scripts), <6GB VRAM,…
Discover Civitai models with the BUILT-IN download_model action:"search_civitai" and install/generate them locally. Find a…
Diagnose and fix video/image color OBJECTIVELY with the get_image (action:"analyze_color") tool (scopes/stats such as black/white…
Core ComfyUI knowledge covering workflow format, node types, pipeline patterns, and MCP tool usage
Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…