3/23 ~ 3/26, 4일간의 삽질과 안착 기록
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS 환경변수 발견/docs/en/agent-teams.md)team-lead.md 에이전트 정의 작성 — Opus 모델, 50턴, PM/FE/BE/Doc 4개 에이전트 오케스트레이션teammateMode, terminalOutputMode 설정 방법 리서치~/.claude/settings.json, settings.local.json 파일 위치 파악dev-team 팀 생성 ("PRD 기반 개발팀 - tmux 테스트")team-output/ 에 technical-prd, fe-dev-spec, be-api-spec, dev-plan, final-report 생성 성공/team-dev 커맨드 구조 분석 및 정리/team-fe-sprint 커맨드 발견 — 3가지 모드(A/B/C) 5개 에이전트 타입tool_use 엔트리를 직접 파싱해야 함--filter 플래그로 특정 에이전트만 필터링fe-sprint-monitor.sh 진화 과정:
base-index=0, pane-base-index=0 강제 설정 + 동적 윈도우 인덱스 감지로 수정TERM_PROGRAM 변수로 Ghostty 확인했지만, 결국 Terminal.app 직접 호출로 단순화 (~50줄 삭제, 3줄로 교체)is_communication()) 추가fe-sprint-monitor.sh → GoosLab 스타일:
--title/-t 인자로 커스텀 패널 헤더fe-sprint(3), fe-sprint-full(4), dev-team(4)"can't find window: 0" 경고 9건 — 비치명적이라 그대로 둠fe-sprint 팀으로 KYC 리노베이션 PRD 실제 분석 수행| 카테고리 | 문제 | 해결 |
|---|---|---|
| 로그 파싱 | SubagentStart/Stop 이벤트 없음 | tool_use 엔트리에서 Agent 타입 직접 파싱 |
| Python | f-string 안에 딕셔너리 접근 시 백슬래시 에러 6건 | 값을 변수로 추출 후 f-string 사용 |
| tmux 인덱싱 | base-index 시스템마다 달라서 패인 빈칸 | base-index=0 강제 + 동적 윈도우 감지 |
| 터미널 감지 | Ghostty/iTerm/Warp 분기 AppleScript 50줄 | Terminal.app 직접 호출 3줄로 교체 |
| tmux 경고 | "can't find window/pane" 경고 반복 | sleep 딜레이 + 비치명적이라 수용 |
| 워크플로우 방향 | 코드 생성 팀 → 사전 분석 팀으로 전환 | Mode C 삭제, 에이전트 역할 전면 교체 |
사용자
└─ /team-fe-sprint (Command)
├─ TeamCreate → fe-sprint 팀 생성
├─ team-dashboard.sh → tmux 4-pane 대시보드
│ ├─ MAIN (전체 활동 스트림)
│ ├─ @as-is-analyzer
│ ├─ @prd-analyzer
│ └─ @api-question-analyzer
└─ Agent(team-lead) → 오케스트레이션
├─ T1: As-Is 분석 (순차)
├─ T2: PRD As-Is→To-Be (병렬)
├─ T3: API 사용현황 + 질문 (병렬)
└─ T4: 스프린트 계획 (순차)
| 파일 | 역할 |
|---|---|
.claude/commands/team-dev.md | 범용 개발팀 워크플로우 |
.claude/commands/team-fe-sprint.md | FE 스프린트 분석 워크플로우 |
.claude/agents/team-lead.md | 팀 리드 오케스트레이터 |
.claude/scripts/agent-monitor.py | 실시간 에이전트 활동 모니터 (v4) |
.claude/scripts/team-dashboard.sh | 범용 tmux 대시보드 런처 |
.claude/scripts/fe-sprint-monitor.sh | FE 전용 tmux 대시보드 (레거시) |
.claude/teams/*/config.json | 팀 설정 파일 |
| 팀 이름 | 설명 | 날짜 |
|---|---|---|
dev-team | PRD 기반 개발팀 - tmux 테스트 | 3/24 |
fe-sprint | FE 사전 분석팀 - KYC 개편 PRD | 3/25 |
fe-sprint | FE 사전 분석팀 - KYC 리노베이션 (재생성) | 3/26 |
모니터링이 핵심이다: Claude Code의 에이전트 활동은 JSONL 로그에 기록되지만, SubagentStart/Stop 같은 전용 이벤트가 없어서 tool_use 엔트리를 직접 파싱해야 했음 — 이게 모니터링 시스템의 가장 큰 기술적 허들
4일간의 진화: "에이전트가 뭘 하는지 안 보여" → JSONL 파싱 → tmux 대시보드 → GoosLab 스타일 → 범용 스크립트. 문제 인식에서 범용 도구까지 4일
방향 전환이 중요했음: 처음엔 "코드 생성 팀"이었는데, 사전 분석 없이 바로 코드를 뽑으면 질이 안 나온다는 걸 깨닫고 "사전 분석팀"으로 전환한 게 실전 투입 성공의 열쇠