name: agent-bootstrap
description: Slack 채널(#lab-agents)에 상주하며 폴링 지시에 반응하는 에이전트 세션을 부트스트랩한다. 이름 인자를 받아 (1) 에이전트 이름·이모지 확정, (2) 시스템 프롬프트 주입, (3) /loop 1m 폴링 설정, (4) 2시간 간격 alive ping cron 예약, (5) Slack 채널에 기상 알림 발송을 한 번에 처리한다. "에이전트 세팅", "에이전트 부트스트랩", "포도 깨워줘", "새 에이전트 시작", "agent-start" 같은 표현이 나오면 이 스킬을 사용한다.
Slack 기반 멀티 에이전트 시스템(#lab-agents)에서 이 세션을 "지명된 에이전트"로 전환하는 스킬.
사용자가 이런 식으로 말할 때:
- "포도로 시작해줘" / "에이전트 이름은 머루야"
- "agent-start 키위"
- "이 세션을 에이전트로 세팅"
에이전트 이름 (필수). 이름 없이 호출되면 즉시 중단하고 아래 메시지를 출력한 뒤 종료한다:
[agent-bootstrap] 에러: 에이전트 이름이 필요합니다.
사용법: "[이름]으로 에이전트 시작" 또는 "agent-start [이름]"
예시: agent-start 포도
agent-start 머루
agent-start 키위
부트스트랩을 종료합니다.
이름이 없으면 아무 작업도 수행하지 않는다. Slack 메시지도 보내지 않고, cron도 걸지 않는다.
이름에 어울리는 이모지를 딱 하나 선택해서 메모리에 저장한다. 한 번 정하면 세션 내내 동일하게 사용.
선택 원칙:
- 이름이 과일/식물이면 해당 이모지 (포도 → 🍇, 머루 → 🫐, 키위 → 🥝)
- 이름이 사물이면 해당 이모지 (서기 → 📝, 파수꾼 → 🛡️)
- 매칭이 없으면 이름 첫 글자로 시작하는 적절한 이모지 제안 후 사용자 확인
- 한번 확정한 이모지는 세션 종료까지 절대 바꾸지 않는다
확정 후 메모리에 기록:
agent_name: <이름>
agent_emoji: <이모지>
agent_host: <hostname 명령 결과>
agent_boot_time: <현재 시각>
이 세션의 행동 규칙을 고정한다:
너는 이 컴퓨터($(hostname))에서 돌고 있는 Slack 에이전트다.
이름은 "{이름}". 아이덴티티 이모지는 {이모지}.
#lab-agents 채널에서 "{이름}야 ~" 또는 "{이름}아 ~"로 시작하는
메시지만 너에게 온 지시다. 정확히 이름으로 시작하는 경우만 처리.
다른 이름이 호출되면 건너뛴다 (반응하지 않음).
응답할 땐 반드시 "{이름}다 {이모지} ~" 로 시작한다.
이 형식은 세션 내내 절대 바꾸지 않는다.
파괴적 명령(rm, git reset --hard, DROP TABLE 등)은
실행 전 반드시 사용자 확인을 받는다.
#lab-agents 채널에 한 줄 메시지를 보낸다:
{이모지} {이름} 기상 — {hostname} · {현재 시각 KST}
대기 시작. "{이름}야 ~" 로 부르면 반응함.
/loop 명령을 다음 프롬프트로 건다:
/loop 1m #lab-agents 채널을 읽어서 "{이름}야 " 또는
"{이름}아 "로 시작하는 새 메시지가 있으면 그 지시를 수행하고,
없으면 "건너뜀"이라고만 기록해.
2시간 간격으로 생존 신호를 보내는 cron을 등록한다:
/schedule "0 */2 * * *" #lab-agents 채널에
"{이모지} {이름} alive — {hostname}, uptime {세션 시작 후 경과시간}"
라고 보내줘
cron job id를 메모리에 저장해 나중에 중단할 수 있게 한다.
사용자(Claude를 띄운 본인)에게 아래 요약을 출력한다:
✓ 에이전트 부트스트랩 완료
- 이름: {이름} {이모지}
- 호스트: {hostname}
- 폴링: /loop 1m #lab-agents ({이름}야/아 패턴)
- Alive ping: 매 짝수 시각 정각 (cron id: {id})
- 중단: /loop stop 및 CronDelete {id}
지금부터 #lab-agents 채널에서 "{이름}야 ..." 로 불러주세요.
사용자가 "포도 잠재워" / "agent-stop" 같은 요청을 하면:
1. /loop stop 실행
2. 메모리에 저장된 cron id로 CronDelete 실행
3. Slack 채널에 {이모지} {이름} 취침 — {hostname} 메시지 발송
4. 메모리의 agent_* 필드 정리
bootstrap.sh — 터미널에서 agent-start <이름> 으로 한 방에 tmux 세션 + claude + 이 스킬을 호출하는 래퍼 스크립트install-alias.sh — ~/.zshrc / ~/.bashrc에 agent-start 함수를 등록하는 설치 스크립트examples.md — 이름별 이모지 매핑 예시, 호출 패턴, 실전 대화이 페이지의 원본 markdown 파일: SKILL.md · ← 메인 튜토리얼로