# dsl-generate > Dify Workflow DSL 자동생성 (STEP 2) - Author: hiondal - Repository: cna-bootcamp/aistudy - Version: 20260208091234 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-08 - Source: https://github.com/cna-bootcamp/aistudy - Web: https://mule.run/skillshub/@@cna-bootcamp/aistudy~dsl-generate:20260208091234 --- --- name: dsl-generate description: Dify Workflow DSL 자동생성 (STEP 2) user-invocable: true --- # DSL Generate [ABRA DSL-GENERATE 활성화] — STEP 2: Dify DSL 자동생성 ## 개요 시나리오 문서를 입력받아 Dify에서 즉시 import 가능한 Workflow DSL(YAML) 파일을 자동생성하는 수행자 스킬. ## 활성화 조건 - `/abra:dsl-generate` 호출 시 - "DSL 생성", "워크플로우 DSL" 키워드 감지 시 - orchestrate 스킬에서 STEP 2 위임 시 ## 워크플로우 ### 1. 입력 확인 - `scenario.md` 파일 존재 여부 확인 - 없으면 사용자에게 STEP 1 실행 안내 ### 2. DSL 생성 위임 `dsl-architect` 에이전트에 위임: - scenario.md 내용 전달 - `agents/dsl-architect/references/dsl-generation-prompt.md` 프롬프트 템플릿 적용 - `agents/dsl-architect/references/dify-workflow-dsl-guide.md` DSL 작성 가이드 참조 - 노드 설계, 엣지 연결, 변수/파라미터 설정, 프롬프트 템플릿 생성 ### 3. DSL 사전 검증 생성된 DSL을 `validate_dsl.py`로 문법·구조 검증: ```bash python gateway/tools/validate_dsl.py {yaml_file} ``` - PASS → 다음 단계 진행 - FAIL → 오류 항목 기반으로 DSL 수정 → 재검증 (최대 3회 반복) ### 4. 저장 DSL 파일을 `{project}/{app-name}.dsl.yaml`로 저장 ### 5. 구조 설명 DSL 구조 설명서 출력 (노드 목록, 연결 관계, 변수 요약) ## 에이전트 위임 ``` Task(subagent_type="abra:dsl-architect", prompt=" TASK: 시나리오를 분석하여 Dify Workflow DSL 생성 EXPECTED OUTCOME: Dify import 가능한 YAML DSL 파일 MUST DO: dsl-generation-prompt.md 템플릿 적용, dify-workflow-dsl-guide.md 참조 MUST NOT DO: 사용자에게 직접 질문하지 않음, DSL 외 코드 생성하지 않음 CONTEXT: scenario.md={시나리오 내용} ") ``` ## 출력 형식 ``` DSL 생성 완료 파일: {project}/{app-name}.dsl.yaml 검증: PASS (validate_dsl.py) 노드 구성: | # | 노드 타입 | 제목 | 설명 | |---|----------|------|------| | 1 | start | 시작 | 입력 변수 정의 | | ... | ... | ... | ... | ``` ## MUST NOT DO - 다른 파일 수정하지 않음 - DSL을 직접 생성하지 않음 (반드시 dsl-architect에 위임)