Interactive Learning

Claude Code
도구 생태계 완전 정복

Tools, Hooks, MCP, Skills, Agents, Plugins 등
Claude Code를 이루는 8가지 핵심 개념을 시각적으로 이해합니다

스크롤하여 시작

계층 구조로 보는 생태계

바깥 계층일수록 안쪽 계층을 감싸고, 구성하고, 확장합니다. 가장 안쪽의 Built-in Tools가 모든 것의 기반입니다.

Layer 8 · 배포 & 패키징

Plugins

Skills + Agents + Hooks + MCP를 하나로 묶어 배포하는 패키지

Layer 7 · 외부 연결

MCP (Model Context Protocol)

외부 API, 데이터베이스, 클라우드 서비스와 연결하는 표준 프로토콜

Layer 6 · 자동화 & 제어

Hooks

이벤트 기반으로 항상 실행되는 자동화 핸들러

Layer 5 · 병렬 실행

Agents / Subagents

독립된 컨텍스트에서 병렬로 작업하는 전문 AI 에이전트

Layer 4 · 전문 지식

Skills

필요할 때 로드되는 도메인 전문 지식과 워크플로우

Layer 3 · 영구 기억

CLAUDE.md

매 세션마다 자동으로 로드되는 프로젝트 컨텍스트와 규칙

Layer 2 · 설정 & 권한

Settings

권한, 환경 변수, 모델 선택 등 모든 동작을 제어하는 설정

Layer 1 · 핵심 기반

Built-in Tools

Read, Write, Edit, Bash, Glob, Grep 등 Claude의 기본 동작

8가지 핵심 개념

각 카드를 클릭하면 상세 정보를 확인할 수 있습니다

🔧

Built-in Tools

Claude의 손과 발

Claude Code에 내장된 기본 도구들입니다. 파일 읽기/쓰기, 명령어 실행, 검색 등 가장 근본적인 동작을 수행합니다. 모든 다른 개념의 기반이 됩니다.

Read Write Edit Bash Glob Grep Task WebSearch

주요 도구 목록

도구역할
Read파일 내용 읽기 (이미지, PDF 포함)
Write파일 생성/덮어쓰기
Edit기존 파일의 특정 부분 교체
Bash쉘 명령어 실행
Glob파일 패턴 검색 (예: *.ts)
Grep파일 내용 정규식 검색
Task서브에이전트 생성
WebFetch/Search웹 콘텐츠 가져오기/검색

핵심 포인트

항상 사용 가능하며, Settings의 권한 설정으로 허용/거부를 제어할 수 있습니다. MCP 도구도 이 도구들과 동일한 방식으로 사용됩니다.

자세히 보기

Settings

모든 것의 제어판

JSON 설정 파일로 Claude Code의 권한, 환경 변수, Hooks, 플러그인 활성화, UI 언어 등 모든 동작을 제어합니다. 여러 범위(managed, user, project)에서 계층적으로 적용됩니다.

권한 제어 환경 변수 Hooks 정의 Plugin 활성화

설정 파일 우선순위 (높은순)

범위위치
Managed/Library/.../managed-settings.json
CLI 인수명령줄 플래그 (세션 한정)
로컬 프로젝트.claude/settings.local.json
공유 프로젝트.claude/settings.json
사용자~/.claude/settings.json

핵심 포인트

Hooks, Plugin 활성화, 권한 규칙 등이 모두 Settings 안에 정의됩니다. "설정의 설정"이자 모든 것의 컨테이너입니다.

자세히 보기
📝

CLAUDE.md

세션을 넘는 기억

매 세션 시작 시 자동으로 로드되는 마크다운 파일입니다. 프로젝트 구조, 코딩 규칙, 아키텍처 결정 등 영구적 지침을 담습니다. Skills와 달리 항상 컨텍스트에 포함됩니다.

항상 로드 영구 규칙 프로젝트 컨텍스트

파일 위치

범위위치
사용자 전역~/.claude/CLAUDE.md
프로젝트 공유CLAUDE.md 또는 .claude/CLAUDE.md
프로젝트 로컬.claude/CLAUDE.local.md

CLAUDE.md vs Skills

CLAUDE.md는 항상 로드 (컨텍스트 비용 고정), Skills는 필요할 때만 로드 (컨텍스트 절약). 보편적 규칙은 CLAUDE.md에, 특수 워크플로우는 Skills에 넣습니다.

자세히 보기
🎯

Skills

온디맨드 전문가

필요할 때만 로드되는 도메인 전문 지식 패키지입니다. SKILL.md 파일에 지침을 정의하고, Claude가 관련성이 있으면 자동 호출하거나, 사용자가 /skill-name으로 수동 호출합니다.

SKILL.md 온디맨드 /slash-command $ARGUMENTS

