# agent-bootstrap — 예시 모음

## 이름별 추천 이모지 매핑

이름을 확정하면 **한 번에 이모지도 같이 정한다**. 세션 내내 바뀌지 않는다.

### 과일/식물 계열 (권장)
| 이름 | 이모지 | 어울림 |
|---|---|---|
| 포도 | 🍇 | 송이 → 여러 일을 묶음 |
| 머루 | 🫐 | 블루베리로 대체 |
| 키위 | 🥝 | 이름 그대로 |
| 감 | 🍊 | 오렌지로 대체 |
| 참외 | 🍈 | 이름 그대로 |
| 레몬 | 🍋 | 이름 그대로 |
| 복숭아 | 🍑 | 이름 그대로 |

### 역할 계열
| 이름 | 이모지 | 의미 |
|---|---|---|
| 서기 | 📝 | 기록·정리 담당 |
| 파수꾼 | 🛡️ | 감시·경보 담당 |
| 전령 | 📨 | 메시지 전달 담당 |
| 집사 | 🧹 | 정리·청소 담당 |
| 사서 | 📚 | 문서·자료 담당 |

### 모델명 계열
| 이름 | 이모지 |
|---|---|
| 오푸스 | 🎼 |
| 소넷 | 🎵 |
| 하이쿠 | 🍃 |

## 호출 패턴

### 기본 호출
```
포도야 현재 시간과 호스트명 알려줘
머루야 /home/user/data 폴더 용량 확인해줘
```

### 여러 에이전트에 동시 지시
```
포도야 DRIM 학습 로그 마지막 20줄 보여줘
머루야 SLAM 레포 git status 알려줘
키위야 Downloads 폴더 정리해줘
```

### 알림 메시지 형식 (자동)

**기상:**
```
🍇 포도 기상 — gpu-server · 2026-04-25 18:30:00 KST
대기 시작. "포도야 ~" 로 부르면 반응함.
```

**2시간 alive ping:**
```
🍇 포도 alive — gpu-server, uptime 6h 12m
```

**취침:**
```
🍇 포도 취침 — gpu-server
```

## 실전 대화 예시

### 부트스트랩
```
사용자: agent-start 포도

[agent-start] tmux 세션 생성: 포도 (host=gpu-server)
[agent-start] 채널: #lab-agents
[agent-start] 시작: 2026-04-25 18:30:00 KST

(tmux 안에서)
Claude: agent-bootstrap 스킬 실행.
  - 이름: 포도 → 이모지: 🍇 확정
  - 시스템 프롬프트 주입 완료
  - Slack #lab-agents 에 기상 알림 전송 완료
  - /loop 1m 걸림
  - alive cron 예약 완료 (id: 35adbea7)

✓ 에이전트 '포도' 기동 완료.
```

### 호출 및 응답
```
#lab-agents
└── 나: 포도야 1+4가 뭐야
└── 포도: 포도다 🍇 1+4 = 5 이지
```

### 취침
```
사용자: agent-stop 포도

Claude: /loop stop 실행
        cron 35adbea7 삭제
        🍇 포도 취침 — gpu-server 메시지 전송
        
(tmux kill-session -t 포도)
```

## 함정과 처방

### 동명 에이전트 충돌
같은 이름으로 이미 기상 중인 에이전트가 있으면 부트스트랩이 거부된다. 채널 최근 로그를 확인해 중복 여부 체크.

### 이름 부분문자열 충돌
"포"와 "포도"처럼 한쪽이 다른 쪽의 접두사면, "포도야 ~" 메시지에 "포" 에이전트도 반응할 수 있다. 이름 선택 시 피할 것.

### cron이 /loop에 갇히는 버그
`/loop` 프롬프트 안에 `/schedule` 명령 문자열을 넣으면 루프마다 재등록된다. **반드시 분리해서** 한 번만 예약.

### 터미널이 닫히면 죽음
`/loop`은 터미널 프로세스 생명주기에 묶여 있다. tmux 안에서 돌리는 것이 전제. tmux 없이 그냥 `claude` 만 띄우면 SSH 끊길 때 에이전트도 함께 죽는다.
