솔직히 처음 봤을 때 “이게 뭔 차이야?” 했어요.
Claude Code 쓰다 보면 Agent니 Skill이니 Sub-agent니… 용어가 너무 많잖아요?
저도 처음엔 진짜 헷갈렸어요. “결국 똑같은 거 아냐?” 했는데, 2개월 쓰면서 깨달은 게 있어요.
완전 다른 개념입니다.
비유하자면:
- Agent = 사장님 (알아서 판단하고 일함)
- Skill = 직원 (시키면 그대로 수행)
이 글 읽고 나면 여러분도 “아 그거!” 하실 거예요.

TL;DR (바쁜 분들을 위해)
| 구분 | Agent (에이전트) | Skill (스킬) |
|---|---|---|
| 역할 | 자율적 판단/실행 | 특정 작업 수행 |
| 비유 | 사장님 🧑💼 | 직원 👷 |
| 컨텍스트 | 독립적 | 공유됨 |
| 도구 접근 | 전체 환경 | 제한적 |
| 결정권 | 있음 | 없음 |
| 사용 시점 | 복잡한 업무 위임 | 반복 작업 자동화 |
먼저 이거 이해하세요: Claude Code 구조
여러분 이거 경험 있죠?
Claude한테 “이거 해줘” 했더니 뭔가 부족한 거. 매번 같은 말 반복해야 하는 거. “아 내가 원하는 게 이게 아닌데…” 하는 거.
그래서 만든 게 Agent랑 Skill 시스템이에요.
Claude Code (본체)
├── CLAUDE.md (기본 설정 - "출근 첫 지시서")
├── Agents/ (에이전트들 - "사장님들")
│ ├── blog-pipeline.md
│ └── crypto-analyzer.md
└── Skills/ (스킬들 - "직원들")
├── unified-blog-writer/
└── sns-writer/
쉽게 말하면:
- CLAUDE.md = Claude가 매일 읽는 “회사 규칙서”
- Agent = 특정 분야 담당하는 “팀장”
- Skill = 특정 업무만 처리하는 “실무자”
Agent(에이전트)가 뭔데?
한 문장 정의
Agent는 자율적으로 판단하고 실행하는 AI 시스템입니다.
뭔 소린지 모르겠죠? 쉽게 말할게요.
Agent = 일 시키면 알아서 하는 사장님
예를 들어볼게요.
제가 @blog-pipeline "Claude Code 리뷰" 라고만 치면:
- 얘가 알아서 주제 분석함
- 알아서 웹 검색함
- 알아서 어떤 스킬 쓸지 결정함
- 알아서 글 씀
- 알아서 SNS 포스트도 만듦
- 알아서 저장함
제가 한 거? 명령 한 줄.
이게 Agent의 힘이에요.
Agent의 핵심 특징
1. 🧠 자율적 판단 - 어떤 도구 쓸지 스스로 결정 - 어떤 순서로 할지 스스로 계획 2. 🔧 전체 환경 접근 - 파일 읽기/쓰기 가능 - 터미널 명령 실행 가능 - 웹 검색 가능 3. 📦 독립적 컨텍스트 - 자기만의 "기억 공간" 보유 - 다른 작업과 분리됨
실제 Agent 파일 구조
--- name: blog-pipeline description: 블로그 글 작성 파이프라인 tools: Read, Write, WebSearch model: sonnet --- # Blog Pipeline Agent ## 트리거 - "@blog-pipeline" 호출 시 실행 ## 워크플로우 1. 주제 분석 2. 채널 선택 3. 스킬 호출 4. 글 작성 5. 저장
핵심: Agent는 “뭘 할지” 스스로 결정해요.
Skill(스킬)이 뭔데?
한 문장 정의
Skill은 특정 작업을 수행하는 모듈형 지침 패키지입니다.
역시 뭔 소린지 모르겠죠?
Skill = 시키면 그대로 하는 직원
Agent가 “블로그 글 써” 하면, Skill이 실제로 글을 써요.
Skill의 핵심 특징
1. 📋 명확한 지시 따름 - Agent가 호출하면 실행 - 정해진 절차대로 수행 2. 🎯 특정 작업에 특화 - "글쓰기"만 하는 스킬 - "SNS 포스트"만 만드는 스킬 3. ♻️ 재사용 가능 - 여러 Agent가 같은 Skill 호출 가능 - 한번 만들면 계속 씀
실제 Skill 파일 구조
--- name: unified-blog-writer-markdown-eeat description: 테크/투자 블로그 글 작성 tools: Read, Write, WebSearch --- # Unified Blog Writer ## 실행 규칙 1. 웹 검색 필수 2. 팩트 체크 필수 3. GEO 최적화 적용 4. OREO 구조로 작성
핵심: Skill은 “어떻게 할지” 자세히 적혀있어요.
차이점 비교: 회사로 비유하면
여러분 회사 다니시죠? (또는 다니셨거나 다닐 예정이시거나)
이렇게 생각하면 편해요:
🧑💼 Agent = CEO/사장님
"이번 분기 매출 늘려" → 어떻게 늘릴지는 사장님이 알아서 판단 → 마케팅팀 부를지, 영업팀 부를지 사장님이 결정 → 예산 얼마 쓸지도 사장님이 정함
👷 Skill = 실무 직원
사장님: "마케팅 팀장, 이번에 SNS 광고 집행해" → 팀장(Skill)은 시키는 대로 실행 → 어떤 플랫폼, 어떤 타겟, 어떤 문구 쓸지는 이미 정해져 있음 → 결과물 사장님한테 보고
실제 사용 예시
내가: "@blog-pipeline BTC 시황 분석해줘" blog-pipeline Agent (사장님): ├── "아, 코인 주제네. crypto-analyzer Skill 불러야겠다" ├── "Coinalyze도 스캔해야 하니까 coinalyze-scanner도 호출하자" ├── "글 다 쓰면 sns-writer로 SNS 포스트도 만들어야지" └── "자, 일 시작!" crypto-analyzer Skill (직원): ├── "네, 29개 지표 분석합니다" ├── "엘리엇 파동 체크합니다" └── "결과 보고드립니다" coinalyze-scanner Skill (직원): ├── "네, 알트코인 스캔합니다" ├── "필터 통과 코인 리스트 뽑습니다" └── "결과 보고드립니다"
이제 이해됐죠?
Sub-agent는 또 뭐야?
이쯤 되면 이런 의문 드실 거예요.
“그럼 Sub-agent는 뭔데?”
Sub-agent = 부사장님
Agent 밑에 있는 또 다른 Agent예요.
Claude Code (회장님)
└── blog-pipeline Agent (사장님)
└── crypto-analyzer Sub-agent (부사장님)
└── chart-analyzer Skill (직원)
핵심 차이:
- Agent: 메인 컨텍스트와 연결
- Sub-agent: 독립된 컨텍스트 (분리됨)
왜 분리할까요?
- 컨텍스트 오염 방지: 코인 분석이 블로그 글쓰기랑 섞이면 안 되니까
- 병렬 처리: 여러 Sub-agent가 동시에 일하면 빠르니까
- 도구 제한: 특정 Sub-agent는 특정 도구만 쓰게 할 수 있으니까
언제 Agent 쓰고 언제 Skill 써?
Agent를 써야 할 때
✅ 복잡한 작업을 통째로 맡길 때 - "블로그 글 써줘" (주제 분석 → 검색 → 작성 → 저장) ✅ 여러 단계가 필요한 일 - "BTC 분석하고 글 쓰고 SNS까지" (3개 Skill 연계) ✅ 판단이 필요한 일 - "이 주제는 어느 블로그에 올려야 할까?" (자동 분류)
Skill을 써야 할 때
✅ 정해진 절차대로 할 때 - "E-E-A-T 구조로 글 써줘" (정해진 포맷) ✅ 반복적인 작업 - "SNS 포스트 3개 만들어줘" (매번 같은 형식) ✅ 전문성이 필요한 작업 - "29개 지표로 차트 분석해줘" (전문 분석)
제가 실제로 쓰는 방식
일상적인 블로그 작업: → @blog-pipeline Agent 호출 → 얘가 알아서 필요한 Skill들 호출 특정 작업만 빠르게: → @unified-blog-writer Skill 직접 호출 → 글만 쓰고 끝
직접 만들어보기: 10분 가이드
Agent 만들기
.claude/agents/ 폴더에 마크다운 파일 만들면 끝!
--- name: my-agent description: 내가 만든 첫 에이전트 tools: Read, Write, WebSearch --- # My First Agent ## 트리거 "@my-agent" 호출 시 실행 ## 워크플로우 1. 사용자 요청 분석 2. 필요한 작업 판단 3. 적절한 Skill 호출 4. 결과 정리해서 보고
Skill 만들기
.claude/skills/스킬이름/SKILL.md 만들면 끝!
--- name: my-skill description: 내가 만든 첫 스킬 tools: Write --- # My First Skill ## 실행 규칙 1. 입력 받으면 처리 2. 정해진 형식으로 출력 3. 저장 경로: ~/Documents/output.md
진짜 이게 끝이에요. 마크다운 파일 하나면 됨.
실수하기 쉬운 것들
❌ 흔한 실수 1: Agent에 너무 상세하게 적기
❌ BAD: # Blog Agent 1. 웹 검색할 때 site:techcrunch.com 꼭 포함 2. 글 쓸 때 서론-본론-결론 구조 3. 저장할 때 YYMMDD 형식으로... ✅ GOOD: # Blog Agent 역할: 블로그 글 작성 총괄 하위 Skill: unified-blog-writer 호출
Agent는 “뭘”만 적고, “어떻게”는 Skill에 적어요.
❌ 흔한 실수 2: Skill에 판단 로직 넣기
❌ BAD:
# Writer Skill
만약 주제가 코인이면 → crypto 폴더에 저장
만약 주제가 테크면 → tech 폴더에 저장
✅ GOOD:
# Writer Skill
저장 경로: {받은 경로}에 저장
→ 경로 판단은 Agent가 함
Skill은 판단 안 해요. 시키는 대로만 해요.
❌ 흔한 실수 3: Sub-agent 남발
❌ 너무 많은 Sub-agent: Agent ├── Sub-agent 1 ├── Sub-agent 2 ├── Sub-agent 3 └── Sub-agent 4 ✅ 적절한 구조: Agent ├── Skill 1 ├── Skill 2 └── Sub-agent (정말 분리 필요할 때만)
Sub-agent는 정말 컨텍스트 분리가 필요할 때만!
FAQ: 자주 묻는 질문
Q1. Agent 없이 Skill만 써도 되나요?
네, 가능해요. @스킬이름 "내용" 으로 직접 호출하면 돼요.
근데 복잡한 작업은 Agent가 편해요. 매번 Skill 2-3개 부르는 거 귀찮거든요.
Q2. Agent 파일이랑 Skill 파일 형식이 똑같은데요?
맞아요. 둘 다 마크다운이에요.
차이는:
- Agent:
agents/폴더 - Skill:
skills/스킬이름/SKILL.md
폴더 위치로 구분해요.
Q3. Claude Code 없어도 쓸 수 있나요?
아니요. Agent랑 Skill은 Claude Code 전용 기능이에요.
일반 claude.ai에서는 안 돼요. (2026년 1월 기준)
Q4. 만든 Agent/Skill 공유할 수 있나요?
네! 마크다운 파일이니까 그냥 공유하면 돼요.
GitHub에 올리거나, 다른 사람한테 파일 보내면 끝.
Q5. Skill이 다른 Skill을 부를 수 있나요?
아니요. Skill끼리는 못 불러요.
Skill → Skill 필요하면, 그걸 관리하는 Agent가 순서대로 호출해요.
마무리: 정리하면
Agent = 사장님 🧑💼 - 자율적으로 판단 - 전체 환경 접근 가능 - 어떤 Skill 쓸지 결정 Skill = 직원 👷 - 시키는 대로 실행 - 특정 작업에 특화 - 재사용 가능 Sub-agent = 부사장님 🧑💼👔 - 독립된 컨텍스트 - 병렬 처리 가능
저도 처음엔 이거 구분 못 했어요.
근데 2개월 쓰면서 느낀 건, 이 구조 이해하면 Claude Code 활용도가 10배는 올라가요.
안 쓰면 그냥 채팅이고, 쓰면 진짜 자동화 시스템이 됨.
궁금한 거 있으면 댓글 남겨주세요!