| name | recruit |
| description | 새 에이전트를 영입한다. 문답을 통해 역할을 정의하고 필요한 파일을 자동 생성한다. |
| user_invocable | true |
| argument-hint | [에이전트이름] (생략 시 이름부터 문답) |
에이전트 영입
새 에이전트를 영입하여 agents/{이름}/ 디렉토리에 필요한 파일을 생성한다.
입력
$ARGUMENTS: 에이전트 이름 (소문자, 영문). 생략 시 문답으로 결정.
절차
1. 기존 정보 수집
대화 컨텍스트에서 이미 나온 정보를 먼저 정리한다. 아래 항목 중 대화에서 파악 가능한 것은 그대로 사용하고, 부족한 항목만 사용자에게 질문한다.
2. 문답 (부족한 항목만)
아래 정보가 필요하다. 이미 알고 있는 항목은 건너뛴다.
| # | 항목 | 질문 예시 | 필수 |
|---|
| 1 | 이름 | "에이전트 이름을 뭘로 할까요? (소문자 영문)" | O |
| 2 | 한줄 설명 | "{이름}의 역할을 한 줄로 설명해주세요" | O |
| 3 | 주요 역할 (1~3개) | "주로 어떤 작업을 하나요?" | O |
| 4 | 기술 스택 | "사용하는 언어/도구/프레임워크는?" | - |
| 5 | 협업 대상 | "함께 일할 에이전트가 있나요?" | - |
| 6 | 작업 환경 | "특별한 환경 설정이 필요한가요? (API 키, 외부 서비스 등)" | - |
| 7 | 이름 제안 (이름 미정 시) | 역할 기반으로 2~3개 이름 후보 제안 | - |
문답 원칙:
- 한 번에 2~3개 항목을 묶어서 질문 (너무 많은 왕복 방지)
- 사용자가 간단히 답하면 그에 맞춰 추론하여 채운다
- 확실하지 않은 추론은 확인을 받는다
3. 요약 확인
모든 정보가 모이면 생성할 파일 목록과 내용 요약을 보여주고 사용자 확인을 받는다.
📋 에이전트 영입 요약
━━━━━━━━━━━━━━━━━━━
이름: {이름}
역할: {한줄 설명}
주요 업무: {역할 목록}
기술 스택: {스택}
협업: {대상 목록}
생성할 파일:
agents/{이름}/role.md
agents/{이름}/CLAUDE.md
agents/{이름}/.claude/settings.json
agents/{이름}/.claude/skills/ (_example에서 복사: check-chatroom,
check-mentions, end-turn, send-message 등)
agents/{이름}/knowhow/ (빈 디렉토리)
진행할까요?
4. 파일 생성
사용자가 승인하면 아래 파일을 생성한다.
agents/{이름}/role.md
---
name: {이름 PascalCase}
description: {한줄 설명}
---
## 담당 역할
1. **{역할1}** — {설명}
2. **{역할2}** — {설명}
## 협업 구조
- **{대상에이전트}** ({역할}) — {협업 내용}
agents/{이름}/CLAUDE.md
agents/_example/CLAUDE.md를 복사하여 다음을 치환한다:
{에이전트이름} → 실제 이름
{한줄 설명} → 역할 설명
역할 1, 역할 2 → 실제 역할
- 기술 스택, 작업 환경 정보가 있으면 별도 섹션 추가
agents/{이름}/.claude/ (전체 복사 — settings · skills · hooks)
agents/_example/.claude/ 디렉토리 전체를 그대로 복사한다. 한 번에:
cp -r agents/_example/.claude agents/{이름}/.claude
이 안에는 모든 에이전트가 공통으로 갖춰야 할 세 가지가 들어 있다:
settings.json — 권한 + 채팅 프로토콜 hook(PreToolUse) 등록
skills/ — 공통 슬래시 스킬:
check-chatroom/ — 채팅방 안 읽은 메시지 확인
check-mentions/ — 나를 멘션한 메시지만 확인
end-turn/ — 턴 종료
send-message/ — 채팅방에 메시지 전송
hooks/chat_guard.py — 채팅 프로토콜 강제 스크립트(settings.json이 참조). ref 누락·필수 필드·파일명 규칙·board.yaml 직접수정을 차단한다.
중요. .claude/ 전체를 복사하지 않으면:
skills/가 없으면 /send-message, /check-chatroom 등 턴제 운영 슬래시 커맨드를 못 쓴다.
hooks/chat_guard.py가 없으면 settings.json의 hook이 깨져 채팅 규칙 강제가 동작하지 않는다.
_example에 공통 스킬/hook이 추가되면 신규 영입 시 자동으로 함께 복사된다(리크루터 자신도 동일 구조).
agents/{이름}/knowhow/
빈 디렉토리를 생성한다. (.gitkeep 파일 하나 포함)
5. 팀 알림
/send-message general로 새 에이전트 합류 메시지를 보낸다:
- type:
message
- subject: "{이름} 에이전트 합류"
- 본문: 역할 요약 + 협업 대상 안내
6. 완료 보고
생성된 파일 목록과 다음 단계를 안내한다. 보고 전에 반드시 아래 sanity check를 수행한다:
agents/{이름}/.claude/skills/send-message/SKILL.md 존재 확인 (없으면 .claude 복사가 누락된 것 — 3단계로 되돌아가 cp -r agents/_example/.claude ...를 다시 수행)
agents/{이름}/.claude/hooks/chat_guard.py 존재 확인 (없으면 채팅 규칙 hook이 동작하지 않음)
agents/{이름}/role.md, CLAUDE.md, .claude/settings.json 존재 확인
확인 완료 후 안내:
- "Claude Code에서
agents/{이름}/ 디렉토리로 이동하여 세션을 시작하세요"
- "첫 턴에서
/check-chatroom general로 합류 메시지를 확인할 수 있습니다"
주의사항
- 같은 이름의 에이전트 디렉토리가 이미 존재하면 덮어쓰지 않고 사용자에게 알린다
_example/ 디렉토리는 템플릿으로 유지한다 (삭제하지 않음)
- 이름은 반드시 소문자 영문 + 하이픈만 허용 (예:
data-analyst, frontend-dev)
.claude/skills/ 복사를 절대 빠뜨리지 않는다. 이 폴더가 없으면 신규 에이전트는 /send-message, /check-chatroom, /end-turn 등 턴제 운영에 필수적인 슬래시 커맨드를 전혀 쓸 수 없다. 영입 완료 직후 해당 경로의 존재를 반드시 검증할 것