SKILL.md 구성

필드설명
name스킬 이름 (슬래시 커맨드)
description자동 호출 판단 기준
context: fork별도 서브에이전트에서 실행
allowed-tools사용 가능 도구 제한
!`cmd`동적 컨텍스트 주입 (쉘 실행)

저장 위치

~/.claude/skills/ (개인), .claude/skills/ (프로젝트), 플러그인 내부 (네임스페이스). 동적 컨텍스트 주입 !`cmd`으로 라이브 데이터를 스킬에 넣을 수 있습니다.

자세히 보기
🤖

Agents / Subagents

병렬 분신술

Task 도구로 생성되는 독립 AI 에이전트입니다. 각자 별도의 컨텍스트 윈도우에서 작업하며, 최대 10개까지 동시 실행됩니다. 무거운 작업을 메인 대화에서 분리합니다.

Task 도구 독립 컨텍스트 병렬 실행 커스텀 에이전트

내장 에이전트 타입

타입모델용도
ExploreHaiku빠른 코드베이스 탐색
Plan상속구현 계획 설계
general-purpose상속모든 도구 사용 가능
Bash상속터미널 명령 전용

핵심 제약

중첩 불가: 서브에이전트 안에서 또 다른 서브에이전트를 생성할 수 없습니다. 커스텀 에이전트는 ~/.claude/agents/에 마크다운 파일로 정의합니다.

자세히 보기
🚨

Hooks

결정론적 자동화

특정 이벤트에서 항상, 확정적으로 실행되는 핸들러입니다. Claude의 판단 없이 조건이 맞으면 무조건 실행됩니다. 검증, 차단, 로깅, 알림 등에 사용합니다.

PreToolUse PostToolUse SessionStart Stop

주요 이벤트

이벤트시점차단 가능
SessionStart세션 시작
UserPromptSubmit사용자 입력 후
PreToolUse도구 실행 전
PostToolUse도구 실행 후
Stop응답 완료 시
PreCompact컨텍스트 압축 전

Hooks vs Skills

Hooks는 결정론적 (항상 실행), Skills는 확률적 (Claude가 판단). Hooks는 자동화/검증에, Skills는 전문 지식에 사용합니다.

자세히 보기
🌐

MCP

외부 세계의 다리

Model Context Protocol - 외부 도구, 데이터베이스, API와 연결하는 표준 프로토콜입니다. MCP 서버가 도구를 제공하면, Claude는 내장 도구처럼 mcp__서버__도구 형식으로 사용합니다.

외부 API 연결 표준 프로토콜 mcp__server__tool

전송 방식

방식용도
http원격 클라우드 서비스 (권장)
sse서버 이벤트 (레거시)
stdio로컬 프로세스

설정 위치

~/.claude.json (사용자), .mcp.json (프로젝트), 플러그인 내부. 도구가 컨텍스트의 10% 이상을 차지하면 자동으로 Lazy Loading이 활성화됩니다.

자세히 보기
📦

Plugins

올인원 확장팩

Skills, Agents, Hooks, MCP, LSP를 하나로 묶은 배포 가능한 패키지입니다. 마켓플레이스에서 설치하며, 네임스페이스로 충돌 없이 관리됩니다. plugin.json 매니페스트로 정의합니다.

plugin.json 마켓플레이스 번들 패키지 버전 관리

플러그인에 포함 가능한 것

구성요소위치
Skillsskills/ (SKILL.md 파일)
Agentsagents/ (마크다운 파일)
Hookshooks/hooks.json
MCP 서버.mcp.json
LSP 서버.lsp.json (코드 인텔리전스)

핵심 포인트

단독 Skills/Hooks와 달리 버전 관리마켓플레이스 배포가 가능합니다. 네임스페이스: /plugin-name:skill-name

자세히 보기

요청이 처리되는 흐름

사용자 입력부터 응답 완료까지, 각 단계에서 어떤 개념이 개입하는지 보여줍니다

💬

사용자 입력

프롬프트 또는 /slash-command 입력

🚨

UserPromptSubmit HOOK

입력 검증, 키워드 감지, 컨텍스트 주입

📝

CLAUDE.md + Skills 로드

영구 지침 적용 + 관련 스킬 자동 활성화

🧠

Claude가 도구 호출 결정

내장 도구 또는 MCP 도구 선택

🛡

PreToolUse HOOK

허용/거부/수정 — 도구 실행 전 검증

도구 실행

Built-in 또는 MCP 도구가 실제 작업 수행

📋

PostToolUse HOOK

결과 기반 피드백, 린트, 로깅

🤖

서브에이전트 생성 (선택)

Task 도구로 병렬 작업 위임

🏁

Stop HOOK

응답 완료 검증, 알림 전송

레스토랑으로 이해하는 비유

