Agent skill

Qwen Image Edit

by artokun in artokun/comfyui-mcp

Build Qwen Image Edit workflows covering model loading, conditioning, LoRAs, prompt patterns, and XY plot testing

MITAuto-check passedAI & LLM Engineering

Install Qwen Image Edit

skills CLI
$ npx skills add artokun/comfyui-mcp --skill qwen-image-edit -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install artokun/comfyui-mcp qwen-image-edit --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/artokun/comfyui-mcp.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugin/skills/qwen-image-edit .claude/skills/qwen-image-edit && rm -rf skills-src

Use ~/.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/

Facts

Skill name
qwen-image-edit
GitHub stars
803
Token cost
~4.6k tokens
SKILL.md length
1,775 words
Files
1
Skills in repo
42
Repo updated
First seen
Licence
MIT

At a glance

Build Qwen Image Edit workflows covering model loading, conditioning, LoRAs, prompt patterns, and XY plot testing

  • Works in 6 steps: Text Multiline nodes define parameter… → Split String breaks them into indexed… → easy textIndexSwitch selects one at a time → …
  • Tasks that involve Fine-tuning
  • SKILL.md covers Overview, Models, Conditioning Nodes and Lightning LoRAs (Fast…, plus 9 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Qwen Image Edit is an agent skill from artokun/comfyui-mcp. Build Qwen Image Edit workflows covering model loading, conditioning, LoRAs, prompt patterns, and XY plot testing

Its SKILL.md is about 4.6k 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 Fine-tuning and Prompt engineering. It works with Qwen. The repository describes itself as: Local-first, agent-native control plane for ComfyUI — MCP server + sidebar agent that generates images, video & audio, authors and runs workflows, and edits your live graph in… The licence is MIT.

When your agent uses it

  • Tasks that involve Fine-tuning
  • Tasks that involve Prompt engineering

Example prompts

  • “/qwen-image-edit”

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Text Multiline nodes define parameter lists (e.g., directions, angles)
  2. Split String breaks them into indexed options
  3. easy textIndexSwitch selects one at a time
  4. easy promptReplace substitutes {X}, {Y}, {Z} placeholders in the base prompt
  5. easy XYPlotAdvanced + easy XYInputs: PromptSR drives the sweep
  6. easy pipeIn bundles model/clip/vae/latent into a pipeline

What it can do on your machine

Read from SKILL.md and the folder at commit 6ad6fc0. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are json).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Qwen Image Edit loads about 4.6k tokens when it runs. Until then it costs about 32 tokens; SKILL.md has 1,775 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~32
When it runs · the whole SKILL.md, loaded when a task matches
~4.6k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from artokun/comfyui-mcp at commit 6ad6fc0, republished under its MIT licence (© artokun). 1,775 words, ~4,646 tokens.

