comfyui-workflow-builder
自然言語の説明からComfyUIのワークフローJSONを生成・設計するスキル。正確なclass_type、ノード間の接続、出力インデックス、モデル設定を備えた有効なノードグラフを出力し、txt2img・img2img・インペインティング・ControlNet・LoRAスタッキング・アップスケーリング・顔補正などのパイプラインに対応します。ComfyUIのインストールやカスタムノード開発、Pythonスクリプト、モデルトレーニング、ハードウェア選定、アーキテクチャの解説は対象外です。
description の原文を見る
Generate, build, create, or design ComfyUI workflow JSON from natural language descriptions. Produces valid node graphs with correct class_types, connections, output indices, and model-appropriate settings. Handles txt2img, img2img, inpainting, ControlNet, LoRA stacking, upscaling, and face detailing pipelines. Does NOT cover ComfyUI installation, custom node development, Python scripting, model training, hardware advice, or architectural explanations.
SKILL.md 本文
ComfyUI Workflow Builder
自然言語のリクエストを実行可能な ComfyUI ワークフロー JSON に変換します。生成前に必ずインベントリに対して検証を行います。
ワークフロー生成プロセス
ステップ 1: リクエストの理解
ユーザーの意図を以下に解析します:
- 出力タイプ: 画像、動画、オーディオ
- ソース素材: テキストのみ、参照画像、既存動画
- アイデンティティ方法: なし、ゼロショット (InstantID/PuLID)、LoRA、Kontext
- 品質レベル: ドラフト (高速反復) vs 本番 (最高品質)
- 特別な要件: ControlNet、インペイント、アップスケーリング、リップシンク
ステップ 2: インベントリの確認
state/inventory.json を読み込んで以下を確認:
- 利用可能なチェックポイント → タスクに最適なものを選択
- 利用可能なアイデンティティモデル → どの方法が可能か判定
- 利用可能な ControlNet モデル → ポーズ/深度制御の実現可能性
- インストール済みカスタムノード → 必要なノードすべての存在確認
- 利用可能な VRAM → それに応じた設定最適化
ステップ 3: パイプラインパターンの選択
リクエスト + インベントリに基づいて以下から選択:
| パターン | 使用場面 | キーノード |
|---|---|---|
| Text-to-Image | シンプルな生成 | Checkpoint → CLIP → KSampler → VAE |
| Identity-Preserved Image | キャラクター一貫性 | + InstantID/PuLID/IP-Adapter |
| LoRA Character | 学習済みキャラクター | + LoRA Loader |
| Image-to-Video (Wan) | 高品質動画 | Diffusion Model → Wan I2V → Video Combine |
| Image-to-Video (AnimateDiff) | 高速動画、モーション制御 | + AnimateDiff Loader + Motion LoRAs |
| Talking Head | キャラクターが話す | Image → Video → Voice → Lip-Sync |
| Upscale | 解像度を向上 | Image → UltimateSDUpscale → Save |
| Inpainting | 領域編集 | Image + Mask → Inpaint Model → KSampler |
ステップ 4: ワークフロー JSON の生成
ComfyUI ワークフローフォーマット:
{
"{node_id}": {
"class_type": "{NodeClassName}",
"inputs": {
"{param_name}": "{value}",
"{connected_param}": ["{source_node_id}", {output_index}]
}
}
}
ルール:
- ノード ID は文字列 (通常は "1", "2", "3"...)
- 接続された入力は配列形式:
["source_node_id", output_index] - 出力インデックスは 0 ベースの整数
- ファイル名はインベントリにあるものと完全に一致
- シード値: ランダムな大整数か固定値 (再現性の場合)
ステップ 5: 検証
ユーザーに提示する前に:
- すべての
class_typeがインベントリのノードリストに存在 - すべてのモデルファイル名がインベントリのモデルリストに存在
- すべての必要な接続が存在 (宙ぶらりんな入力がない)
- VRAM 推定値が利用可能な VRAM を超えない
- 解像度が選択されたモデルに対応 (SD1.5 は 512、SDXL/FLUX は 1024)
ステップ 6: 出力
オンラインモード: comfyui-api スキル経由でキュー
オフラインモード: JSON を projects/{project}/workflows/ に説明的な名前で保存
ワークフローテンプレート
基本的な Text-to-Image (FLUX)
{
"1": {
"class_type": "LoadCheckpoint",
"inputs": {"ckpt_name": "flux1-dev.safetensors"}
},
"2": {
"class_type": "CLIPTextEncode",
"inputs": {"text": "{positive_prompt}", "clip": ["1", 1]}
},
"3": {
"class_type": "CLIPTextEncode",
"inputs": {"text": "{negative_prompt}", "clip": ["1", 1]}
},
"4": {
"class_type": "EmptyLatentImage",
"inputs": {"width": 1024, "height": 1024, "batch_size": 1}
},
"5": {
"class_type": "KSampler",
"inputs": {
"seed": 42,
"steps": 25,
"cfg": 3.5,
"sampler_name": "euler",
"scheduler": "normal",
"denoise": 1.0,
"model": ["1", 0],
"positive": ["2", 0],
"negative": ["3", 0],
"latent_image": ["4", 0]
}
},
"6": {
"class_type": "VAEDecode",
"inputs": {"samples": ["5", 0], "vae": ["1", 2]}
},
"7": {
"class_type": "SaveImage",
"inputs": {"filename_prefix": "output", "images": ["6", 0]}
}
}
アイデンティティ保存付き (InstantID + IP-Adapter)
基本テンプレートに以下を追加:
- 参照画像ノードのロード
- InstantID Model Loader + Apply InstantID
- IPAdapter Unified Loader + Apply IPAdapter
- FaceDetailer 後処理
完全なノード設定は references/workflows.md を参照してください。
動画生成 (Wan I2V)
異なるローダーチェーンを使用:
- Diffusion Model をロード (LoadCheckpoint ではなく)
- Wan I2V コンディショニング
- EmptySD3LatentImage (フレーム数付き)
- Video Combine (VHS)
完全な設定は references/workflows.md のワークフロー 4 を参照してください。
VRAM 推定値
| コンポーネント | 概算 VRAM |
|---|---|
| FLUX FP16 | 16GB |
| FLUX FP8 | 8GB |
| SDXL | 6GB |
| SD1.5 | 4GB |
| InstantID | +4GB |
| IP-Adapter | +2GB |
| ControlNet (各) | +1.5GB |
| Wan 14B | 20GB |
| Wan 1.3B | 5GB |
| AnimateDiff | +3GB |
| FaceDetailer | +2GB |
よくある間違いと回避方法
- 出力インデックスの間違い: CheckpointLoader は
[model, clip, vae]をインデックス[0, 1, 2]で出力 - InstantID の CFG が高すぎる: デフォルト 7-8 ではなく 4-5 を使用
- モデルに不適切な解像度: FLUX/SDXL=1024、SD1.5=512
- VAE の漏れ: FLUX は明示的な VAE が必要 (
ae.safetensors) - ローダーのモデルが異なる: Diffusion モデルは
LoadCheckpointではなくLoadDiffusionModelが必要
リファレンスファイル
references/workflows.md- ノード別の詳細テンプレートreferences/models.md- モデルファイルとパスreferences/prompt-templates.md- モデル固有のプロンプトstate/inventory.json- 現在のインベントリキャッシュ
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- mckruz
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/mckruz/comfyui-expert / ライセンス: MIT
関連スキル
agent-browser
AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。
anyskill
AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。
engram
AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。
skyvern
AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。
pinchbench
PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。
openui
OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。