--- name: proposal-builder-orchestrator description: RFP 문서와 PowerPoint 디자인 템플릿을 읽어 제안서를 자동 완성하는 오케스트레이터. rfp-analyst·strategist·tech-advisor(아키텍처 전문가 총동원)·writer·visual-designer·deck-designer·qa 팀이 요구사항 분석→수주전략→기술/아키텍처 설계→본문→비주얼/선아이콘→템플릿 기반 PPTX→규격 검증을 파이프라인으로 처리한다. "제안서 작성", "RFP 분석", "제안서 만들어줘", "PPT 제안서", "수주 제안", "기술 제안서", "구축/유지보수 제안", "나라장터 제안", "다시 실행", "특정 섹션만", "업데이트", "보완" 요청 시 반드시 이 스킬을 사용하라. --- # 제안서 자동완성 오케스트레이터 **목표:** RFP + 디자인 템플릿을 입력받아, 평가에서 이기는 제안서(본문 + 디자인 PPTX)를 완성한다. 주력은 **시스템 구축(SI)·유지보수(SM)** 제안. 디자인·기술 아키텍처가 승부처. ## ★ 지휘 원칙 (필수) 사용자가 **"제안서를 작성해줘"** 라고만 해도 — 즉 한 마디 요청만으로도 — 이 오케스트레이터가 **반드시 전 전문가를 총동원해 지휘**한다. 사용자가 단계를 일일이 지시하지 않는다. - 오케스트레이터(이 스킬을 실행하는 메인)가 **총지휘자**다. 7인 전문가(rfp-analyst·strategist·tech-advisor·writer·visual-designer·deck-designer·qa)를 Phase 순서대로 spawn·조율하고, tech-advisor를 통해 **아키텍처 전문가 풀까지 소집**한다. - **단일 에이전트로 끝내지 않는다.** "제안서 작성"은 항상 전 파이프라인(Phase1~6) 실행이 기본. 부분 요청("기술 섹션만")일 때만 해당 Phase로 한정. - 각 전문가는 `model:opus`로 spawn, 산출물은 `_workspace/`에 파일로 공유, 오케스트레이터가 진행을 모니터링하고 결과를 종합한다. - 입력(RFP·템플릿)만 확인하면 즉시 착수 — 사용자에게 단계 승인을 매번 받지 않는다(누락 입력만 요청). **실행 모드:** 하이브리드 - Phase1 분석(단일) → Phase2 전략(단일) → Phase3 기술·아키텍처 **총동원**(에이전트 팀, 전문가 병렬 소집) → Phase4 본문+비주얼(병렬) → Phase5 PPTX 생성(단일) → Phase6 QA(점진) ## 전문가 팀 (7 + 동원 풀) rfp-analyst · proposal-strategist · **proposal-tech-advisor(아키텍처 허브)** · proposal-writer · proposal-visual-designer · deck-designer · proposal-qa + tech-advisor가 소집하는 **아키텍처 전문가 풀**(architect·backend/frontend/db·pipeline·cloud·security·observability·legacy·capacity·ai-architect·rag 등 — RFP 주제별). ## Phase 0: 컨텍스트 확인 / 입력 수집 ``` _workspace/rfp_analysis.md 존재 + 특정 섹션만 → 해당 단계만 재실행 존재 + 전체 재실행 → _workspace_prev/ 이동 후 새 실행 미존재 → 초기 실행 ``` 필수 입력 확인: ① RFP 문서(경로/텍스트) ② **PPT 디자인 템플릿(PPTX)** ③ 발주처/사업명. 누락 시 사용자에게 요청(HWP는 텍스트 변환 요청, 외부 업로드 금지). ## Phase 1: RFP 분석 (단일) **rfp-analyst** — 과업·요구사항(REQ-ID)·평가배점·제출규격·일정/자격 추출 + **RTM**. 산출 `rfp_analysis.md`·`rtm.md`. 결과를 사용자에게 요약 보고. ## Phase 2: 수주 전략·목차 (단일) **proposal-strategist** — win theme·평가항목 대응·배점가중 목차·그래픽 기획. 산출 `proposal_strategy.md`·`proposal_outline.md`. ## Phase 3: 기술·아키텍처 총동원 (에이전트 팀, 병렬 소집) **proposal-tech-advisor**가 허브. RFP 기술 주제에 맞는 **아키텍처 전문가를 빠짐없이 병렬 소집**(`Agent` run_in_background, 각 `model:opus`): ``` 주제 매핑(tech-advisor 정의 표)대로 소집 — 예: architect·backend-architect·frontend-architect·db-designer (종합/앱/DB) pipeline-architect·idp-dev·cloud-container-dev·multicloud-dev (인프라/CICD) security-auth-dev·ztna-sbom-dev·supply-chain-dev (보안) observability-platform-dev·agentic-aiops-dev·legacy-modernization-dev·capacity-planner-dev (운영/이행/용량) ai-architect·rag-architect (AI/RAG) → tech-advisor가 각 설계 단편을 상충 조정·표준 정렬·단일 목표 아키텍처로 종합 ``` 산출 `tech_advisory.md`(아키텍처·스택·통합·비기능·WBS/공수·SM운영/SLA/장애대응) + 아키텍처 도식 기획. **관련 주제 전문가 누락 0.** ## Phase 4: 본문 + 비주얼 (에이전트 팀, 병렬) - **proposal-writer** — tech_advisory + 전략 목차 + RTM으로 섹션 본문(`proposal_content.md`)·도표요청. - **proposal-visual-designer** — 디자인 시스템(`design_system.md`)·**선(line/stroke) 아이콘 직접 제작**(`assets/icons/*.svg`)·도식 시각 컨셉(`visual_concepts.md`). 템플릿 있으면 그 테마를 상위 제약으로. ## Phase 5: 템플릿 기반 PPTX 생성 (단일) **deck-designer** — 템플릿 PPTX 해부(`template_spec.md`) + visual-designer 디자인 시스템·선아이콘 + writer 본문 → python-pptx로 `proposal.pptx` 생성(추진체계도·아키텍처·WBS·조직도·기대효과 도식 포함, 재생성 스크립트 `build_deck.py`). python-pptx 미설치 시 설치 안내. ## Phase 6: 규격·요구 준수 QA (점진) **proposal-qa** — RTM 100% 충족·평가배점 대응·제출규격(분량/목차/서식)·감점/실격 요건·일관성·보안. 섹션/슬라이드 완성 직후 점진 검증, 미충족 반려. 산출 `proposal_qa.md` + 최종 승인. ## 에러 핸들링 | 상황 | 대응 | |------|------| | RFP 형식(HWP) 못 읽음 | 텍스트 변환 요청(외부 업로드 금지) | | 템플릿 PPTX 미제공 | 요청 또는 디자인 시스템 기반 중립 마스터 | | python-pptx 미설치 | `pip install python-pptx` 안내 | | RTM 요구 누락 | qa가 REQ-ID 지목→writer/tech-advisor 보완(통과 전제) | | 규격 위반(분량/목차) | 실격 위험 — 최우선 반려·수정 | | 아키텍처 주제 전문가 누락 | tech-advisor가 추가 소집 | | 외부 API/자격증명 노출 | 즉시 차단(불변 보안 규칙) | ## 테스트 시나리오 **정상:** ①"이 RFP랑 템플릿으로 구축 제안서 만들어줘"→Phase1~6 ②"기술 아키텍처 섹션만 다시"→Phase3 재실행 ③"디자인/아이콘 다시"→visual-designer+deck-designer **에러:** ①템플릿 없음→디자인 시스템 기반 생성+안내 ②RTM 3개 미반영→qa 반려·writer 보완 후 통과 ## 산출물 `proposal_analysis·rtm·strategy·outline·tech_advisory·content·design_system·assets/icons·visual_concepts·template_spec·proposal.pptx·build_deck.py·proposal_qa` — 중간물은 `_workspace/`, 최종 `proposal.pptx`(+본문)는 사용자 지정 경로.