Download SKILL.mdSave it as .claude/skills/qwen-image-edit/SKILL.md (or your agent's skills folder).
name
qwen-image-edit
description
Build Qwen Image Edit workflows covering model loading, conditioning, LoRAs, prompt patterns, and XY plot testing
globs
**/*.json

Qwen Image Edit Workflows

Overview

Qwen Image Edit uses a vision-language model (Qwen2.5-VL) to edit images based on natural language instructions. The model "sees" the source image through CLIP conditioning and generates an edited version.

Models

Required Components
ComponentNodeModel NameNotes
UNETUNETLoaderqwen_image_edit_2511_bf16.safetensorsOfficial 2511 edit model (bf16)
CLIPCLIPLoader (type=qwen_image)qwen_2.5_vl_7b_fp8_scaled.safetensorsShared across all Qwen models
VAEVAELoaderqwen_image_vae.safetensorsQwen-specific VAE
Alternative UNET Models
ModelPathFocus
qwenImageEditRemix_v10qwenImageEditRemix_v10.safetensorsCommunity remix, general editing
qwenUltimateRealism_v11Qwen/imageized/qwenUltimateRealism_v11.safetensorsProduct photography, hyper-realistic
copaxTimelessQwen/realistic/copaxTimeless_qwenUltraRealistic.safetensorsUltra-realistic portraits
qwnImageEdit_v16Bf16Qwen/abliterated/qwnImageEdit_v16Bf16.safetensorsAbliterated (uncensored)

Conditioning Nodes

From the qweneditutils custom node pack. The Advanced variant is preferred because it:

  • Outputs a LATENT directly (no need for separate EmptyLatentImage)
  • Has separate VL-resize and non-resize image slots for fine control
  • Supports target_size control for output resolution
  • Includes a pad/center/disabled crop method with pad_info output
Required Inputs:
  - clip: CLIP
  - prompt: STRING — natural language edit instruction

Optional Inputs:
  - vae: VAE — needed for image encoding and latent output
  - vl_resize_image1-3: IMAGE — images that get VL-resized (downscaled for vision encoder)
  - not_resize_image1-3: IMAGE — images kept at full resolution
  - target_size: [1024, 1344, 1536, 2048, 768, 512] (default 1024)
  - target_vl_size: [392, 384] (default 384)
  - upscale_method: [lanczos, bicubic, area]
  - crop_method: [pad, center, disabled]
  - instruction: STRING — system instruction template (has sensible default)

Outputs (10):
  [0] conditioning_with_full_ref: CONDITIONING — use as positive conditioning
  [1] latent: LATENT — auto-scaled latent, feed directly to KSampler
  [2] target_image1: IMAGE — processed target-size image
  [3] target_image2: IMAGE
  [4] target_image3: IMAGE
  [5] vl_resized_image1: IMAGE — VL-resized version
  [6] vl_resized_image2: IMAGE
  [7] vl_resized_image3: IMAGE
  [8] conditioning_with_first_ref: CONDITIONING — conditioning with only first ref
  [9] pad_info: ANY — padding info for later unpadding

Key advantage: Output [1] (latent) eliminates the need for a separate EmptyLatentImage or VAEEncode node. The Advanced node handles latent creation internally at the correct resolution.

Other Conditioning Variants
  • TextEncodeQwenImageEditPlus (Phr00t v2, built-in) is simpler: 4 image inputs, outputs only CONDITIONING. Requires separate EmptyLatentImage. Good for quick edits.
  • TextEncodeQwenImageEditPlus_lrzjason: 5 image inputs, resize toggles, but less control than Advance
  • TextEncodeQwenImageEditPlusPro_lrzjason: Per-image VL resize selection via vl_resize_indexs string, main_image_index control

Lightning LoRAs (Fast Generation)

4-Step Lightning (2511 Edit)
json
{
  "class_type": "LoraLoaderModelOnly",
  "inputs": {
    "model": ["<unet_node>", 0],
    "lora_name": "Qwen-Image-Edit-2511-Lightning-4steps-V1.0-bf16.safetensors",
    "strength_model": 1.0
  }
}

Settings: steps=4, cfg=1.0, sampler=euler, scheduler=simple, denoise=1.0

4-Step Lightning (General Qwen)

For non-edit models (txt2img, 2512):

  • Qwen-Image-Lightning-4steps-V1.0.safetensors (strength 1.0)
8-Step Lightning
  • Qwen-Image-Lightning-8steps-V1.0.safetensors, higher detail than 4-step

Sampler Settings

PresetStepsCFGSamplerSchedulerDenoiseLoRA
Lightning 4-step (2511 edit)41.0eulersimple1.02511-Lightning-4steps
Lightning 8-step81.0eulersimple1.0Lightning-8steps
Standard edit404.0eulersimple0.75none
Quality edit504.0eulersimple0.5-0.8none

The sub-1.0 denoise rows REQUIRE a VAEEncode latent. A denoise low enough to shorten the sampling schedule — which 0.5-0.8 certainly is — keeps part of the incoming latent, so that latent has to BE the source image. Wire latent_image from a VAEEncode of the source (or from a node that emits a source-derived latent, like TextEncodeQwenImageEditPlusAdvance_lrzjason output [1]). Pairing these rows with an EmptyLatentImage runs clean and returns a flat, near-uniform field — an empty latent has no source content to preserve. Feeding the reference through TextEncodeQwenImageEditPlus does not rescue it: that image rides on CONDITIONING, which steers denoising but never seeds the sampler's starting state.

Denoise for editing: Lower denoise = closer to source — provided the latent IS the source. 0.5-0.8 range for standard editing on a VAEEncode latent. Lightning uses 1.0 (model handles fidelity internally).

Resolutions

This table is for Qwen-Image TEXT-TO-IMAGE. Do not pick an edit graph's output size from it. An edit graph's geometry is decided by the SOURCE image, not by you — see "Resolution on an edit graph" below. Choosing 1104x1472 here for an edit was #2681.

Qwen-Image operates at ~1.6 megapixels natively:

AspectResolutionUse Case
Square1328x1328General
Portrait 3:41104x1472Portraits
Portrait 9:16928x1664Phone format
Landscape 4:31472x1104Landscape scenes
Landscape 16:91664x928Widescreen
Video-ready832x480For WAN 2.2 FLF pipeline

For video pipelines: Use 832x480 to match WAN 2.2's default resolution.

Resolution on an edit graph

TextEncodeQwenImageEdit and TextEncodeQwenImageEditPlus do not take a size. They scale every reference image to a hard-coded int(1024 * 1024) px — ~1.05 MP, at the source's own aspect ratio — VAE-encode it, and hand it to the model as a reference latent (comfy_extras/nodes_qwen.py).

The model then lays the reference tokens and the tokens it is generating on one shared, centred coordinate grid (comfy/ldm/qwen_image/model.py, process_img), so reference position (i, j) and output position (i, j) mean the same place only when the two grids are the same size. That is the whole reason the official templates run the one image through FluxKontextImageScale and then feed the sampler a VAEEncode of that scaled image — both branches then see the same pixels at the same ~1 MP scale and the same aspect. Every PREFERRED_KONTEXT_RESOLUTIONS entry is ~1.05 MP for the same reason.

It is agreement to within the encoder's round-to-8, not exact equality, and the difference is worth knowing precisely. FluxKontextImageScale snaps to a preferred pair; the encoder then renormalises that to its own 1,048,576 px budget. For 12 of the 18 preferred pairs the two land on the same latent grid. For the other 6 — 688x1504, 800x1328, 832x1248 and their landscape mirrors — the reference lands one latent row or column off: at 800x1328 the sampler's grid is 100x166 and the reference's is 99x165. ComfyUI's own bundled 2511 template does exactly this, so a sub-patch offset is evidently fine in practice. The failure this page is about is one of SCALE, not of rounding — an empty latent at 1104x1472 sits 1.24x away linearly, not one row.

So on an edit graph you do not choose a resolution — you inherit one:

  • Right: LoadImage -> FluxKontextImageScale -> (TextEncodeQwenImageEditPlus and VAEEncode) -> KSampler latent_image.
  • Wrong: an EmptyLatentImage at a size from the table above. Its dimensions are literals; the reference's are computed from the source when the graph runs. At 1104x1472 (1.63 MP) against a 1.05 MP reference the grids are 1.24x apart linearly, the model cannot copy detail across them, and it re-synthesises the subject instead — materials come back looking plastic/CGI and printed detail comes back as a generic shape (#2681). Nothing errors; the image just is not the edit you asked for.

create_workflow (action:"validate") now flags this pairing as edit_reference_empty_latent.

Prompt Patterns

Edit Instructions (Natural Language)
"Change the black cat into a cute girl with a black bodysuit and jeans"
"Make the sky a dramatic sunset with orange and purple clouds"
"Add a red sports car parked in front of the house"
"Remove the person on the left and fill with the background"
Multi-Angle LoRA (qwen-image-edit-2511-multiple-angles-lora)

Uses <sks> token with structured angle/distance prompts:

<sks> front view eye-level shot close-up
<sks> front-right quarter view low-angle shot medium shot
<sks> back view elevated shot wide shot

Template: <sks> {direction} view {angle} shot {distance}

Directions: front, front-right quarter, right side, back-right quarter, back, back-left quarter, left side, front-left quarter Angles: low-angle, eye-level, elevated, high-angle Distances: close-up, medium shot, wide shot

Negative Conditioning

Always use ConditioningZeroOut for negative conditioning with Qwen edit:

json
{
  "class_type": "ConditioningZeroOut",
  "inputs": { "conditioning": ["<positive_cond_node>", 0] }
}

Complete Workflow: Lightning Edit (Advanced Node)

Uses TextEncodeQwenImageEditPlusAdvance_lrzjason, which outputs the latent directly, so no EmptyLatentImage is needed.

json
{
  "1": { "class_type": "UNETLoader", "inputs": { "unet_name": "qwen_image_edit_2511_bf16.safetensors", "weight_dtype": "default" }},
  "2": { "class_type": "LoraLoaderModelOnly", "inputs": { "model": ["1", 0], "lora_name": "Qwen-Image-Edit-2511-Lightning-4steps-V1.0-bf16.safetensors", "strength_model": 1 }},
  "3": { "class_type": "CLIPLoader", "inputs": { "clip_name": "qwen_2.5_vl_7b_fp8_scaled.safetensors", "type": "qwen_image" }},
  "4": { "class_type": "VAELoader", "inputs": { "vae_name": "qwen_image_vae.safetensors" }},
  "5": { "class_type": "LoadImage", "inputs": { "image": "<source_image.png>" }},
  "6": { "class_type": "TextEncodeQwenImageEditPlusAdvance_lrzjason", "inputs": {
    "clip": ["3", 0], "prompt": "<edit instruction>", "vae": ["4", 0],
    "vl_resize_image1": ["5", 0],
    "target_size": 1024, "target_vl_size": 384,
    "upscale_method": "lanczos", "crop_method": "pad"
  }},
  "7": { "class_type": "ConditioningZeroOut", "inputs": { "conditioning": ["6", 0] }},
  "8": { "class_type": "KSampler", "inputs": {
    "model": ["2", 0],
    "positive": ["6", 0],
    "negative": ["7", 0],
    "latent_image": ["6", 1],
    "seed": 42, "steps": 4, "cfg": 1, "sampler_name": "euler", "scheduler": "simple", "denoise": 1
  }},
  "9": { "class_type": "VAEDecode", "inputs": { "samples": ["8", 0], "vae": ["4", 0] }},
  "10": { "class_type": "SaveImage", "inputs": { "images": ["9", 0], "filename_prefix": "qwen_edit" }}
}

Key connections:

  • "latent_image": ["6", 1]: KSampler gets its latent directly from the Advanced node's output [1]
  • "positive": ["6", 0]: conditioning_with_full_ref from output [0]
  • "vl_resize_image1": ["5", 0]: source image goes into VL-resize slot (downscaled for vision encoder)
Show full SKILL.md (773 more words)Show less
Simpler Alternative (Phr00t v2)

If qweneditutils custom node is unavailable, use the built-in TextEncodeQwenImageEditPlus with a separate EmptyLatentImage:

json
{
  "6": { "class_type": "TextEncodeQwenImageEditPlus", "inputs": {
    "clip": ["3", 0], "prompt": "<edit instruction>", "vae": ["4", 0], "image1": ["5", 0]
  }},
  "8": { "class_type": "EmptyLatentImage", "inputs": { "width": 1024, "height": 1024, "batch_size": 1 }}
}

Replace node 6 and add node 8. KSampler latent_image connects to ["8", 0] instead of ["6", 1].

Do not leave that EmptyLatentImage wired to the sampler. It is shown above only because it is what the Plus encoder's own signature leaves you needing, and it fails in a different way on each side of denoise 1.0:

  • Below 1.0 it renders a flat, near-uniform field, always. The encoder emits CONDITIONING only, so the latent is genuinely empty, and a truncated sigma schedule exists to preserve an incoming latent that here has nothing in it (#2678).
  • At 1.0 it renders a plausible image that is not your source — unless its width and height happen to equal the geometry the encoder derived, which is ~1.05 MP at the source's aspect ratio. A 1024x1024 empty latent over an exactly-square source does line up, and is fine. 1104x1472 over that same source does not: the model aligns reference and output on one shared grid, cannot copy across grids that far apart, and re-synthesises instead (#2681). See "Resolution on an edit graph".

The second case is the trap, because it depends on a source you may not have looked at and it fails silently. A VAEEncode removes the coincidence — it cannot be the wrong size, because it is derived from the same pixels the encoder saw.

Feed latent_image from a VAEEncode of the same image you gave the encoder, scaled once up front so both branches see the same pixels at the same scale:

json
{
  "5b": { "class_type": "FluxKontextImageScale", "inputs": { "image": ["5", 0] }},
  "6":  { "class_type": "TextEncodeQwenImageEditPlus", "inputs": {
    "clip": ["3", 0], "prompt": "<edit instruction>", "vae": ["4", 0], "image1": ["5b", 0]
  }},
  "8":  { "class_type": "VAEEncode", "inputs": { "pixels": ["5b", 0], "vae": ["4", 0] }}
}

KSampler latent_image connects to ["8", 0]. Any denoise is then meaningful: 1.0 for a full edit, sub-1.0 to stay closer to the source.

Basic Variant (Official ComfyUI Example)

The official "Qwen 2511 Edit Simple" example uses newer built-in nodes for model patching and image scaling:

Additional nodes in the official pipeline:

  • ModelSamplingAuraFlow (shift=3.1): Flow matching shift applied to the UNET. Used instead of ModelSamplingSD3.
  • CFGNorm (strength=1): Normalizes CFG guidance for more stable generation. Applied after ModelSamplingAuraFlow.
  • FluxKontextImageScale: Auto-scales input images to the correct resolution for Qwen. No manual size parameters needed.
  • FluxKontextMultiReferenceLatentMethod (method=index_timestep_zero): Applied to both positive and negative conditioning. Handles multi-reference latent indexing.
  • VAEEncode: Encodes the scaled image to latent (instead of EmptyLatentImage).

Official pipeline flow:

UNETLoader → [LoraLoaderModelOnly] → ModelSamplingAuraFlow (shift=3.1) → CFGNorm (strength=1) → MODEL
CLIPLoader (qwen_image) → CLIP
VAELoader → VAE

LoadImage → FluxKontextImageScale → scaled_image
  ├─ TextEncodeQwenImageEditPlus (positive) → FluxKontextMultiReferenceLatentMethod → positive CONDITIONING
  ├─ TextEncodeQwenImageEditPlus (negative, empty) → FluxKontextMultiReferenceLatentMethod → negative CONDITIONING
  └─ VAEEncode → LATENT

KSampler → VAEDecode → SaveImage

Official sampler settings:

VariantStepsCFGSamplerSchedulerDenoiseLoRA
Standard404.0eulersimple1.0none
Lightning41.0eulersimple1.02511-Lightning-4steps

Note: The FluxKontextMultiReferenceLatentMethod and FluxKontextImageScale nodes may not be needed when using Comfy's official model files directly, but may be required with community-repackaged models.

XY Plot Technique (from Widgets.json)

For batch-testing multiple edit variations, use the Easy Nodes XY Plot system:

  1. Text Multiline nodes define parameter lists (e.g., directions, angles)
  2. Split String breaks them into indexed options
  3. easy textIndexSwitch selects one at a time
  4. easy promptReplace substitutes {X}, {Y}, {Z} placeholders in the base prompt
  5. easy XYPlotAdvanced + easy XYInputs: PromptSR drives the sweep
  6. easy pipeIn bundles model/clip/vae/latent into a pipeline

This produces a grid image showing all combinations, useful for finding the best angle/distance/style for a given subject.

VRAM Considerations

  • Qwen 2511 edit bf16: ~10GB VRAM
  • CLIP (fp8): ~7GB VRAM
  • VAE: ~200MB
  • Total: ~17-18GB, fits comfortably on 24GB GPUs
  • Always clear_vram before loading if switching from another model family

Tips

  1. Upload source images first with upload_image (action:"image") before building the workflow
  2. Match output resolution to the next pipeline step (e.g., 832x480 for WAN FLF) — but only on a generation graph. On an edit graph the size is the source's; resize the RESULT afterwards instead of sampling at the size you want
  3. Lightning LoRA + denoise 1.0 works well. The model handles structure preservation through conditioning
  4. Take an edit graph's latent_image from a VAEEncode of the source, not from an EmptyLatentImage — at sub-1.0 denoise the empty latent decodes to a flat, near-uniform field (#2678), and at denoise 1.0 it is right only if its literal size happens to equal the geometry the encoder derived from the source, which is exactly the coincidence a VAEEncode removes (#2681). Neither failure errors. create_workflow (action:"validate") flags both pairings (partial_denoise_empty_latent, edit_reference_empty_latent)
  5. The lrzjason Pro variant is best for multi-image compositions where you need fine control over which images get VL-resized
  6. Use get_workflow (action:"analyze") to understand any saved Qwen edit workflow before modifying or executing it. It returns a structured summary, not raw JSON. Only use get_workflow when you need the actual JSON for enqueue_workflow or create_workflow (action:"modify").

Sources

  • Official: none found.
  • Empirical: sampler values, wiring, and prompt notes from working graphs in packs/ and observed renders; not a vendor prompting guide.

© artokun, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugin/skills/qwen-image-edit of artokun/comfyui-mcp.

Open the folder on GitHubat commit 6ad6fc0

Compare with similar skills

Qwen Image Edit 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.

Qwen Image Edit compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Qwen Image Edit this skillartokun/comfyui-mcp803—~4.6kAutomated safety check: PassMIT
Flux2 Klein PromptingAnastasiyaW/codex-claude-code-config154—~2.8kAutomated safety check: PassMIT
Train RlOpenPipe/ART11k—~2.4kAutomated safety check: PassApache-2.0
Train SftOpenPipe/ART11k—~2.9kAutomated safety check: PassApache-2.0
Finetuning Model Onboardingovermind-core/overmind612—~3.2kAutomated safety check: PassAGPL-3.0
slime RL Post-TrainingOrchestra-Research/AI-Research-SKILLs13k4 repos~2.8kAutomated safety check: PassMIT

Similar skills

  • Flux2 Klein Prompting

    AnastasiyaW/codex-claude-code-config

    Expert prompt engineering for FLUX.2 [klein] image generation and editing model.

    154 GitHub stars~2.8k tokensUpdated yesterday
    Media & CreativeAuto-check passed
  • Train Rl

    OpenPipe/ART

    RL training reference for the ART framework. An agent skill from OpenPipe/ART.

    11k GitHub stars~2.4k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Train Sft

    OpenPipe/ART

    SFT training reference for the ART framework. An agent skill from OpenPipe/ART.

    11k GitHub stars~2.9k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Finetuning Model Onboarding

    overmind-core/overmind

    Rules for adding a new model or model family to the finetuning pipeline, or changing finetuning behavior for an existing one — engine-agnostic customization via family hooks instead of if/else in…

    612 GitHub stars~3.2k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • slime RL Post-Training

    Orchestra-Research/AI-Research-SKILLs

    Guides reinforcement-learning post-training of LLMs with slime, which pairs Megatron-LM training with SGLang rollouts, including GRPO runs on GLM, Qwen3 and Llama 3 models.

    13k GitHub starsUsed in 4 repos~2.8k tokens
    AI & LLM EngineeringAuto-check passed
  • Qwen21

    sorryhyun/anima_lora

    Qwen-Image-2.1 LoRA line (NOT Anima) — running cache/train through the daemon, make gui-qwen, the CacheRequest/TrainRequest flag surface and how to add a field, model-dir resolution, cache layout…

    125 GitHub stars~1.9k tokensUpdated today
    AI & LLM EngineeringAuto-check: notes

More from artokun/comfyui-mcp

All 42 skills in this repo
  • AI Toolkit Trainer

    artokun/comfyui-mcp

    Train custom LoRAs with ostris AI-Toolkit. An agent skill from artokun/comfyui-mcp.

    803 GitHub stars~2.7k tokensUpdated 6 days ago
    Auto-check passed
  • Anima Base

    artokun/comfyui-mcp

    Anime/illustration text-to-image (ANIMA 1.0, ~2B Cosmos DiT).

    803 GitHub stars~4k tokensUpdated 6 days ago
    Auto-check passed
  • Civitai

    artokun/comfyui-mcp

    Discover Civitai models with the BUILT-IN downloadmodel action:"searchcivitai" and install/generate them locally.

    803 GitHub stars~1.1k tokensUpdated 6 days ago
    Auto-check passed
  • Color Correction

    artokun/comfyui-mcp

    Diagnose and fix video/image color OBJECTIVELY with the getimage (action:"analyzecolor") tool (scopes/stats such as black/white points, contrast, saturation, clipping, cast) instead of eyeballing a…

    803 GitHub stars~2.4k tokensUpdated 6 days ago
    Auto-check passed
  • Comfyui Frontend Extensions

    artokun/comfyui-mcp

    Authoring ComfyUI v2 frontend extensions with @comfyorg/extension-api, covering defineNode/defineExtension/defineWidget, shell UI (sidebar tabs, commands, hotkeys), typed events, and handles.

    803 GitHub stars~5.4k tokensUpdated 6 days ago
    Auto-check passed
  • Comfyui Launch Flags

    artokun/comfyui-mcp

    Pick the right ComfyUI startup flags for VRAM, attention, caching, and speed.

    803 GitHub stars~3.1k tokensUpdated 6 days ago
    Auto-check passed

Works with

Questions about Qwen Image Edit

What does Qwen Image Edit do?

Build Qwen Image Edit workflows covering model loading, conditioning, LoRAs, prompt patterns, and XY plot testing. Qwen Image Edit is an agent skill from artokun/comfyui-mcp.

When should I use Qwen Image Edit?

Qwen Image Edit fits situations like: tasks that involve Fine-tuning; tasks that involve Prompt engineering.

How do I install Qwen Image Edit in Claude Code?

Run `npx skills add artokun/comfyui-mcp --skill qwen-image-edit -a claude-code`. Or copy the skill folder (plugin/skills/qwen-image-edit in artokun/comfyui-mcp) into .claude/skills/qwen-image-edit in your project. Claude Code loads it when a task matches its description.

How do I install Qwen Image Edit in Codex?

Run `npx skills add artokun/comfyui-mcp --skill qwen-image-edit -a codex`. Or copy the skill folder (plugin/skills/qwen-image-edit in artokun/comfyui-mcp) into .agents/skills/qwen-image-edit in your project. Codex loads it when a task matches its description.

Can I use Qwen Image Edit in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add artokun/comfyui-mcp --skill qwen-image-edit -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/qwen-image-edit, .gemini/skills/qwen-image-edit, .github/skills/qwen-image-edit and .opencode/skills/qwen-image-edit in your project.

What does Qwen Image Edit need to run?

SKILL.md names no scripts, command-line tools or credentials: Qwen Image Edit is instructions for the agent only.

Does Qwen Image Edit access the network?

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.

Is Qwen Image Edit safe to install?

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.

What licence does Qwen Image Edit use?

Qwen Image Edit is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Qwen Image Edit use?

About 4.6k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Qwen Image Edit?

Skills that share tags, products or a category with Qwen Image Edit: Flux2 Klein Prompting (AnastasiyaW/codex-claude-code-config, 154 stars), Train Rl (OpenPipe/ART, 11k stars), Train Sft (OpenPipe/ART, 11k stars) and Finetuning Model Onboarding (overmind-core/overmind, 612 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Qwen Image Edit?

artokun (a GitHub user) maintains it in artokun/comfyui-mcp, which has 803 GitHub stars. The repository holds 42 skills in this directory. The repository was last updated on October 5, 2026.

Source: artokun/comfyui-mcp on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.