Skip to content
Automation
Skill

/panel-operations

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,

From plugin
comfyui-mcp
74842 skills4 agents11 commands1 MCP
Install
$ npx -y skills add artokun/comfyui-mcp --skill panel-operations --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/panel-operations

Context preview

The summary Claude sees to decide when to auto-load this skill.

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,

SKILL.md

panel-operations.SKILL.md
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.

Panel agent operations

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:

  • [Subgraphs](#subgraphs)
  • [Merging and composing workflows](#merging-and-composing-workflows)
  • [Reusing subgraphs (blueprint library)](#reusing-subgraphs-blueprint-library)
  • [Targeting a specific workflow](#targeting-a-specific-workflow)
  • [Opening a staged or downloaded workflow](#opening-a-staged-or-downloaded-workflow)
  • [Untangling a Get/Set-bus or toggle-heavy graph](#untangling-a-getset-bus-or-toggle-heavy-graph)
  • [Authoring rgthree Fast Groups toggles](#authoring-rgthree-fast-groups-toggles)
  • [LoRA Manager autocomplete nodes](#lora-manager-autocomplete-nodes)
  • [Recommending CivitAI models](#recommending-civitai-models)
  • [Downloading model weights](#downloading-model-weights)
  • [Hardware and runtime stats](#hardware-and-runtime-stats)
  • [Prompt Director awareness](#prompt-director-awareness)
  • [Crash recovery for a broken custom node](#crash-recovery-for-a-broken-custom-node)
  • [Debugging a wrong render with run-to-node](#debugging-a-wrong-render-with-run-to-node)
  • [Multi-stage pipelines on one canvas](#multi-stage-pipelines-on-one-canvas)
  • [Connecting MCP servers](#connecting-mcp-servers)

Subgraphs

**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:

  • `panel_expose_subgraph_output(from_node_id, from_output)` to expose an interior OUTPUT

on the output rail, so the parent graph can wire the subgraph node's new output.

  • `panel_expose_subgraph_input(to_node_id, to_input)` to expose an interior INPUT on the

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.

Merging and composing workflows

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_

Read more
Ships withcomfyui-mcp

This project is no longer maintained. ComfyUI now ships official agent and MCP tooling — Comfy Agent and Comfy MCP — built and supported by the Comfy-Org team with deeper integration than a community project can match.

Get the whole plugin

Other skills on comfyui-mcp.