5,438,349 AI resources indexedWorking toward the world’s largest AI resource index.

PDF

Workflow Template Builder (MooshieUI)

Facilitates the creation and modification of ComfyUI workflow JSON templates for advanced AI image generation tasks.

Installable skillAGPL-3.0-onlyBy Mooshieblob1Updated Nov 1, 2026
INTENDED FORClaude CodeCodexOpenClawCursorInstall in a listed agent.

instructions.md

---
name: workflow-template-builder-2259a10e23e9
description: >-
  Builds or modifies ComfyUI workflow JSON templates in MooshieUI's Rust backend
  (src-tauri/src/templates). Use for new generation modes, template nodes, LoRA chains,
  upscale append chains, or ComfyUI workflow wiring.
---

# Workflow Template Builder (MooshieUI)

Specialist workflow for `src-tauri/src/templates/`. Each template builds `serde_json::Map<String, Value>` for the ComfyUI API.

## Before coding

1. Read `src-tauri/src/templates/mod.rs`
2. Read `txt2img.rs` (reference pattern)
3. If new params needed → **add-generation-param** skill first
4. If a custom ComfyUI node is needed → **add-comfyui-node** skill first

## Rules

1. Return **`WorkflowResult`** with all fields set
2. Node IDs: `next_id.to_string()` after each node (`"1"`, `"2"`, …)
3. Use `json!{}` for nodes
4. Connections: `[node_id, port]` arrays from `(String, u32)` tuples
5. Register: `pub mod x;` + `build_workflow()` match arm in `mod.rs`
6. `SaveImage` is appended in `mod.rs`, not per-template

## WorkflowResult

```rust
pub struct WorkflowResult {
    pub workflow: serde_json::Map<String, Value>,
    pub next_id: u32,
    pub image_output: (String, u32),
    pub model_source: (String, u32),
    pub clip_source: (String, u32),
    pub positive_source: (String, u32),
    pub negative_source: (String, u32),
    pub vae_source: (String, u32),
    /// KSampler node ID — needed to rewire ± after ControlNet injection.
    pub sampler_id: String,
}
```

## Pipeline order (summary)

| Mode | Flow |
|------|------|
| txt2img | Checkpoint → LoRAs → VAE? → CLIP×2 → EmptyLatent → KSampler → VAEDecode |
| img2img | … → LoadImage → VAEEncode → KSampler (denoise < 1) → VAEDecode |
| inpainting | … → LoadImage + Mask → VAEEncodeForInpaint → KSampler → VAEDecode |
| upscale append | IMAGE → upscale → VAEEncodeTiled → KSampler → VAEDecodeTiled |

## finish_workflow chain (mod.rs)

Post-process steps append to the template's final IMAGE in **this fixed order**:

```
template image → upscale? → facefix? → segment refinement? → MooshieSaveImage
```

Seed offsets per step: `seed+2` facefix, `seed+3+i` per `<segment>` tag. New chains pick an unused offset.

## New template checklist

```
- [ ] src-tauri/src/templates/new_mode.rs
- [ ] pub fn build(params: &GenerationParams, seed: i64) -> WorkflowResult
- [ ] mod.rs: pub mod + build_workflow match
- [ ] cargo check --manifest-path src-tauri/Cargo.toml
```

## Reference

ComfyUI node tables, connection syntax, append-chain pattern: [reference.md](reference.md)

Discuss this resource

Platform guidance

Imported from the listed AgentSkill.sh category. Complete supplied package files and notices are retained. Required external tools and credentials are not installed. No bundled code was executed during import. Individual agent task behavior has not been tested.