# pattern-creation > 作成したDifyフロー(Workflow/Chatflow/Trigger)を分解・汎用化し、再利用可能なテンプレートとしてdify/templates/に保存します。機密情報除去・変数汎用化・メタデータ付与を行い、チーム内での再利用性を高めます。「テンプレート化」「パターン化」「汎用化」「再利用」などの依頼時に使用します。 - 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~pattern-creation:20260123002259 --- --- name: pattern-creation description: "作成したDifyフロー(Workflow/Chatflow/Trigger)を分解・汎用化し、再利用可能なテンプレートとしてdify/templates/に保存します。機密情報除去・変数汎用化・メタデータ付与を行い、チーム内での再利用性を高めます。「テンプレート化」「パターン化」「汎用化」「再利用」などの依頼時に使用します。" --- # パターン作成 Workflow ## Instructions 1. Preflight: - `./questions/template_conversion_questions.md` で変換対象・カテゴリを確認する - 対象フローを読み込み、構造・特徴を分析する - dify/templates/ 内の既存テンプレートを検索し、重複がないか確認する - 依頼文・関連資料を全て読み込む - 確認できなかった資料は「未参照一覧」として記録する 2. 生成: - **Step 1: フロー分析** - フロー種類判定(Workflow/Chatflow/Trigger) - ノード構成解析 - 機能ジャンル・複雑度判定(simple/medium/complex) - 再利用パターン特定 - **Step 2: 機密情報除去(必須)** - APIキー → `{{YOUR_API_KEY}}` - エンドポイント → `{{YOUR_API_ENDPOINT}}` - 認証情報 → `{{YOUR_CREDENTIAL}}` - 固有名称 → 汎用的な名称に変更 - 会社情報 → `{{YOUR_COMPANY}}` - Webhook URL → `{{YOUR_WEBHOOK_URL}}` - データベース接続 → `{{YOUR_DATABASE_CONNECTION}}` - メールアドレス → `{{YOUR_EMAIL}}` - プロジェクト名 → `{{YOUR_PROJECT}}` - **Step 3: 汎用化** - app.name: `テンプレート: {template_name}` - app.description: 汎用的な説明に変更 - 変数名: `input_xxx` / `output_xxx` / `temp_xxx` 形式に統一 - プロンプト内の固有指示を除去 - コメント追加(使用方法・カスタマイズポイント) - **Step 4: カテゴリ分類** - Workflowカテゴリ: api-integration, data-processing, document-generation, notification, scheduling, analysis - Chatflowカテゴリ: customer-support, faq-assistant, document-qa, creative-writing, data-inquiry - Triggerカテゴリ: webhook, slack, schedule - **Step 5: テンプレート保存** - 保存先: `dify/templates/{flow_type}/{category}/` - ファイル命名: `{category}_{function}_{complexity}.yml` - 例: `notification_slack_simple.yml`, `api_integration_rest_medium.yml` - **Step 6: テンプレート参照ガイド更新** - コマンド: `source .venv/bin/activate && python scripts/extract_app_descriptions.py --dify-path dify --output docs/patterns/templates_reference.md` - 機密情報は絶対に残さない - テンプレート名は英語・アンダースコア区切り必須 3. QC(必須): - 共通QC Subagent(`qa-skill-qc`)に評価・チェックを委譲する - Subagentは最初に `./evaluation/evaluation_criteria.md` をReadし、評価指標に基づいてQCを実施する - **構文検証**: `source .venv/bin/activate && python scripts/dify_validation.py ` を実行 - チェック観点: - テンプレート品質 - 機密情報除去の完全性 - 汎用化の適切性 - カテゴリ適合性 - dify/templates/ 内の既存テンプレートとの重複 - 指摘を最小差分で反映する - 指摘に対し「修正した/しない」と理由を成果物に残す 4. バックログ反映: - テンプレート作成完了後、参照ガイド更新タスクを抽出する - 反映先・編集制約・差分提示は CLAUDE.md の全体ルールに従う subagent_policy: - 品質ループ(QC/チェック/フィードバック)は必ずサブエージェントへ委譲する - サブエージェントの指摘を反映し、反映結果(修正有無/理由)を成果物に残す - 検索を伴う情報収集(既存テンプレートとの重複チェック)はSubagentに委譲する recommended_subagents: - qa-skill-qc: 共通QC。対象Skillの ./evaluation/evaluation_criteria.md を先にReadしてからQCを開始 ## Resources - questions: ./questions/template_conversion_questions.md - assets: ./assets/conversion_output_template.md - evaluation: ./evaluation/evaluation_criteria.md - triggers: ./triggers/next_action_triggers.md - scripts: - ./scripts/dify_validation.py - ./scripts/extract_app_descriptions.py ## Next Action - triggers: ./triggers/next_action_triggers.md 起動条件に従い、条件を満たすSkillを自動実行する。 ## Error Handling - sensitive_data_detected: APIキー・認証情報を検索、プレースホルダ(`{{YOUR_XXX}}`)に置換 - invalid_template_name: 英語・アンダースコア区切りに変更、`カテゴリ_機能_複雑度.yml` 形式に修正 - category_mismatch: workflow/chatflow/trigger を確認、適切なカテゴリを再選択 ## テンプレート保存先 ``` dify/templates/ ├── workflow/ │ ├── api-integration/ │ ├── data-processing/ │ ├── document-generation/ │ ├── notification/ │ ├── scheduling/ │ └── analysis/ ├── chatflow/ │ ├── customer-support/ │ ├── faq-assistant/ │ ├── document-qa/ │ ├── creative-writing/ │ └── data-inquiry/ └── trigger/ ├── webhook/ ├── slack/ └── schedule/ ``` ## テンプレートからフロー作成の逆操作 1. テンプレートをプロジェクトフォルダにコピー 2. プレースホルダ(`{{YOUR_XXX}}`)を実際の値に置換 3. app.name, app.description をプロジェクト用に更新 4. 必要に応じてノードを追加・削除 5. dify_validation.py で検証 6. Difyにインポート