
1. 확장 기능이 왜 필요할까?
기본 Claude Code는 이미 강력합니다. 파일 읽기, 코드 수정, 터미널 명령 실행 등 많은 것을 할 수 있죠.
그런데 실제 개발 현장에서는 이런 상황이 생깁니다.
- "이 프로젝트에서는 항상 pnpm을 써줘" → 매번 말하기 귀찮다
- "배포할 때마다 이 체크리스트를 따라줘" → 반복 작업이 너무 많다
- "슬랙 채널에 알림도 보내줘" → Claude 혼자서는 외부 서비스를 못 건드린다
- "파일 1,000개를 분석해줘" → 대화가 너무 길어져서 기억을 잃는다
이런 한계를 해결하기 위해 확장 기능이 존재합니다.
핵심 에이전트 루프(읽고→수정하고→검증하는 반복) 위에 레이어를 얹는 방식이에요.
┌─────────────────────────────────┐
│ Plugins / Marketplaces │ ← 패키징 & 배포
├─────────────────────────────────┤
│ Agent Teams │ ← 다중 세션 협력
├──────────────┬──────────────────┤
│ Subagents │ Hooks │ ← 위임 & 자동화
├──────────────┴──────────────────┤
│ Skills MCP │ ← 지식 & 외부 연결
├─────────────────────────────────┤
│ CLAUDE.md │ ← 항상 켜진 컨텍스트
├─────────────────────────────────┤
│ 핵심 에이전트 루프 (내장 도구) │ ← 기본 엔진
└─────────────────────────────────┘
2. 7가지 확장 기능 한눈에 보기
기능 한 줄 요약 실생활 비유
| CLAUDE.md | 항상 읽어두는 프로젝트 규칙 | 사무실 공지판 |
| Skills | 필요할 때 꺼내쓰는 지식/절차 | 업무 매뉴얼 |
| MCP | 외부 서비스와 연결 | USB 허브 |
| Subagents | 별도 작업자에게 위임 | 팀원에게 맡기기 |
| Agent Teams | 여러 팀원이 협력 | 프로젝트 팀 편성 |
| Hooks | 이벤트 발생 시 자동 실행 | 자동 알람 설정 |
| Plugins | 위 기능들을 묶어 배포 | 앱 설치 패키지 |
💡 공식 문서 추천: "처음이라면 CLAUDE.md부터 시작하세요. 필요에 따라 다른 기능을 추가하세요."
3. CLAUDE.md — 사무실 공지판 📌
CLAUDE.md란?
세션이 시작될 때 Claude가 자동으로 읽는 프로젝트 규칙 파일입니다.
매번 대화를 시작할 때 "이 프로젝트에서는 pnpm 써줘"라고 하는 대신, 한 번 파일에 써두면 Claude가 항상 기억합니다.
# CLAUDE.md 예시
## 패키지 매니저
- npm 대신 반드시 pnpm을 사용하세요
## 커밋 규칙
- 커밋 전에 반드시 테스트를 실행하세요
- 커밋 메시지는 한국어로 작성합니다
## 코딩 스타일
- 들여쓰기는 2칸(space)으로 통일합니다
- 컴포넌트는 함수형으로만 작성합니다
언제 쓸까?
- ✅ "항상 X를 해줘" 규칙
- ✅ 빌드/테스트 명령어
- ✅ 프로젝트 폴더 구조 설명
- ✅ "절대 Y는 하지 마" 규칙
주의사항
⚠️ 200줄 이내로 유지하세요! 너무 길면 컨텍스트를 많이 차지해서 오히려 Claude의 성능이 떨어집니다. 참조 자료는 Skills로 분리하는 게 좋습니다.
파일 구조 팁
프로젝트가 커지면 .claude/rules/ 폴더를 활용하세요.
my-project/
├── CLAUDE.md ← 핵심 규칙 (200줄 이하)
└── .claude/
└── rules/
├── frontend.md ← React 관련 규칙
├── backend.md ← Spring Boot 관련 규칙
└── database.md ← DB 관련 규칙
언어별, 디렉토리별로 규칙을 분리하면 해당 파일 작업 시에만 로드되어 효율적입니다.
4. Skills — 업무 매뉴얼 📖
Skills란?
Claude가 필요할 때 꺼내 쓸 수 있는 지식이나 워크플로우를 담은 마크다운 파일입니다.
CLAUDE.md와 달리, 세션 시작 시 설명(제목)만 읽고 실제 내용은 필요할 때만 불러옵니다.
Skills의 두 가지 종류
① 참조형 Skill — Claude가 알아서 참고하는 지식
# api-style-guide.md (Skill 파일)
---
name: api-style-guide
description: REST API 엔드포인트 설계 규칙과 응답 형식 가이드
---
## 엔드포인트 규칙
- URL은 소문자와 하이픈 사용: /user-profiles (O), /userProfiles (X)
- 복수형 명사 사용: /users (O), /user (X)
- 버전 포함: /v1/users
## 응답 형식
{
"success": true,
"data": { ... },
"message": "성공"
}
② 호출형 Skill — /명령어로 직접 실행하는 워크플로우
# deploy.md (Skill 파일)
---
name: deploy
description: 프로덕션 배포 전 체크리스트를 실행합니다
---
## 배포 순서
1. 테스트 전체 실행: `pnpm test`
2. 빌드 확인: `pnpm build`
3. 환경변수 확인
4. 스테이징 배포 후 검증
5. 프로덕션 배포
사용자: /deploy
Claude: 배포 체크리스트를 시작합니다.
✅ 테스트 실행 완료 (42/42 통과)
✅ 빌드 성공
⚠️ 환경변수 DB_HOST가 설정되지 않았습니다!
CLAUDE.md vs Skills — 뭘 어디에 넣을까?
넣어야 할 내용 위치
| "항상 X를 해줘" 같은 규칙 | CLAUDE.md |
| API 문서, 스타일 가이드 참조 자료 | Skills (참조형) |
| 배포, 릴리스, 코드 리뷰 등 반복 절차 | Skills (호출형) |
💡 경험 법칙: CLAUDE.md가 200줄을 넘기 시작하면 참조 자료를 Skills로 빼세요.
5. MCP — 외부 서비스 연결 허브 🔌
MCP란?
Claude가 외부 시스템과 소통할 수 있게 해주는 연결 프로토콜입니다.
MCP 없이는 Claude는 프로젝트 파일만 볼 수 있습니다. MCP가 있으면 외부 세계와 연결됩니다.
MCP 없을 때: Claude ↔ 프로젝트 파일만
MCP 있을 때: Claude ↔ 프로젝트 파일
↔ 슬랙 채널
↔ 데이터베이스
↔ 브라우저
↔ Google Drive
↔ GitHub 이슈
↔ ...기타 외부 서비스
MCP + Skills 조합 예시
MCP는 연결만 제공하고, Skills는 그 연결을 잘 쓰는 방법을 알려줍니다.
[MCP] → 데이터베이스에 연결하는 "능력" 제공
[Skill] → "우리 DB 스키마는 이렇고, 자주 쓰는 쿼리는 이거야" 지식 제공
→ 결합하면: DB에 연결해서 우리 팀 방식대로 쿼리를 작성!
주의사항
⚠️ MCP 서버는 컨텍스트를 먹습니다. 사용하지 않는 서버는 연결 해제하세요.
/mcp 명령으로 서버별 컨텍스트 비용을 확인할 수 있습니다.
6. Subagents — 부하 직원에게 위임하기 🤝
Subagents란?
별도의 컨텍스트(기억 공간)에서 독립적으로 작업하고, 결과 요약만 메인 Claude에게 보고하는 보조 AI입니다.
[메인 Claude]
│
├─ "파일 200개 분석해서 문제점 찾아줘" ──→ [Subagent]
│ ├─ 파일 1 읽기
│ ├─ 파일 2 읽기
│ ├─ ... (200개)
│ └─ 요약 작성
│
←─ "발견된 문제: 3가지 (보안 이슈 1, 성능 이슈 2)"
(200개 파일 내용은 메인 Claude 메모리에 없음!)
언제 Subagents를 쓸까?
- ✅ 파일을 대량으로 읽어야 할 때
- ✅ 메인 대화를 깔끔하게 유지하고 싶을 때
- ✅ 여러 작업을 병렬로 처리할 때
병렬 Subagents 예시
/audit 명령 실행
│
├──→ [보안 검토 Subagent] ─ 보안 취약점 분석
├──→ [성능 분석 Subagent] ─ 병목 구간 찾기
└──→ [테스트 커버리지 Subagent] ─ 미테스트 코드 탐색
↓ (세 작업이 동시에 실행!)
[메인 Claude] ← 세 가지 요약 결과 취합
7. Agent Teams — 프로젝트 팀 구성하기 👥
Agent Teams란?
여러 Claude Code 세션이 서로 직접 소통하며 협력하는 구조입니다.
Subagents와 헷갈리기 쉬운데, 핵심 차이는 이렇습니다.
Subagents Agent Teams
| 관계 | 상하 관계 (주인 ↔ 부하) | 수평 관계 (팀원들) |
| 소통 방식 | 결과만 메인에게 보고 | 팀원끼리 직접 대화 |
| 비용 | 저렴 | 비쌈 (각자 Claude 인스턴스) |
| 적합한 경우 | 단순 작업 위임 | 토론/협력이 필요한 복잡한 작업 |
Subagents 선택: 빠르고 집중된 작업, 결과만 중요할 때
Agent Teams 선택: 팀원들이 결과를 공유하고 서로 검토하고 의견을 나눠야 할 때
⚠️ 현재 실험적 기능이며 기본 비활성화 상태입니다.
8. Hooks — 자동 알람과 트리거 ⚡
Hooks란?
특정 이벤트가 발생하면 자동으로 실행되는 결정론적 스크립트입니다.
"결정론적"이란 AI가 판단하지 않고, 항상 같은 결과가 나오는 스크립트라는 뜻입니다.
파일 편집 완료 이벤트 → Hook 실행 → ESLint 자동 검사
커밋 시도 이벤트 → Hook 실행 → 테스트 자동 실행
중요 파일 수정 이벤트 → Hook 실행 → Slack 알림 발송
세션 시작 이벤트 → Hook 실행 → 환경 변수 체크
Hooks의 큰 장점
컨텍스트 비용이 0입니다! Claude AI를 거치지 않고 스크립트가 직접 실행되기 때문입니다. Claude의 기억 공간을 전혀 차지하지 않아요.
언제 Hooks를 쓸까?
- ✅ 파일 저장 후 자동 린팅
- ✅ 커밋 전 자동 테스트
- ✅ 코드 변경 시 팀 슬랙 알림
- ✅ 세션 시작/종료 시 로깅
9. Plugins — 기능 묶음 패키지 📦
Plugins란?
Skills + Hooks + Subagents + MCP를 하나로 묶어서 설치/배포할 수 있는 단위입니다.
my-team-plugin/
├── skills/
│ ├── deploy.md ← /my-team-plugin:deploy
│ └── code-review.md ← /my-team-plugin:code-review
├── hooks/
│ └── pre-commit.sh ← 커밋 전 자동 실행
└── mcp/
└── server.json ← Slack 연결 설정
💡 플러그인 Skill은 네임스페이스됩니다. /deploy 대신 /my-team-plugin:deploy 형태로 호출되어, 여러 플러그인이 충돌 없이 공존할 수 있습니다.
언제 Plugins를 쓸까?
- ✅ 여러 프로젝트에 동일한 설정을 재사용할 때
- ✅ 팀 전체가 같은 워크플로우를 쓸 때
- ✅ Claude Directory(마켓플레이스)에 공유하고 싶을 때
10. 헷갈리는 기능 비교표
① Skills vs Subagents — 뭐가 달라?
측면 Skills Subagents
| 정의 | 재사용 가능한 지식/절차 파일 | 격리된 컨텍스트를 가진 작업자 |
| 핵심 이점 | 컨텍스트 간 콘텐츠 공유 | 컨텍스트 격리 (결과만 반환) |
| 적합한 경우 | 참조 자료, 호출 가능한 워크플로우 | 대용량 파일 처리, 병렬 작업 |
② CLAUDE.md vs Skills — 뭘 어디에 넣어?
넣을 내용 CLAUDE.md Skills
| 항상 기억해야 할 규칙 | ✅ | ❌ |
| 빌드/테스트 명령어 | ✅ | ❌ |
| API 참조 문서 | ❌ | ✅ |
| 배포 체크리스트 | ❌ | ✅ |
| 로드 시점 | 항상 (세션 시작) | 필요할 때만 |
③ MCP vs Skills — 둘 다 뭔가 추가하는 거 아닌가?
MCP Skills
| 역할 | 외부 서비스 연결 "능력" 제공 | 그 능력을 잘 쓰는 "지식" 제공 |
| 예시 | DB에 연결하는 드라이버 | 우리 팀 DB 스키마와 쿼리 패턴 |
→ 결론: 둘은 함께 써야 시너지가 납니다.
11. 컨텍스트 비용 이해하기
각 기능이 Claude의 메모리(컨텍스트 윈도우)를 얼마나 차지하는지 알아야 효율적으로 사용할 수 있습니다.
기능 로드 시점 컨텍스트 비용
| CLAUDE.md | 세션 시작, 항상 | 🔴 높음 (매 요청마다) |
| Skills | 세션 시작 시 설명만, 사용 시 전체 | 🟡 낮음 (설명만 항상) |
| MCP 서버 | 세션 시작, 항상 | 🔴 높음 (도구 정의 포함) |
| Subagents | 온디맨드, 격리된 컨텍스트 | 🟢 없음 (메인과 분리) |
| Hooks | 이벤트 발생 시 | 🟢 없음 (외부 실행) |
컨텍스트 절약 팁
# 현재 컨텍스트 사용량 확인
/context
# MCP 서버별 비용 확인
/mcp
# 대화 압축 (포커스 지정 가능)
/compact focus on the API changes
Skills 컨텍스트 완전히 숨기기: 사용자가 직접 호출할 때만 쓰는 Skills에는 disable-model-invocation: true를 설정하세요. 호출 전까지 컨텍스트 비용이 0이 됩니다.
---
name: deploy
description: 프로덕션 배포 체크리스트
disable-model-invocation: true ← 이 설정!
---
12. 초보자 권장 시작 순서
모든 기능을 한꺼번에 사용할 필요가 없습니다. 단계적으로 늘려가세요.
✅ 1단계: CLAUDE.md 작성
→ 프로젝트 기본 규칙, 빌드 명령어, 코딩 컨벤션 기록
✅ 2단계: Skills 만들기
→ 자주 반복하는 작업(배포, 코드 리뷰 등)을 매뉴얼화
✅ 3단계: MCP 연결
→ 필요한 외부 서비스 추가 (슬랙, DB 등)
✅ 4단계: Hooks 설정
→ 반복 자동화 (린팅, 테스트 등)
⬜ 5단계: Subagents 활용
→ 대용량 작업, 병렬 처리가 필요해질 때
⬜ 6단계: Agent Teams / Plugins
→ 팀 협업, 설정 공유가 필요해질 때
13. 마무리
Claude Code의 확장 기능을 한 줄로 요약하면:
기본 기능이 "무엇을 할 수 있느냐"라면, 확장 기능은 "어떻게 더 잘 할 수 있느냐"입니다.
핵심 정리:
- CLAUDE.md: 항상 기억해야 할 규칙. 200줄 이내로 유지
- Skills: 온디맨드 지식과 워크플로우. 컨텍스트 효율적
- MCP: 외부 서비스 연결. Skills와 함께 써야 시너지
- Subagents: 대용량 작업 위임. 메인 컨텍스트 보호
- Agent Teams: 복잡한 협력 작업. 실험적 기능
- Hooks: AI 없이 자동 실행. 컨텍스트 비용 0
- Plugins: 설정 묶음. 팀 공유/재사용에 최적
처음엔 CLAUDE.md 하나만 잘 써도 생산성이 크게 올라갑니다. 익숙해지면 Skills를 추가하고, 그다음 MCP와 Hooks를 붙여가는 방식을 추천합니다. 🚀
📌 참고 문서: Claude Code 확장하기 공식 한국어 문서
'AI > claude code' 카테고리의 다른 글
| Claude Code의 작동 방식 (0) | 2026.04.27 |
|---|---|
| Claude Code /clear 명령어 완벽 정리 — 컨텍스트 초기화로 AI 코딩 효율 높이기 (0) | 2026.04.21 |
| Claude Code /context 명령어 완벽 가이드 - 토큰 사용량 한눈에 파악하기 (0) | 2026.04.21 |
| Claude Code /init 완전 가이드 - CLAUDE.md 자동 생성부터 활용까지 (1) | 2026.04.21 |
| Claude Code란? (0) | 2026.04.21 |