5.1 스킬 vs 에이전트 vs 커맨드 vs Hooks — 무엇이 다른가
Skills·Agent·Command·Hooks 네 도구는 각각 업무 매뉴얼·전담 직원·단축키·자동 규칙에 해당하며, 언제 어떻게 AI 기능을 확장하느냐가 다르다. 업데이트: 2026-03-08
핵심 요약
| 구분 | 내용 |
|---|---|
| 📖 정의 | 커맨드(단축키) · 스킬(업무 매뉴얼) · 에이전트(전담 직원) · Hooks(자동 규칙) — Claude Code의 네 가지 확장 도구 |
| 💡 핵심 | 실행 공간과 실행 보장 여부가 핵심 차이다. Hooks만이 LLM의 판단과 무관하게 항상 실행이 보장된다 |
| 🎯 대상 | 네 가지 도구의 차이를 이해하고 상황에 맞게 선택하려는 개발자 |
| ⚠️ 주의 | 에이전트는 현재 대화 기록에 접근할 수 없으며, Hooks는 잘못 설정하면 정상 작업도 차단할 수 있다 |
문서 탐색
목차
- 왜 네 가지가 존재하는가?
- 커맨드 (Slash Commands)
- 스킬 (Skills)
- 에이전트 (Sub-agents)
- Hooks
- 한눈에 보는 비교표
- 어떤 것을 언제 사용하는가?
- 실전 조합 예시
1. 왜 네 가지가 존재하는가?
Claude Code를 사용하다 보면 커맨드, 스킬, 에이전트, Hooks 이렇게 네 가지 개념이 등장한다. 실제로는 언제, 어떻게 Claude의 기능을 확장하느냐가 다르다.
쉽게 비유하면:
- 커맨드 → 자주 쓰는 단축키 (단순 반복 작업)
- 스킬 → Claude에게 붙여두는 업무 매뉴얼 (자동으로 참고해서 적용)
- 에이전트 → 특정 일을 맡기는 전담 직원 (독립적으로 일하고 결과만 보고)
- Hooks → 반드시 지켜야 하는 자동 규칙 (LLM 판단 없이 항상 실행)
2. 커맨드 (Slash Commands)
한 줄 설명
/커맨드명을 입력하면 미리 적어둔 지시사항이 그대로 Claude에게 전달된다.
어떻게 동작하는가?
flowchart TD A["사용자: /review 입력"] A --> B["Claude: review.md 파일 내용을 읽어서 실행"] B --> C["'이 코드의 버그, 성능 문제, 보안 취약점을 심각도별로 정리해줘...'"]
긴 프롬프트를 단축키로 저장해두는 것과 같다. 모든 실행은 현재 대화 안에서 이루어진다.
파일 구조
.claude/commands/
└── review.md ← 파일 이름이 /review 커맨드가 됨
특징
- 가장 단순하고 배우기 쉽다
- 인자 전달 가능 (
/translate 영어로) - 실행 결과가 현재 대화에 그대로 쌓인다
3. 스킬 (Skills)
한 줄 설명
Claude가 자동으로 읽고 참고하는 업무 매뉴얼이다. 사용자가 직접 부르지 않아도, Claude가 상황에 맞게 알아서 적용한다.
어떻게 동작하는가?
flowchart TD A["사용자: 'API 엔드포인트 만들어줘'"] A --> B["Claude: api-conventions 스킬 자동 감지"] B --> C["'api-conventions 스킬에 따라 RESTful 규칙,\n에러 형식, 유효성 검사를 포함해서 작성'"]
파일 구조
.claude/skills/
└── api-conventions/
├── SKILL.md ← 핵심 파일 (필수)
└── examples/ ← 예시 파일 (선택)
특징
- 자동 발견 (Claude가 스스로 판단해서 적용)
- 수동으로
/skill-name으로 호출도 가능 - 보조 파일(스크립트, 템플릿, 예시)을 함께 묶을 수 있다
4. 에이전트 (Sub-agents)
한 줄 설명
특정 역할을 맡은 전담 직원이다. 독립된 공간에서 일하고, 결과만 보고한다. 현재 대화에 영향을 주지 않는다.
어떻게 동작하는가?
flowchart TD A["사용자: '전체 코드베이스 보안 취약점 분석해줘'"] A --> B["Claude: security-scanner 에이전트 호출 결정"] B --> C["[별도 공간] security-scanner 독립적으로 분석"] C --> D["Claude: '분석 결과: 3개 취약점 발견 (결과 요약)'"]
파일 구조
.claude/agents/
└── security-scanner.md ← 에이전트 정의 파일
특징
- 독립된 컨텍스트 창 (현재 대화에 영향 없음)
- 여러 에이전트 동시 실행 가능 (병렬 처리)
- 도구 권한을 따로 지정 가능
- 기존 대화 내용에는 접근 불가
5. Hooks
한 줄 설명
Claude의 판단과 무관하게 특정 시점에 반드시 실행되는 자동 규칙이다.
어떻게 동작하는가?
sequenceDiagram participant C as Claude participant H as Hook participant T as 도구 C->>H: PreToolUse 이벤트 H->>H: validate.sh 실행 alt 차단 (exit 2) H-->>C: "위험한 명령 차단" else 허용 (exit 0) H-->>C: OK C->>T: 도구 실행 T-->>C: 결과 C->>H: PostToolUse 이벤트 H->>H: lint-on-save.sh 실행 end
설정 위치
.claude/
├── settings.json ← hooks 설정
└── hooks/
├── validate.sh
└── lint-on-save.sh
특징
- 실행 보장: LLM이 기억하지 않아도 항상 실행
- 도구 실행 차단 가능 (
PreToolUse+exit 2) - 21개 라이프사이클 이벤트 지원
- Skills/Agent 프론트매터에 직접 정의 가능 (Agent-Scoped Hooks)
6. 한눈에 보는 비교표
| 항목 | 커맨드 | 스킬 | 에이전트 | Hooks |
|---|---|---|---|---|
| 쉬운 비유 | 단축키 | 업무 매뉴얼 | 전담 직원 | 자동 규칙 |
| 호출 방법 | /커맨드명 직접 입력 | 자동 감지 또는 /스킬명 | 자동 감지 또는 명시 요청 | 이벤트 자동 트리거 |
| 실행 보장 | X (LLM 판단) | X (LLM 판단) | X (LLM 판단) | O (항상) |
| 실행 공간 | 현재 대화 안 | 현재 대화 안 | 독립된 별도 공간 | 현재 대화 외부 |
| 현재 대화 기록 접근 | 가능 | 가능 | 불가 | 불가 |
| 파일 위치 | .claude/commands/ | .claude/skills/<이름>/ | .claude/agents/ | settings.json + 스크립트 |
| 파일 형식 | 단일 .md | 디렉토리 + SKILL.md | 단일 .md | JSON 설정 + 셸 스크립트 |
| 병렬 실행 | 불가 | 제한적 | 가능 | 가능 (이벤트별) |
| 도구 실행 차단 | 불가 | 불가 | 불가 | 가능 |
| 난이도 | 쉬움 | 중간 | 중간 | 중간 |
| 주요 용도 | 반복 명령 단축 | 자동 규칙 적용 | 독립 전문 작업 | 보안 차단·린트·알림 |
7. 어떤 것을 언제 사용하는가?
커맨드를 사용할 때
- 매번 같은 긴 지시를 타이핑하기 번거로울 때
- 배포처럼 사람이 의도적으로 실행해야 하는 작업
/commit → 커밋 메시지 만들기
/pr → PR 설명 작성하기
스킬을 사용할 때
- 코딩 컨벤션, 팀 규칙처럼 항상 자동으로 적용됐으면 할 때
- 단순 프롬프트를 넘어 예시 파일, 스크립트도 같이 묶고 싶을 때
에이전트를 사용할 때
- 처리 결과가 많아서 현재 대화가 지저분해질 것 같을 때
- 여러 작업을 동시에 병렬로 처리하고 싶을 때
Hooks를 사용할 때
- 규칙이 반드시 지켜져야 할 때 (LLM의 판단에 맡기면 안 될 때)
- 파일 수정 후 린트·포맷팅을 항상 실행하고 싶을 때
- 위험한 명령을 원천 차단하고 싶을 때
8. 실전 조합 예시
네 가지를 함께 사용하면 더 강력하다.
flowchart TD H1["Hooks (항상 실행)\nPreToolUse: 위험 명령 차단\nPostToolUse: 자동 린트"] H1 --> SK["스킬 (자동)\napi-conventions 스킬이\n자동으로 팀 규칙 적용"] SK --> AG["에이전트 (자동)\ncode-reviewer 에이전트\n→ 독립 공간에서 리뷰 후 요약 반환"] AG --> CM1["커맨드 (수동)\n/commit → 커밋 메시지 자동 생성"] CM1 --> CM2["/pr → PR 설명 자동 작성"] CM2 --> H2["Hooks (항상 실행)\nStop: 작업 완료 알림"]
각 섹션 바로가기
| 주제 | 시작 문서 |
|---|---|
| 스킬 자세히 보기 | Skills란 무엇인가 |
| 에이전트 자세히 보기 | AI 에이전트란 무엇인가 |
| 커맨드 자세히 보기 | AI 커맨드란 무엇인가 |
| Hooks 자세히 보기 | Hooks란 무엇인가 |
| Claude + Gemini 협업 | AI 협업의 필요성 |
| 전체 목차 | AI 도구 가이드 |