# dify-flow-create > Difyフロー(Workflow/Chatflow/Trigger)をテンプレートベースで生成します。dify/templates/から機能パターンに基づいて最類似テンプレートを自動選定し、プロジェクト配下にコピーして再編集・検証・インポートまで実施します。「フロー作成」「Workflow作成」「Chatflow作成」「Trigger作成」「Dify作成」などの依頼時に使用します。 - Author: ryuseisuda - Repository: ryuseisuda/clawd2 - Version: 20260123002259 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-06 - Source: https://github.com/ryuseisuda/clawd2 - Web: https://mule.run/skillshub/@@ryuseisuda/clawd2~dify-flow-create:20260123002259 --- --- name: dify-flow-create description: "Difyフロー(Workflow/Chatflow/Trigger)をテンプレートベースで生成します。dify/templates/から機能パターンに基づいて最類似テンプレートを自動選定し、プロジェクト配下にコピーして再編集・検証・インポートまで実施します。「フロー作成」「Workflow作成」「Chatflow作成」「Trigger作成」「Dify作成」などの依頼時に使用します。" --- # Difyフロー作成 Workflow ## Instructions 1. Preflight: - `./questions/flow_questions.md` でフロー要件を確認する - docs/patterns/ の定石パターンを優先参照する - dify/templates/ から類似フローを検索(最低5候補を検討し、選定理由を記録) - 選定したテンプレートの構造(ノード構成、変数設計、グラフ構造)を解析する - 依頼文に記載された参照資料を全て読み込む - 確認できなかった資料は「未参照一覧」として記録する 2. 生成: - **フロータイプ判定** - バッチ処理・API呼び出し・自動化タスク → Workflow(endノード終了) - 対話型・チャットUI・会話ベース → Chatflow(answerノード応答、mode: advanced-chat) - 外部イベント起点(Slack/Webhook等)→ Trigger(triggerノード起点) - **テンプレートベース生成** - 選定テンプレートをプロジェクト配下にコピー - ノードID一意化・プロンプト調整・変数設計 - graph.nodesに存在するノードIDのみをsource/targetに使用(存在しないノード参照禁止) - **命名規則(Dify DSL)** - ファイル拡張子: `.yml`(.yaml禁止) - ノードID: アンダースコア形式(ハイフン禁止) - 変数参照: `{{#node_id.variable#}}` 形式 - 一時ファイル名: ASCII(英数字+アンダースコア) - **上書きインポートルール** - 改善・ブラッシュアップ時は元のYMLファイルを直接編集(別ファイル作成禁止) - インポート時は `--new` オプションを使用しない(app_idファイル存在時は自動で上書き) - 明示的に「別フローとして作成」指示がある場合のみ `--new` 使用可 - 元資料にない項目は省略せず「未記載」または「不明」と明記する - テンプレート構造を独自に変更しない - 検証なしでインポートしない 3. QC(必須): - 共通QC Subagent(`qa-skill-qc`)に評価・チェックを委譲する - Subagentは最初に `./evaluation/evaluation_criteria.md` をReadし、評価指標に基づいてQCを実施する - **構文検証(必須)**: `source .venv/bin/activate && python scripts/dify_validation.py ` を実行 - チェック観点: - graph.nodesに存在しないノードIDを参照していないこと - 全ノードに一意のIDが付与されていること - start/endノードが正しく接続されていること - LLMノードのモデル指定が有効であること - ノードIDが意味のある命名になっていること - 変数名が一貫していること - 分岐条件が明確であること - エラー発生時は自動修正 → 再検証(最大3回) - 指摘に対し「修正した/しない」と理由を成果物に残す 4. バックログ反映: - フロー作成完了後、インポート・テストのタスクを抽出する - 反映先・編集制約・差分提示は CLAUDE.md の全体ルールに従う subagent_policy: - 品質ループ(QC/チェック/フィードバック)は必ずサブエージェントへ委譲する - サブエージェントの指摘を反映し、反映結果(修正有無/理由)を成果物に残す - 検索を伴う情報収集(関連テンプレートの網羅的検索)はSubagentに委譲する - 独立した評価観点は並列Subagentで同時実行可能 recommended_subagents: - qa-skill-qc: 共通QC。対象Skillの ./evaluation/evaluation_criteria.md を先にReadしてからQCを開始 ## Resources - questions: - ./questions/flow_questions.md - ./questions/modification_questions.md - assets: ./assets/flow_creation_log_template.md - evaluation: ./evaluation/evaluation_criteria.md - triggers: ./triggers/next_action_triggers.md - scripts: - ./scripts/dify_validation.py - ./scripts/dify_import_api.py - ./scripts/dify_env_vars.py - ./scripts/dify_test_runner.py ## Next Action - triggers: ./triggers/next_action_triggers.md 起動条件に従い、条件を満たすSkillを自動実行する。 ## Error Handling - no_matching_template: 検索条件を広げて再検索、または新規テンプレートをゼロから作成 - validation_failed: エラー内容を確認し修正、dify_validation.py を再実行 - import_failed: 認証状態を確認、YAMLファイルの形式を確認 ## Difyインポートコマンド ```bash # 基本インポート(app_idファイルがあれば自動で上書き) source .venv/bin/activate && python scripts/dify_import_api.py -f # 強制新規作成 source .venv/bin/activate && python scripts/dify_import_api.py -f --new # 手動で上書き対象を指定 source .venv/bin/activate && python scripts/dify_import_api.py -f --app-id # Cookie再取得 source .venv/bin/activate && python scripts/dify_import_api.py -f --refresh # ワークフローテスト source .venv/bin/activate && python scripts/dify_test_runner.py -f ``` ## 環境変数確認コマンド ```bash # Dify環境変数一覧 source .venv/bin/activate && python scripts/dify_env_vars.py --list # テンプレートの使用変数を抽出 source .venv/bin/activate && python scripts/dify_env_vars.py --extract # 不足変数の比較 source .venv/bin/activate && python scripts/dify_env_vars.py --compare # 変数作成 source .venv/bin/activate && python scripts/dify_env_vars.py --create KEY VALUE ```