# prompt-code-extraction > DifyのWorkflow/Chatflow YAMLから、ハンズオン用にLLMノードのプロンプトとコードノードのコードを抽出し、Markdown/TXTに整形して保存します。YAMLファイルからLLMノードのプロンプトとコードノードのコードを抽出し、Markdown/TXT形式で整形して保存します。抽出スクリプト(extract_prompts_and_code.py)を使用してYAMLからLLM/コードノードを抽出し、指定された出力形式(MD/TXT)で指定ディレクトリに保存します。ハンズオンやドキュメント作成時に必要なプロンプトとコードを効率的に取得し、再利用可能な形式で提供します。 - 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~prompt-code-extraction:20260123002259 --- --- name: prompt-code-extraction description: "DifyのWorkflow/Chatflow YAMLから、ハンズオン用にLLMノードのプロンプトとコードノードのコードを抽出し、Markdown/TXTに整形して保存します。YAMLファイルからLLMノードのプロンプトとコードノードのコードを抽出し、Markdown/TXT形式で整形して保存します。抽出スクリプト(extract_prompts_and_code.py)を使用してYAMLからLLM/コードノードを抽出し、指定された出力形式(MD/TXT)で指定ディレクトリに保存します。ハンズオンやドキュメント作成時に必要なプロンプトとコードを効率的に取得し、再利用可能な形式で提供します。" --- # プロンプト・コード抽出 Workflow ## Instructions 1. Preflight: - `./questions/extraction_questions.md` で抽出対象・出力形式を確認する - 対象YAMLファイルのパスを確認する - 出力形式(MD/TXT)と保存先ディレクトリを確認する - 依頼文に記載された参照資料を全て読み込む - 確認できなかった資料は「未参照一覧」として記録する 2. 生成: - **Step 1: YAML解析** - 対象ファイルを読み込み - ノード構造を解析 - LLMノード・コードノードを特定 - **Step 2: プロンプト抽出** - LLMノードからプロンプトテキストを抽出 - システムプロンプト・ユーザープロンプトを分離 - 変数参照を保持 - **Step 3: コード抽出** - コードノードからソースコードを抽出 - 言語情報を保持 - 依存関係・インポートを記録 - **Step 4: 整形・保存** - 抽出コマンド: `source .venv/bin/activate && python scripts/extract_prompts_and_code.py {yaml_file} --format {format} --outdir {out_dir}` - ノードIDとタイトルを対応付け - Markdown/TXT形式で出力 - 元YAMLファイルは変更しない(読み取り専用) - 出力形式はMD/TXTのみ対応 - 機密情報を含む可能性があるため取り扱い注意 3. QC(必須): - 共通QC Subagent(`qa-skill-qc`)に評価・チェックを委譲する - Subagentは最初に `./evaluation/evaluation_criteria.md` をReadし、評価指標に基づいてQCを実施する - チェック観点: - 抽出結果の完全性(全LLM/コードノードが含まれているか) - フォーマット整合性(MD/TXT形式準拠) - ノードIDとの対応付けの正確性 - 指摘を最小差分で反映する - 指摘に対し「修正した/しない」と理由を成果物に残す 4. バックログ反映: - 抽出完了後、次アクション(ハンズオン資料作成・ドキュメント化等)を抽出する - 反映先・編集制約・差分提示は CLAUDE.md の全体ルールに従う subagent_policy: - 品質ループ(QC/チェック/フィードバック)は必ずサブエージェントへ委譲する - サブエージェントの指摘を反映し、反映結果(修正有無/理由)を成果物に残す - 複数YAMLからの並列抽出はSubagentに委譲 recommended_subagents: - qa-skill-qc: 共通QC。対象Skillの ./evaluation/evaluation_criteria.md を先にReadしてからQCを開始 ## Resources - questions: ./questions/extraction_questions.md - assets: ./assets/extraction_output_template.md - evaluation: ./evaluation/evaluation_criteria.md - triggers: ./triggers/next_action_triggers.md - scripts: ./scripts/extract_prompts_and_code.py ## Next Action - triggers: ./triggers/next_action_triggers.md 起動条件に従い、条件を満たすSkillを自動実行する。 ## Error Handling - yaml_parse_error: ファイルパスを確認、YAML構文をチェック - no_nodes_found: フロー構造を確認、対象ノードタイプを確認 - output_write_error: 出力先ディレクトリの権限を確認、ディスク容量を確認 ## Subagent Execution このSkillはサブエージェントとして独立実行可能。 - サブエージェント: `agents/prompt-code-extractor.md` - 用途: 複数YAMLからの並列プロンプト/コード抽出 - 入力: 対象YAMLファイルパス、出力形式(MD/TXT)、出力先ディレクトリ - 出力: 抽出されたプロンプト・コードのMarkdown/TXTファイル ## 抽出コマンド ```bash # 基本抽出(Markdown形式) source .venv/bin/activate && python scripts/extract_prompts_and_code.py --format md --outdir <出力先> # TXT形式で抽出 source .venv/bin/activate && python scripts/extract_prompts_and_code.py --format txt --outdir <出力先> ```