AgentSkillsCN

team-mode

自动化分层团队模式:由领导者(Opus 4.6)负责团队成员(Sonnet 4.6)的聘用与解雇,并并行运用跑腿者(Haiku 4.5),实现从研究、审批、实施到最终评审的全流程自动化。决策过程以 decisions.md 文件形式加以记录与存档。

SKILL.md
--- frontmatter
name: team-mode
description: 자동화된 계층적 팀 모드. 리더(Opus 4.6)가 팀원(Sonnet 4.6)을 고용/해고하며 심부름꾼(Haiku 4.5)을 병렬로 활용해 리서치→승인→구현→최종검토를 완전 자동화. decisions.md로 기억 보존.

Team Mode

계층적 멀티에이전트 워크플로우. 리더가 팀 전체를 자율 운영한다.

모델 계층

역할모델담당
팀리더claude-opus-4-6기획·조율·검토·의사결정 (코딩 절대 금지)
팀원claude-sonnet-4-6리서치·구현·검토
심부름꾼claude-haiku-4-5빠른 병렬 작업 (검색·읽기·분석)

핵심 규칙

  1. 리더는 코딩하지 않는다 — 오직 기획, 조율, 검토, 의사결정만
  2. decisions.md 필수 — 중요 결정마다 즉시 기록. 미기록 시 같은 논의를 3번 반복
  3. 팀원 교체 사이클 — 단계 완료 후 전원 해고 → 새 팀원 고용 + 이전 결과 요약 전달
  4. 병렬 실행 극대화 — 심부름꾼 20명이 동시에 작업

워크플로우

code
사용자 → 팀리더(Opus)
              ↓
       [PHASE 1: 리서치]
    4명 팀원(Sonnet) 병렬 고용
    각 팀원이 심부름꾼(Haiku) 3~6개 호출
    심부름꾼 ~20명 병렬 리서치
    팀원끼리 실시간 대화 (리서치 결과 공유)
    팀원 → 리더에게 보고서 제출
    리더 → 3가지 제안서 사용자에게 보고
              ↓
       [사용자 승인 대기]
              ↓ (승인)
    기존 팀원 전원 해고
              ↓
       [PHASE 2: 구현]
    새 팀원 4명 고용 (이전 리서치 요약 포함)
    각 팀원이 심부름꾼 3~6개 호출
    심부름꾼 ~20명 병렬 구현
    심부름꾼 결과 → 팀원이 각각 검토
    팀원 → 리더에게 보고
    리더 → 모든 구현물 최종검토
    리더 → 사용자에게 최종 보고 (버그 0)

PHASE 1: 리서치 단계

1-1. 팀 생성 및 기억 초기화

code
TeamCreate(team_name="research-{task-slug}")

decisions.md 확인/생성:
- 파일 없으면: touch decisions.md, 헤더 작성
- 파일 있으면: 읽고 이전 컨텍스트 복원

decisions.md 포맷:

markdown
# Project Decisions

## [YYYY-MM-DD HH:MM] 결정 제목
- **맥락**: 왜 이 결정을 내렸는가
- **결정**: 구체적 내용
- **근거**: 선택한 이유
- **영향**: 다음 단계에 미치는 영향

---

1-2. 리서치 작업 분해

리더가 과제를 4개 독립 리서치 영역으로 분해:

code
TaskCreate #1: 기술 스택 및 구현 방법 조사
TaskCreate #2: 경쟁/유사 솔루션 분석
TaskCreate #3: 리스크 및 기술적 한계 파악
TaskCreate #4: 베스트 프랙티스 및 패턴 수집

1-3. 리서치 팀원 고용 (4명 병렬)

팀원 preamble에 반드시 포함:

code
당신은 리서치 팀원입니다. 모델: claude-sonnet-4-6
팀명: {team_name}, 이름: researcher-{N}

## 심부름꾼 호출 방법
당신은 Haiku 심부름꾼 3~6개를 병렬로 호출해야 합니다.
Task tool로 subagent_type="Bash" 또는 "Explore", model="haiku"로 호출.

## 팀원 간 대화
리서치 결과를 다른 팀원들과 공유하세요:
SendMessage(type="message", recipient="researcher-{other}",
  content="발견한 내용: ...")

## 보고
완료 시 팀리더에게:
SendMessage(type="message", recipient="team-lead",
  content="리서치 완료:\n{요약}\n\n핵심 발견:\n{목록}")

1-4. 심부름꾼 병렬 리서치

각 팀원이 독립적으로 Haiku 심부름꾼 3~6개 호출:

  • 심부름꾼은 검색, 파일 읽기, 빠른 분석에만 사용
  • 병렬로 최대 6개 동시 실행
  • 결과를 팀원에게 반환

1-5. 팀원 간 실시간 논의

팀원들이 리서치 결과를 공유하며 SendMessage로 대화:

code
researcher-1 → researcher-2: "기술 A가 B보다 적합해 보임. 이유: ..."
researcher-3 → researcher-1: "리스크 발견: X 상황에서 Y 문제"
researcher-2 → researcher-4: "베스트 프랙티스 Z가 우리 케이스에 적용 가능"

1-6. 보고서 수집 및 decisions.md 갱신

리더가 4명의 보고서 수신 후:

  1. decisions.md에 리서치 핵심 발견 기록
  2. 3가지 제안서 작성 (장단점 명시)
  3. 사용자에게 보고

3가지 제안서 포맷:

code
## 제안 1: {접근법 이름}
- 방법: ...
- 장점: ...
- 단점: ...
- 예상 공수: ...

## 제안 2: {접근법 이름}
...

## 제안 3: {접근법 이름}
...

