--- name: kccf-orchestrate description: "KCCF 프로젝트 개발 전체 워크플로우를 조율하는 오케스트레이터. 신규 기능 개발, 화면 추가, 버그 수정, 코드 리뷰, 보안 점검 등 KCCF 관련 모든 개발 작업 요청 시 이 스킬을 사용한다. 'KCCF', 'kccf', '사업', '활동', '지방문화원', '게시판', '화면', '모듈', '기능 추가', '버그 수정', '수정', '개발' 키워드 포함 시 항상 이 스킬로 진입. 다시 실행, 재실행, 수정, 보완, 업데이트 요청도 포함." --- # KCCF 개발 오케스트레이터 ## 프로젝트 개요 - **시스템:** KCCF 문화예술 사업 관리 시스템 - **경로:** `D:\tools\total_dev\eGovFrameDev-4.1.0-64bit_06_kccf\workspace\kccf` - **스택:** eGovFramework 4.0.0 + Spring 5.3.6 + MyBatis + JSP/Tiles - **도메인:** bsns(사업) - act(활동) - lcltt(지방문화원) - bbs(게시판) - auth(권한) ## Phase 0: 컨텍스트 확인 시작 시 `_workspace/` 존재 여부 확인: - **없음** → 초기 실행 (Phase 1부터) - **있음 + 부분 재실행 요청** → 해당 Phase만 재실행 - **있음 + 새 요청** → `_workspace/`를 `_workspace_prev/`로 이동 후 새 실행 ## Phase 1: 요청 분류 요청 유형을 판단하여 실행 경로를 선택한다: | 요청 유형 | 실행 경로 | |----------|----------| | 신규 CRUD 모듈 | Phase 2 → 3 → 4 (전체) | | 기존 화면/기능 수정 | 분석 축약 → 해당 파일만 수정 | | 버그 수정 | 오류 파악 → 단일 파일 수정 | | 쿼리/Mapper 작업 | mybatis-mapper 스킬 직접 호출 | | 보안 검토 | kccf-security-check 스킬 직접 호출 | | 단순 질문 | 직접 답변 (에이전트 불필요) | ## Phase 2: 분석 (kccf-analyst) Agent(kccf-analyst, model="opus")에게 요청: - 요구사항 텍스트 전달 - 유사 기존 모듈 파악 지시 - 출력: `_workspace/01_analyst_design.md` ## Phase 3: 개발 (병렬 팀) `_workspace/01_analyst_design.md` 기반으로 병렬 실행: **kccf-backend** (model="opus"): - VO → DAO → Service → Controller → Mapper XML 순서로 생성 - 출력: `_workspace/02_backend_result.md` **kccf-frontend** (model="opus"): - 백엔드 완료 후 또는 병렬로 JSP 화면 생성 - 출력: `_workspace/03_frontend_result.md` ## Phase 4: 리뷰 (kccf-reviewer) Agent(kccf-reviewer, model="opus")에게 요청: - 생성 파일 목록 전달 (`_workspace/02_backend_result.md`, `_workspace/03_frontend_result.md`) - 필수 수정 항목은 즉시 Edit 적용 - 출력: `_workspace/04_review_result.md` ## 완료 보고 형식 ``` ## 작업 완료 ### 생성/수정 파일 - [경로] 역할 ### 리뷰 결과 - 수정 항목: N건 (처리 완료) ### 다음 단계 (필요 시) - 빌드 확인: mvn compile - 서버 재시작 후 URL 접속 확인 ``` ## 데이터 전달 규칙 - 에이전트 간 중간 산출물: `_workspace/` 폴더 - 파일명: `{phase번호}_{에이전트}_{산출물}.md` - 최종 파일: 실제 프로젝트 경로에 직접 Write ## 에러 핸들링 - 에이전트 실패 시: 해당 Phase 1회 재시도, 재실패 시 현재까지 결과 보고 후 사용자에게 확인 - 설계 명세 불명확 시: analyst가 합리적 가정을 하고 `_workspace/01_analyst_design.md`에 가정 목록 기재 - 컴파일 오류 예상 코드: `_workspace/02_backend_result.md`에 "주의" 섹션으로 명시 ## 에이전트 팀 구성 ``` 오케스트레이터 ├── Phase 2: kccf-analyst (서브 에이전트) ├── Phase 3: kccf-backend + kccf-frontend (병렬 팀) └── Phase 4: kccf-reviewer (서브 에이전트) ``` ## 테스트 시나리오 **정상 흐름:** 1. "회원 포인트 적립 이력 관리 화면 만들어줘" 2. analyst → 도메인 설계 (point 모듈) 3. backend → VO/DAO/Service/Controller/Mapper 생성 4. frontend → list/regist JSP 생성 5. reviewer → 보안/패턴 검토 **에러 흐름:** - "bsnsListPage 클릭 시 500 에러" → Phase 1 분류: 버그 수정 → analyst 없이: BsnsController, BsnsService, Mapper XML 직접 읽기 → 오류 원인 파악 후 해당 파일만 Edit