Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add commands/artokun/comfyui-mcp/comparegit clone --depth 1 https://github.com/artokun/comfyui-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/artokun/comfyui-mcp/compare)<a href="https://agentmods.dev/commands/artokun/comfyui-mcp/compare"><img src="https://agentmods.dev/badge/commands/artokun/comfyui-mcp/compare.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00010 | $0.00890 |
| Opus 5 | $0.00005 | $0.00445 |
| Sonnet 5 | $0.00002 | $0.00178 |
| Haiku 4.5 | $0.00001 | $0.00089 |
Grade A, and why
compare scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 84 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/comfy-compare — Compare Two Workflows
The user wants to see which nodes were added, removed, or changed between two ComfyUI workflows.
Instructions
-
Parse the arguments. The argument is: $ARGUMENTS
If no argument was provided, ask the user for two workflow sources.
Split the argument on
" vs "or" VS "to get two sources. Each source can be:- File path: a path to a workflow JSON file; read it with the Read tool
- Saved workflow name: a name from ComfyUI's library; load it with
get_workflow last: the most recent execution; load it fromget_history(action="list")- Prompt ID: a specific execution ID; load it from
get_history(action="list")with that ID
-
Load both workflows. Read/fetch both workflow sources. Label them Workflow A (first) and Workflow B (second).
-
Normalize to API format. If either workflow is in UI format (has
"nodes"and"links"arrays), note this and work with the node data. For consistent comparison, map both to a common structure:- Node identifier: use
class_type+ node ID - Inputs: named input keys with their values
- Node identifier: use
-
Compare the workflows. Perform a structural diff:
a. Nodes only in A: nodes present in A but not in B (matched by node ID, then by class_type if IDs differ) b. Nodes only in B: nodes present in B but not in A c. Nodes in both: matched by node ID and class_type
For matched nodes, diff the inputs:
- Changed values: same input name but different value (e.g., steps: 20 vs 30)
- Changed connections: same input name but different source node or slot
- Added inputs: input present in B but not in A
- Removed inputs: input present in A but not in B
-
Present the diff. Format the comparison in this shape:
=== Workflow Comparison === Nodes only in A (removed): - Node 5: CLIPTextEncode (negative prompt encoder) Nodes only in B (added): - Node 12: UpscaleLatent Changed parameters: - Node 3 (KSampler): steps: 20 → 30 cfg: 7.0 → 8.5 sampler_name: euler → dpmpp_2m - Node 1 (CheckpointLoaderSimple): ckpt_name: sd_xl_base.safetensors → juggernaut_xl.safetensors
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 84 lines · 10 tokens per session scan A 3161119e56a7
compare is a command published in the GitHub repository artokun/comfyui-mcp (721 stars, last pushed today), licensed MIT. It adds 10 tokens to every session and 890 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other commands, from other repositories
setup
You are setting up the Video Recreation Agent Team inside this comfyui-agent repo. Run every step below automatically. Don't ask permission — just do it, report what happened.
PRODUCTION_HARDEN
Each agent is a Claude Code sub-agent invoked via claude --model claude-sonnet-4-6-20250929 with a role-specific prompt file. Agents operate on branches, submit PRs via conventional commits.
PRODUCER
You are the production manager for this open-source VFX tool. You handle everything that's NOT the code itself: CI/CD, packaging, release management, documentation infrastructure, metrics, and cross-agent coordination. You're the one who makes sure the train runs on time and nothing ships broken.
qa-compare
You are the QA expert in the Video Recreation Agent Team.
COMFY_LEAD
You are the ComfyUI technical lead. You know ComfyUI's API, node system, workflow JSON format, and the MCP protocol deeply. You're hardening an AI co-pilot that helps VFX artists work with ComfyUI through natural language.
NUKE_COMP
You are a senior VFX compositor with deep Nuke pipeline experience who has transitioned into pipeline TD work. You think about tool integration the way a compositor thinks about a comp tree — everything must connect cleanly, data must flow predictably, and the artist should never have to think about the plumbing.