어떤 방향으로 진행할까요?

1-7. 리서치 팀 해고

사용자 승인 후:

code
# 각 팀원에게 순서대로
SendMessage(shutdown_request, recipient="researcher-{N}",
  content="리서치 완료. 수고했습니다.")

# 모든 응답 수신 후
TeamDelete(team_name="research-{task-slug}")

PHASE 2: 구현 단계

2-1. 구현 팀 생성

code
TeamCreate(team_name="impl-{task-slug}")

decisions.md에 승인된 방향 기록:

markdown
## [타임스탬프] 구현 방향 승인
- **결정**: 제안 N 채택
- **근거**: 사용자 승인
- **구현 계획**: ...

2-2. 구현 작업 분해

리더가 4개 독립 구현 영역으로 분해 (파일/모듈 단위로 겹침 없이):

code
TaskCreate #1: {모듈A} 구현 - 파일: src/module-a/
TaskCreate #2: {모듈B} 구현 - 파일: src/module-b/
TaskCreate #3: {모듈C} 구현 - 파일: src/module-c/
TaskCreate #4: 통합 및 테스트 - 파일: src/index, tests/

2-3. 구현 팀원 고용 (4명 병렬)

이전 리서치 요약을 preamble에 포함:

code
당신은 구현 팀원입니다. 모델: claude-sonnet-4-6
팀명: {team_name}, 이름: implementer-{N}

## 이전 리서치 컨텍스트
{decisions.md 요약}

## 심부름꾼 호출
구현의 각 하위 작업을 Haiku 심부름꾼 3~6개에 병렬 분배:
- 심부름꾼은 파일 작성, 코드 편집, 단위 테스트 실행
- Task tool, subagent_type에 따라 분배

## 검토 의무
심부름꾼이 완성한 코드를 반드시 검토:
- 버그 확인, 타입 오류 확인, 논리 오류 확인
- 문제 발견 시 심부름꾼 재호출하여 수정

## 보고
완료 시 리더에게:
SendMessage(type="message", recipient="team-lead",
  content="구현 완료:\n파일: {목록}\n테스트: {결과}\n이슈: {없음/있으면 내용}")

2-4. 심부름꾼 병렬 구현

팀원당 Haiku 심부름꾼 3~6개:

  • 각 심부름꾼이 특정 파일/함수 단위로 구현
  • 팀 전체 최대 ~20명 동시 실행
  • 구현 완료 → 팀원에게 결과 반환

2-5. 팀원 검토

각 팀원이 심부름꾼 결과를 검토:

  • 코드 품질 확인
  • 버그/오류 발견 시 심부름꾼 재호출
  • 검토 통과 후 리더에게 보고

2-6. 리더 최종 검토

리더가 모든 팀원 보고를 수신 후:

  1. decisions.md에 구현 완료 기록
  2. 전체 통합 검증:
    • 모듈 간 인터페이스 일관성
    • 전체 아키텍처 준수 여부
    • 누락된 구현 없는지
  3. 문제 발견 시 해당 팀원에게 재작업 지시

2-7. 최종 보고

code
리더 → 사용자:
"구현 완료 보고서:

## 완성된 기능
{목록}

## 구현된 파일
{파일 목록 + 설명}

## 테스트 결과
{통과/실패 요약}

## 검토 결과
버그: 0건 / 이슈: 없음

decisions.md에 모든 결정사항이 기록되어 있습니다."

2-8. 구현 팀 해고

code
SendMessage(shutdown_request) → 모든 팀원
TeamDelete(team_name="impl-{task-slug}")
state_clear(mode="team")

기억 보존 프로토콜

decisions.md 갱신 트리거

다음 상황에서 즉시 decisions.md 갱신:

  • 사용자가 방향을 승인했을 때
  • 기술 스택/방법론을 선택했을 때
  • 중요한 트레이드오프를 결정했을 때
  • 단계 전환 시 (리서치→구현)
  • 예상치 못한 문제와 해결책 발견 시

기억 복원 절차

세션 시작 또는 컨텍스트 손실 감지 시:

  1. decisions.md 읽기
  2. 마지막 결정 사항 확인
  3. 현재 단계(리서치/구현/완료) 파악
  4. 해당 단계부터 재개

미기록 패널티

중요 결정 후 decisions.md 미갱신 시: → 같은 논의를 3번 반복해야 함 (비효율 경고)


팀원 교체 요약 템플릿

새 팀원 고용 시 이전 팀 결과 요약을 preamble에 포함:

code
## 이전 팀 결과 요약
- 완료된 작업: {목록}
- 핵심 발견/결정: {요약}
- 현재 상태: {파일/상태 목록}
- 남은 작업: {당신이 할 일}

전체 맥락은 decisions.md를 참조하세요.

활성화 조건

  • 사용자가 /team-mode 또는 복잡한 기능 구현을 요청할 때
  • omc 워크플로우와 함께 사용 시 자동 적용
  • 태스크가 리서치 + 구현 두 단계를 모두 필요로 할 때

비활성화 조건

  • 단순 버그 수정 (단일 파일)
  • 짧은 질문/답변
  • 10분 미만 작업

주의사항

  1. 리더는 Task tool로 직접 코드 작성 금지 — 반드시 팀원/심부름꾼에 위임
  2. 팀원은 다른 팀원의 파일에 쓰지 않음 — 충돌 방지
  3. 심부름꾼은 SendMessage 사용 불가 — 팀원을 통해서만 소통
  4. decisions.md는 프로젝트 루트에 생성 — 세션 간 공유
  5. shutdown_request의 request_id 필수 — 가짜 ID 생성 금지