| name | book-proposal-planning |
| description | 책 저술 기획을 위한 멀티 에이전트 오케스트레이터. 초기 아이디어(한 문장, 한 문단, 막연한 주제 어느 것이든)를 받아 4라운드 수렴 사이클로 "출판사 제출 가능 수준의 저술 기획안 초안"을 산출한다. 7개 전문 에이전트(컨셉/페르소나/시장/구조/리서치/비평/통합)를 팀으로 조율. 트리거 조건 — 사용자가 "책 기획", "저술 기획", "출판 기획", "책 구상", "도서 기획안", "책 프로포절", "목차 설계", "책 아이디어 정리", "책 컨셉 잡기", "책 주제로 뭐가 좋을까", "페르소나 설계", "경쟁 도서 분석" 등을 언급하면 반드시 사용. 또한 "기획안 다시", "재실행", "비평 다시 받아줘", "특정 챕터만 재설계", "이전 결과 기반으로 보완" 같은 후속 요청에도 이 스킬을 사용. 단순 개념 질문(예: "책 기획이 뭔가요")에는 사용하지 않음. |
Book Proposal Planning Orchestrator
핵심 원칙
책 기획은 "발산 → 수렴 → 비평 → 통합"의 반복 사이클이다. 단일 에이전트가 한 번에 만들면 관점 편향이 생기므로, 서로 다른 관점을 가진 7명의 전문 에이전트를 4라운드에 걸쳐 가동하고 비평-반송 루프로 품질을 끌어올린다.
Phase 0: 컨텍스트 확인 (실행 모드 판별)
작업 디렉토리 하위의 _workspace/ 존재 여부를 확인하여 실행 모드를 결정한다.
_workspace/ 미존재 → 초기 실행. 전체 4라운드를 수행.
_workspace/ 존재 + 사용자가 부분 수정 요청 ("3장만 다시", "페르소나 재설계") → 부분 재실행. 해당 에이전트만 재호출하고 하위 라운드만 연쇄 갱신.
_workspace/ 존재 + 사용자가 새 아이디어 제공 → 새 실행. 기존 _workspace/를 _workspace_prev_{timestamp}/로 이동 후 초기 실행.
Phase 1: 실행 모드 선택
기본: 에이전트 팀 모드.
TeamCreate로 book-planning-team 팀을 구성하고 7개 에이전트를 팀원으로 등록.
TaskCreate로 라운드별 작업을 할당하고, 에이전트 간 SendMessage로 실시간 조율.
- 산출물은
_workspace/ 파일로 저장하여 감사 추적 보장.
- 모든 Agent 호출 시
model: "opus" 파라미터 명시.
Phase 2: 라운드 실행
Round 1 — 발산 (단일 에이전트)
concept-strategist를 호출해 초기 아이디어를 보수/중도/과감 3분기로 확장.
- 기본값으로 중도안 채택. 사용자가 명시적 방향을 언급했으면 그 방향.
- 산출물:
_workspace/01_concept_strategist.md
- 라운드 종료 보고: "R1 완료, 완성도 ~20%. 다음 R2에서 페르소나와 시장을 병렬 확정."
Round 2 — 병렬 탐색 (팬아웃)
reader-persona-expert와 market-analyst를 병렬 호출(run_in_background: true 또는 팀 내 동시 Task 할당).
- 두 산출물이 모두 도착하면, 상충점을
concept-strategist에게 보내 재조정 요청. 상충이 없으면 그대로 진행.
- 산출물:
_workspace/02_reader_persona.md, _workspace/03_market_analysis.md
- 라운드 종료 보고: "R2 완료, 완성도 ~45%. 다음 R3에서 목차와 근거를 확정."
Round 3 — 구조화 + 근거 확보 (파이프라인)
structure-architect를 호출해 목차 v1 작성 → 증거 요청 목록을 생성.
content-researcher를 호출해 증거 요청 목록 기반 근거 수집.
- 증거가 빈약한 챕터는
structure-architect에게 반송해 재설계. 최대 2회 반복, 그 이상은 해당 챕터 축소/삭제.
- 산출물:
_workspace/04_structure.md, _workspace/05_evidence_bank.md
- 라운드 종료 보고: "R3 완료, 완성도 ~70%. 다음 R4에서 비평 후 통합."
Round 4 — 비평 & 통합 (생성-검증 + 반복)
editorial-critic을 호출해 R1~R3 산출물 전체를 비평. must_fix와 nice_to_fix 분류.
must_fix가 1개 이상이면 각 이슈의 반송 대상 에이전트에게 SendMessage로 반송. 수정본을 받아 재비평.
- 반복 상한: 3회. 그 이상이면 해결 불가 이슈로 분류하고
lead-editor에게 "남은 리스크"로 노출 지시.
must_fix가 0이 되면(또는 상한 도달) lead-editor를 호출해 통합 초안 생성.
lead-editor는 품질 게이트 6개를 모두 체크. 미달 항목이 있으면 _workspace/07_gate_report.md에 기록하고 오케스트레이터에게 반송 신호.
- 게이트 통과 시 최종 산출물을 사용자 지정 경로(기본
book_proposal_draft.md)에 저장.
- 라운드 종료 보고: "R4 완료, 완성도 ~95%. 초안 제출."
Phase 3: 데이터 전달 프로토콜
- 파일 기반 (주): 모든 중간 산출물은
_workspace/{번호}_{에이전트}.md 형식으로 저장. 파일은 보존(감사 추적).
- 메시지 기반: 에이전트 간 실시간 조율(상충 재조정, 반송 요청)은
SendMessage.
- 태스크 기반: 라운드별 작업 의존성과 진행 추적은
TaskCreate / TaskUpdate.
Phase 4: 에러 핸들링
| 에러 유형 | 대응 |
|---|
| 에이전트 응답 실패 | 1회 재시도. 재실패 시 해당 산출물 없이 진행하고 Lead Editor가 "누락" 플래그. |
| 비평 반복 상한 초과 | 해결 불가 이슈로 분류, Lead Editor가 "남은 리스크"에 공개. 덮지 않음. |
| 품질 게이트 미달 | 미달 항목이 해결 가능하면 해당 에이전트 재호출. 불가능하면 사용자에게 에스컬레이션. |
| 입력 누락 | 초안 작성 중단. 침묵 금지, 사용자에게 보고. |
Phase 5: 라운드별 보고 규칙
각 라운드 종료 시 사용자에게 다음을 한 줄로 보고한다:
[R{N} 완료] 완성도 ~X% | 다음 라운드에서 결정될 것: ...
사용자가 중간에 특정 에이전트 산출물을 반려하면, 해당 에이전트만 재호출하고 하위 라운드를 연쇄 갱신한다.
품질 게이트 (Lead Editor 제출 전 필수 통과)
최종 산출물 포맷
# [가제]
## 1. 한 줄 소개 (Logline)
## 2. 기획 의도 / 핵심 약속
## 3. 타겟 독자 및 독자 여정
## 4. 시장 분석 및 포지셔닝
## 5. 차별화 포인트 (USP)
## 6. 목차 (챕터별 핵심 질문 / 주장 / Takeaway / 예상 분량)
## 7. 핵심 근거·사례 뱅크
## 8. 예상 판형·분량·집필 일정
## 9. 남은 리스크 및 추가 검증 필요 항목
---
## 부록: 편집 결정 로그
상호작용 규칙
- 사용자의 초기 입력이 1문장이어도 즉시 R1 시작. 질문을 앞세우지 말 것.
- 한국어 도서 기획이면 한국 출판 시장 맥락(교보/예스24 카테고리, 국내 유사 도서) 우선.
- 사용자가 "빠른 버전"을 요청하면 R4의 반복 상한을 1회로 낮추고 품질 게이트를 통과 보고와 함께 완화. 단, 완화 사실을 초안 말미에 명시.
테스트 시나리오
정상 흐름
입력: "AI 시대에 지식노동자의 정체성이 어떻게 바뀌는지 다루는 책을 쓰고 싶어"
기대 동작:
- R1: concept-strategist가 3분기(보수: AI 활용 가이드 / 중도: 지식노동의 재정의 / 과감: 노동 개념 자체의 해체) 생성, 중도 채택.
- R2: 페르소나(중간 관리자 + 시니어 IC 두 층) + 시장 분석(국내 유사 도서 5권, 포지셔닝 맵) 병렬.
- R3: 목차 12장 + 챕터별 증거 수집, 3장(자동화 실증 데이터 빈약)은 축소.
- R4: 비평가가 "로그라인이 '또 하나의 AI 책'처럼 읽힘" must_fix, concept-strategist에게 반송 → 수정 후 통합 초안 생성.
에러 흐름
입력: "어... 책을 쓸까 생각중" (너무 모호)
기대 동작:
- R1: concept-strategist가 "입력이 너무 모호함 — 3가지 가정"을 플래그와 함께 생성.
- 오케스트레이터가 사용자에게 한 번만 확인 요청 ("이 중 어떤 방향인가요?"). 응답 없으면 중도안으로 진행하고 최종 초안 "남은 리스크"에 "초기 아이디어가 모호해 저자 확인 필요" 명시.
재실행 지침
_workspace/ 존재 + 부분 수정 요청: 해당 에이전트만 재호출, 그 이후 라운드 연쇄 갱신 (예: 페르소나 수정 → R3/R4 재실행).
- 사용자 피드백이 있는 경우 해당 에이전트의 재호출 시 피드백 전문을
SendMessage로 전달.
- 전체 재실행 시
_workspace/를 _workspace_prev_{timestamp}/로 이동.