5.1 스킬 vs 에이전트 vs 커맨드 vs Hooks — 무엇이 다른가

Skills·Agent·Command·Hooks 네 도구는 각각 업무 매뉴얼·전담 직원·단축키·자동 규칙에 해당하며, 언제 어떻게 AI 기능을 확장하느냐가 다르다. 업데이트: 2026-03-08


핵심 요약

구분내용
📖 정의커맨드(단축키) · 스킬(업무 매뉴얼) · 에이전트(전담 직원) · Hooks(자동 규칙) — Claude Code의 네 가지 확장 도구
💡 핵심실행 공간과 실행 보장 여부가 핵심 차이다. Hooks만이 LLM의 판단과 무관하게 항상 실행이 보장된다
🎯 대상네 가지 도구의 차이를 이해하고 상황에 맞게 선택하려는 개발자
⚠️ 주의에이전트는 현재 대화 기록에 접근할 수 없으며, Hooks는 잘못 설정하면 정상 작업도 차단할 수 있다

문서 탐색


목차

  1. 왜 네 가지가 존재하는가?
  2. 커맨드 (Slash Commands)
  3. 스킬 (Skills)
  4. 에이전트 (Sub-agents)
  5. Hooks
  6. 한눈에 보는 비교표
  7. 어떤 것을 언제 사용하는가?
  8. 실전 조합 예시

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단일 .mdJSON 설정 + 셸 스크립트
병렬 실행불가제한적가능가능 (이벤트별)
도구 실행 차단불가불가불가가능
난이도쉬움중간중간중간
주요 용도반복 명령 단축자동 규칙 적용독립 전문 작업보안 차단·린트·알림

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 도구 가이드

문서 탐색


참고 자료