# task-421: dispatch.py 확장 — 마케팅/컨설팅 팀 타입 추가

## 목표
dispatch.py와 team_prompts.py를 확장하여 `--team marketing`과 `--team consulting`을 지원한다.
기존 봇(B/C/D)을 재활용하되, 역할별 프롬프트를 분리하여 마케팅/컨설팅 모드로 전환 실행한다.

## 현재 구조
- `dispatch.py` — 아누→팀장 위임 (cokacdir --cron)
- `prompts/team_prompts.py` — 팀 유형별 프롬프트 생성
  - 현재 지원: dev1-team, dev2-team, dev3-team

## 변경 사항

### 1. dispatch.py
- `--team` 선택지에 `marketing`, `consulting` 추가
- 마케팅/컨설팅은 **가용 봇 자동 선택** 로직 추가:
  - task-timers.json에서 running 상태인 팀 확인
  - dev1이 비면 봇B, dev2가 비면 봇C, 둘 다 바쁘면 봇D
  - 모두 바쁘면 에러 + "모든 봇이 작업 중입니다" 메시지
- 봇 키 매핑: 마케팅/컨설팅은 별도 봇 키가 아닌, 선택된 봇의 키 사용
- task-timer start 호출 시 team 필드에 `marketing` 또는 `consulting` 기록

### 2. prompts/team_prompts.py

#### 마케팅 프롬프트 (`_build_marketing_prompt()`)
```
당신은 마케팅 팀장입니다. 다음 마케팅 작업을 수행하세요.

## 팀원 (Task tool 서브에이전트)
- 아폴론 (Apollo): 콘텐츠 크리에이터 (model: haiku) — 블로그, SNS 포스트, 카드뉴스
- 페이토 (Peitho): 카피라이터 (model: haiku) — 헤드라인, CTA, 광고 카피, SEO 메타

## 사용 가능 스킬
- content-strategy: 콘텐츠 전략 수립
- copywriting: 카피라이팅
- seo-audit: SEO 감사
- programmatic-seo: 대량 SEO 페이지
- marketing-psychology: 마케팅 심리학
- pricing-strategy: 가격 전략

## 브랜드 정보
- SNS 활동명 (보험): 서울대보험쌤
- SNS 활동명 (연금): 서울대연금쌤
- 톤앤매너: 전문적이되 친근, 어려운 보험을 쉽게 설명

## 워크플로우
1. 작업 내용 분석
2. 적절한 팀원에게 Task tool로 위임 (model: haiku)
3. 결과물 품질 검수
4. 완료 후 보고
```

#### 컨설팅 프롬프트 (`_build_consulting_prompt()`)
```
당신은 컨설팅 팀장입니다. 보험 컨설팅 관련 작업을 수행하세요.

## 팀원 (Task tool 서브에이전트)
- 아스클레피오스 (Asclepius): 보장분석/진단 (model: haiku) — 보장 갭 분석, 보험료 비교, 리밸런싱
- 테미스 (Themis): 약관비교/규정 검토 (model: haiku) — 약관 조항 비교, 컴플라이언스

## 사용 가능 스킬
- pdf: PDF 처리 (보험 증권 분석)
- supabase-postgres-best-practices: DB 쿼리 (InsuRo 데이터)

## 워크플로우
1. 작업 내용 분석 (보장분석? 약관비교? 레포트?)
2. 적절한 팀원에게 Task tool로 위임 (model: haiku)
3. 결과물 정확성 검증
4. 완료 후 보고
```

### 3. 봇 선택 로직 (신규 함수)
```python
def _find_available_bot() -> str:
    """task-timers.json에서 running 상태 확인 후 가용 봇 반환"""
    # dev1-team running → 봇B 사용 중
    # dev2-team running → 봇C 사용 중
    # dev3-team running → 봇D 사용 중
    # marketing/consulting running → 해당 봇 사용 중
    # 가용 봇 반환 (우선순위: 봇B > 봇C > 봇D)
```

### 4. 메타데이터 추가
task-timers.json에 기록 시 추가 필드:
- `role`: "dev1" | "dev2" | "dev3" | "marketing" | "consulting"
- `bot`: "bot-b" | "bot-c" | "bot-d"
(대시보드에서 "봇B가 지금 마케팅 모드" 표시에 활용)

## 기존 파일 참조
- dispatch.py: `/home/jay/workspace/dispatch.py`
- team_prompts.py: `/home/jay/workspace/prompts/team_prompts.py`
- task-timers.json: `/home/jay/workspace/memory/task-timers.json`
- organization-structure.json: `/home/jay/workspace/memory/organization-structure.json` (v3.0)
- .env.keys: `/home/jay/workspace/.env.keys` (봇 키)

## 테스트 시나리오
1. `python3 dispatch.py --team marketing --task-file test.md` → 가용 봇 선택, 마케팅 프롬프트 생성
2. `python3 dispatch.py --team consulting --task-file test.md` → 가용 봇 선택, 컨설팅 프롬프트 생성
3. 모든 봇 사용 중일 때 → 적절한 에러 메시지
4. task-timers.json에 role/bot 메타데이터 정상 기록
5. 기존 dev1/dev2/dev3 위임은 변경 없이 동작

## 완료 조건
1. `--team marketing` / `--team consulting` 정상 동작
2. 가용 봇 자동 선택 로직 동작
3. 마케팅/컨설팅 프롬프트에 팀원(Haiku) + 스킬 목록 포함
4. task-timers.json에 role/bot 메타데이터 기록
5. 기존 기능 호환성 유지
6. 테스트 전체 PASS