Claude Code를 레스토랑에 비유하면 각 개념의 역할이 더 명확해집니다

🔪

Built-in Tools

= 주방 도구

칼, 프라이팬, 오븐 등 요리의 기본 도구. 없으면 아무것도 만들 수 없습니다.

📋

Settings

= 주방 규칙

"가스레인지 사용 시 환풍기 켜기", "칼은 A 구역에서만 사용" 등 주방 운영 규칙.

📖

CLAUDE.md

= 레스토랑 매뉴얼

출근하면 항상 읽는 매뉴얼. "우리 가게는 한식 전문", "MSG 사용 금지" 같은 영구 규칙.

👨‍🍳

Skills

= 전문 레시피

특정 요리가 주문되면 꺼내 보는 상세 레시피. 항상 펼쳐두진 않지만 필요할 때 꺼냅니다.

👬

Subagents

= 보조 셰프

메인 셰프가 "디저트는 네가 해"라고 위임하면, 별도 조리대에서 독립적으로 작업합니다.

🚨

Hooks

= 자동 타이머 / 화재경보

오븐 열면 자동으로 타이머 시작, 연기 감지 시 무조건 경보. 의지와 무관하게 항상 작동합니다.

🚚

MCP

= 식재료 납품업체

외부에서 재료를 공급하는 업체. 표준 계약(프로토콜)으로 연결되어 다양한 식재료를 받을 수 있습니다.

🎁

Plugins

= 프랜차이즈 패키지

레시피 + 규칙 + 장비 + 납품업체를 한 번에 제공하는 프랜차이즈 시작 키트.

헷갈리는 개념 비교

유사해 보이는 개념들의 차이를 명확히 구분합니다

Skills vs Hooks
Skills vs CLAUDE.md
MCP vs Plugins
전체 비교
SkillsHooks
실행 방식확률적 (Claude가 판단) 또는 수동 호출결정론적 (항상 실행)
목적도메인 전문 지식 & 워크플로우자동화, 검증, 차단, 로깅
산출물Claude의 사고 방식을 가이드Claude의 행동을 제어 (차단/허용)
신뢰성Best-effort (안 쓸 수도 있음)보장 실행
비유참고하는 전문 레시피오븐 타이머 (무조건 울림)
CLAUDE.mdSkills
로딩항상 자동 로드필요 시에만 로드
컨텍스트 비용고정 (매 세션 차지)온디맨드 (절약)
범위보편적 (모든 작업에 적용)좁음 (특정 도메인)
적합한 내용아키텍처, 코딩 규칙, 프로젝트 구조TDD 워크플로우, 커밋 규칙 등
비유항상 읽는 사원 매뉴얼특정 요리의 레시피북
MCPPlugins
정체외부 도구 연결 프로토콜번들 패키지 (Skills+Hooks+MCP 포함)
제공하는 것도구, 리소스, 프롬프트모든 것 (Skills+Agents+Hooks+MCP+LSP)
배포claude mcp add마켓플레이스 설치
버전 관리서버 자체 관리시맨틱 버전 관리
관계Plugin의 한 구성요소가 될 수 있음MCP를 포함할 수 있음
개념정체트리거목적
Tools 내장 동작Claude 결정기본 작업 수행
Settings JSON 설정파일 편집모든 것을 제어
CLAUDE.md 마크다운 지침세션 시작 자동영구 규칙/컨텍스트
Skills 전문 지식 패키지자동 또는 수동도메인 전문성
Agents 독립 AI 프로세스Task 도구병렬/분리 실행
Hooks 이벤트 핸들러이벤트 발생 시자동화/검증/제어
MCP 연결 프로토콜Claude 결정외부 시스템 연결
Plugins 배포 번들설치/활성화기능 패키징/배포

"이것" 하려면 "이것" 사용

상황별로 어떤 개념을 사용해야 하는지 빠르게 찾아보세요

📄

파일 읽기/쓰기/검색

파일 시스템과 직접 상호작용

Built-in Tools
🔒

특정 도구 사용 제한

권한, 환경 변수, UI 설정

Settings
📌

프로젝트 규칙 영구 저장

"항상 TypeScript 사용", "테스트 필수"

CLAUDE.md
📚

특수 워크플로우 정의

TDD, 코드리뷰, 커밋 규칙 등

Skills
🔄

무거운 작업 분리 실행

병렬 처리, 컨텍스트 보호

Subagents

무조건 자동 검증/로깅

파일 저장 시 린트, 알림 전송

Hooks
🔗

외부 API/DB 연결

GitHub, Slack, DB 등 외부 서비스

MCP
📤

기능 세트 배포/공유

팀/마켓플레이스에 기능 배포

Plugins

이해도 확인 퀴즈

각 문항을 클릭해서 정답을 확인하세요