대규모 언어 모델(LLM) 기반의 코딩 도구는 개발 생산성을 혁신적으로 끌어올렸지만, 여전히 많은 개발자가 반복적인 프롬프트 입력과 컨텍스트 윈도우 오염 문제로 어려움을 겪습니다. 특히 복잡한 프로젝트에서는 매번 아키텍처 규칙이나 코딩 컨벤션을 설명해야 하고, LLM이 수많은 파일을 탐색하며 토큰을 불필요하게 소모하는 현상이 발생하곤 합니다.
이 글은 이러한 한계를 극복하고 Claude Code의 잠재력을 최대한 활용할 수 있는 실전 가이드를 제공합니다. 최신 확장 기능인 스킬(Skills)과 서브에이전트(Sub-agents)를 활용하여 개발 워크플로우를 체계적으로 자동화하고, 파이썬 프로젝트에서 반복 작업을 줄여 생산성을 극대화하는 방법을 Core Briefman과 함께 알아보겠습니다.
이 글을 통해 독자 여러분은 Claude Code의 스킬과 서브에이전트가 무엇인지 정확히 이해하고, 이를 활용하여 나만의 개발 자동화 파이프라인을 구축하는 구체적인 방법을 익힐 수 있습니다. 더 이상 컨텍스트 오염과 반복적인 지시로 시간을 낭비하지 않고, 핵심 개발에 집중할 수 있는 효율적인 환경을 만들 수 있을 것입니다.
핵심 개념 완벽 이해: 스킬(Skills)과 서브에이전트(Sub-agents)
Claude Code의 확장 워크플로우를 이해하려면 먼저 스킬과 서브에이전트라는 두 가지 핵심 개념을 명확히 알아야 합니다. 이들은 서로 다른 역할을 수행하며 개발 생산성 향상에 기여합니다.
스킬(Skills)이란 무엇인가요?
스킬은 Claude가 특정 작업과 관련될 때 동적으로 발견하고 로드하는 지침, 스크립트, 리소스가 포함된 폴더 기반의 확장 기능입니다. 쉽게 말해, 반복적으로 사용하는 전문 절차나 지식을 모듈화하여 저장해두는 저장소라고 생각할 수 있습니다.
- 점진적 공개(Progressive Disclosure): 스킬은 필요한 시점에 메타데이터만 먼저 로드되어 컨텍스트 토큰을 효율적으로 관리합니다. 전체 지침(5,000토큰 미만)과 번들 스크립트는 실제로 필요할 때 동적으로 로드됩니다.
- 프롬프트와의 차이점: 일반 프롬프트는 일회성 대화 수준의 지침이지만, 스킬은 특정 기술 스택의 모범 사례, 코딩 컨벤션, 검증 스크립트 등 재사용 가능한 전문 지식을 체계적으로 저장합니다.
- 저장 위치: 프로젝트 루트의
.claude/skills/폴더에 위치하며, Git과 같은 버전 관리 시스템에 포함하여 팀원들과 공유할 수 있습니다.
서브에이전트(Sub-agents)란 무엇인가요?
서브에이전트는 메인 대화창(Context Window)을 오염시키지 않고, 독립된 별도의 워크스페이스에서 복잡하고 무거운 작업을 수행하는 전문 AI 에이전트입니다. 대규모 코드베이스 탐색, 리팩토링, 아키텍처 검증과 같은 작업에 특히 유용합니다.
- 격리된 컨텍스트: 서브에이전트는 자체 컨텍스트 윈도우를 가지므로, 수만 개의 토큰을 소모하는 광범위한 코드 탐색이나 로그 분석 작업이 메인 에이전트의 컨텍스트를 채우는 것을 방지합니다. 작업 완료 후에는 요약본만 메인 에이전트에 반환합니다.
- 병렬 작업 처리: 여러 서브에이전트를 동시에 실행하여 병렬로 작업을 처리할 수 있습니다.
- 생성 및 관리: 대화창에서
/agents명령어를 통해 대화형으로 생성하거나,.claude/agents/디렉토리에 YAML Frontmatter가 포함된 Markdown(.md) 파일로 수동 정의할 수 있습니다. - 모델 제어:
CLAUDE_CODE_SUBAGENT_MODEL환경 변수를 통해 서브에이전트가 사용할 모델(예: 비용 절감을 위한 Haiku)을 지정할 수 있으며,CLAUDE_CODE_SUBAGENT_MODEL_FORCE=1로 강제 적용도 가능합니다.
스킬과 서브에이전트, 무엇이 다를까요?
두 기능은 상호 보완적이지만, 명확한 역할 분담이 있습니다. 다음 표를 통해 그 차이를 이해해 보세요.
| 구분 | 역할 | 주 사용 시점 | 컨텍스트 관리 방식 |
|---|---|---|---|
| 스킬 (Skills) | 특정 기술 스택의 모범 사례, 코딩 컨벤션, 검증 스크립트 등 전문 지식 패키지 제공 | 코드를 작성하거나 검토할 때 관련 규격이 필요할 때 자동 로드 | 필요할 때만 동적 로드 (토큰 효율 극대화) |
| 서브에이전트 (Sub-agents) | 독립된 격리 공간에서 대규모 코드 탐색, 아키텍처 준수 검증, 반복 리팩토링 등 복잡한 작업 수행 | 커밋 전 코드 리뷰, 복잡한 리팩토링, 광범위한 파일 검색 시 백그라운드 실행 | 별도 컨텍스트에서 실행 후 요약본(1,000~2,000 토큰)만 반환 |
실전 워크플로우 설계: 파이썬 개발 자동화 아키텍처

이제 스킬과 서브에이전트가 실제 파이썬 개발 워크플로우에서 어떻게 협업하여 생산성을 높이는지 구체적인 아키텍처를 살펴보겠습니다.
기존 방식의 문제점
기존에는 개발자가 파이썬 프로젝트에서 코드를 수정할 때마다 다음과 같은 비효율을 겪었습니다.
- 아키텍처 규칙(예: 레이어드 아키텍처, 특정 로깅 패턴, 예외 처리 규격)을 매번 프롬프트로 주입해야 했습니다.
- 메인 에이전트가 수십 개의 파일을
grep이나glob으로 탐색하면서 불필요하게 토큰을 소모하고, 컨텍스트 윈도우가 빠르게 오염되어 중요한 지침을 누락하는Context Drift현상이 발생했습니다.
스킬과 서브에이전트의 역할 분담 체계
이러한 문제점을 해결하기 위해 스킬과 서브에이전트는 다음과 같이 역할을 분담합니다.
- 스킬 (예:
python-clean-code): 파이썬 프로젝트의 타입 힌트 규칙, Pydantic/FastAPI 아키텍처 베스트 프랙티스, Black/Ruff 설정 지침 등 프로젝트의 코딩 표준과 모범 사례를 정의합니다. 이는 개발자가 코드를 작성할 때 Claude가 참조할 수 있는 ‘전문 지식 라이브러리’ 역할을 합니다. - 서브에이전트 (예:
python-reviewer): 메인 에이전트의 지시를 받아 독립된 환경에서 실제 코드 검증 및 리팩토링 작업을 수행합니다. 이 서브에이전트는python-clean-code스킬을 참조하여 코드 품질을 검사하고, 도메인 레이어 격리 여부, 테스트 커버리지 등을 자동으로 확인합니다.
이러한 구조를 통해 메인 에이전트는 고수준의 지시와 최종 결과 요약에 집중하고, 무겁고 반복적인 작업은 서브에이전트에게 위임하여 컨텍스트 오염을 최소화하고 효율성을 극대화할 수 있습니다.
구축 가이드: 나만의 Claude Code 확장 기능 만들기
이제 실제로 스킬과 서브에이전트를 프로젝트에 적용하는 방법을 단계별로 알아보겠습니다.
1. 커스텀 스킬 정의하기 (.claude/skills/)
프로젝트 루트에 .claude/skills/ 디렉토리를 생성하고, 그 안에 스킬 폴더를 만듭니다. 예를 들어, 파이썬 클린 코드 스킬을 만든다면 다음과 같은 구조가 됩니다.
your-python-project/
├── .claude/
│ └── skills/
│ └── python-clean-code/
│ └── SKILL.md
│ └── scripts/
│ └── check_pydantic_models.py
│ └── enforce_logging_pattern.py
├── src/
└── ...
SKILL.md 파일에는 해당 스킬의 목적, 지침, 그리고 참조할 수 있는 코드 예시 등을 Markdown 형식으로 작성합니다. 예를 들어, Pydantic 모델 사용 규칙을 정의할 수 있습니다.
---
name: Python Clean Code Guidelines
description: Python 프로젝트의 클린 코드 및 아키텍처 가이드라인을 제공합니다.
version: 1.0.0
---
# Python Clean Code Guidelines
이 스킬은 Python 프로젝트의 코드 품질과 아키텍처 일관성을 유지하기 위한 지침을 제공합니다.
## 1. Pydantic 모델 사용 규칙
- 모든 데이터 유효성 검사는 Pydantic 모델을 사용해야 합니다.
- 모델 필드에는 정확한 타입 힌트를 명시해야 합니다.
- `Config` 클래스를 사용하여 추가 설정을 정의할 수 있습니다 (예: `extra='forbid'`).
## 2. 레이어드 아키텍처 준수
- `src/domain`, `src/application`, `src/infrastructure` 디렉토리 구조를 따릅니다.
- 도메인 레이어는 다른 레이어에 의존성을 가지지 않아야 합니다.
## 3. 로깅 패턴
- `logging` 모듈을 사용하며, `logger.info()`, `logger.warning()`, `logger.error()`를 적절히 활용합니다.
- 로그 메시지는 명확하고 컨텍스트를 포함해야 합니다.
## 4. 타입 힌트
- 모든 함수 인자와 반환 값에는 타입 힌트를 명시해야 합니다.
- 복잡한 타입은 `typing` 모듈을 활용합니다.
scripts/ 폴더에는 스킬이 활용할 수 있는 파이썬 스크립트나 셸 스크립트를 포함할 수 있습니다. 예를 들어, Pydantic 모델의 특정 규칙을 자동으로 검사하는 스크립트를 작성할 수 있습니다.
2. 전용 서브에이전트 생성하기 (.claude/agents/)
서브에이전트는 .claude/agents/ 디렉토리에 Markdown 파일로 정의합니다. 예를 들어, 코드 리뷰 전용 서브에이전트를 만들어 보겠습니다.
your-python-project/
├── .claude/
│ └── agents/
│ └── python-reviewer.md
├── .claude/
│ └── skills/
│ └── python-clean-code/
│ └── SKILL.md
├── src/
└── ...
python-reviewer.md 파일에는 YAML Frontmatter를 사용하여 서브에이전트의 이름, 설명, 프롬프트, 사용할 수 있는 도구(Tools), 그리고 모델 설정을 정의합니다.
---
name: Python Code Reviewer
description: Python 코드의 품질, 아키텍처 준수 여부, 클린 코드 원칙을 검토합니다.
model: claude-3-5-sonnet-20240620 # 또는 claude-3-opus-20240229
tools:
- name: file_search
- name: file_read
- name: shell
skills:
- python-clean-code # 위에서 정의한 스킬을 참조합니다.
---
# Python Code Reviewer Agent
당신은 Python 프로젝트의 코드 품질과 아키텍처 일관성을 전문적으로 검토하는 에이전트입니다.
주어진 코드 변경 사항이나 전체 코드베이스를 분석하여 다음 사항을 중점적으로 검토합니다:
1. 클린 코드 원칙 준수: `python-clean-code` 스킬에 정의된 Pydantic 모델 사용 규칙, 타입 힌트, 로깅 패턴 등을 따르는지 확인합니다.
2. 아키텍처 일관성: 레이어드 아키텍처(도메인, 애플리케이션, 인프라)가 잘 지켜지고 있는지, 특히 도메인 레이어가 다른 레이어에 의존하지 않는지 확인합니다.
3. 잠재적 버그 및 개선 사항: 코드에서 발견될 수 있는 잠재적 버그, 성능 저하 요소, 그리고 개선할 수 있는 부분을 제안합니다.
4. 테스트 커버리지: 관련 테스트 코드가 충분히 작성되었는지 확인하고, 필요한 경우 테스트 케이스 추가를 제안합니다.
검토 결과는 간결하고 명확한 요약 보고서 형태로 제공해야 합니다.
여기서 skills: - python-clean-code 부분이 핵심입니다. 이 설정을 통해 python-reviewer 서브에이전트는 python-clean-code 스킬의 지침을 자동으로 참조하여 작업을 수행하게 됩니다.
3. 모델 라우팅 및 환경 변수 활용 팁
서브에이전트가 사용할 모델을 명시적으로 지정하여 비용을 최적화할 수 있습니다. 예를 들어, 간단한 검토 작업에는 비용 효율적인 Haiku 모델을 사용하고, 복잡한 리팩토링에는 Sonnet이나 Opus를 사용할 수 있습니다.
- 개별 서브에이전트 모델 지정: 위 예시처럼
.md파일의 YAML Frontmatter에model: claude-3-5-sonnet-20240620와 같이 직접 명시합니다. - 환경 변수를 통한 전역 제어:
CLAUDE_CODE_SUBAGENT_MODEL=claude-3-haiku-20240307: 모든 서브에이전트의 기본 모델을 Haiku로 설정합니다.CLAUDE_CODE_SUBAGENT_MODEL_FORCE=1: 이 변수를 설정하면 개별 서브에이전트 파일에 지정된 모델 설정을 무시하고, 환경 변수에 지정된 모델을 강제로 사용하게 됩니다. 이는 비용 관리에 특히 유용합니다.
실전 데모 시나리오: 파이썬 백엔드 코드 검증 자동화
이제 위에서 구축한 스킬과 서브에이전트를 활용하여 실제 개발 시나리오를 시뮬레이션해 보겠습니다.
- 개발자 작업: 개발자가 파이썬 FastAPI 백엔드 API를 구현합니다. 예를 들어, 새로운 사용자 등록 엔드포인트를 추가하고 Pydantic 모델을 정의합니다.
- 검증 요청: 구현을 완료한 개발자가 Claude Code 메인 대화창에 다음과 같이 요청합니다.
“새로 구현한 사용자 등록 API 코드에 대해
python-reviewer서브에이전트를 사용해서 코드 리뷰를 해줘. 특히 Pydantic 모델 사용법과 아키텍처 준수 여부를 중점적으로 봐줘.” - Claude Code의 작동:
- Claude Code 메인 에이전트는 개발자의 요청을 파싱하고,
python-reviewer서브에이전트를 백그라운드(또는 포크된 환경)에서 실행합니다. python-reviewer서브에이전트는 실행되면서.claude/agents/python-reviewer.md에 정의된 지침과python-clean-code스킬을 자동으로 로드합니다.- 서브에이전트는 격리된 컨텍스트 내에서 프로젝트의 관련 파일들을 탐색하고,
python-clean-code스킬의 지침(Pydantic 규칙, 아키텍처 가이드라인 등)에 따라 코드 품질을 검사합니다. - 필요하다면
scripts/폴더에 있는 스크립트를 실행하여 추가적인 자동 검증을 수행할 수도 있습니다.
- Claude Code 메인 에이전트는 개발자의 요청을 파싱하고,
- 결과 반환:
python-reviewer서브에이전트는 검토 작업을 완료한 후, 핵심적인 피드백과 개선 제안을 담은 간결한 요약 보고서(예: 1,000~2,000 토큰)를 메인 에이전트에 반환합니다. - 개발자 확인: 개발자는 메인 대화창에서 서브에이전트가 제공한 요약 보고서를 확인하고, 필요한 수정 사항을 반영하여 코드 품질을 향상시킵니다.
이 워크플로우를 통해 개발자는 반복적인 지시 없이도 일관된 코드 품질을 유지하고, 메인 에이전트의 컨텍스트를 효율적으로 관리하여 더욱 복잡한 문제 해결에 집중할 수 있게 됩니다.
운영 시 주의사항 및 비용 관리: 토큰 폭탄과 오버엔지니어링 피하기
스킬과 서브에이전트는 강력한 도구이지만, 잘못 사용하면 예상치 못한 비용 증가나 비효율을 초래할 수 있습니다. 다음 주의사항을 꼭 기억하세요.
- 토큰 비용 최적화의 양면성: 서브에이전트를 무분별하게 남발하거나, 서브에이전트 내부 설정에 전체 스킬을 무리하게 미리 로드(
preload)할 경우, 각 에이전트마다 토큰이 중복 소모되어 오히려 비용이 급증할 수 있습니다. 스킬은 필요할 때만 동적으로 로드되도록 설계되어 있으므로, 이 장점을 최대한 활용해야 합니다. - 에이전트 간 충돌 및 오버엔지니어링: 너무 많은 커스텀 에이전트와 서드파티 플러그인(예: 지나친 훅 설정)을 동시 적용할 경우, 각 에이전트의 프롬프트가 충돌하여 불필요한 연산을 반복하거나 의도하지 않은 도구 호출 에러(예:
subagent_type is required)를 유발할 수 있습니다. - 점진적 도입 전략: 프로젝트 초기에는 핵심적인 스킬 1~2개와 목적이 명확한 서브에이전트(예: 코드 리뷰 전용)만 먼저 도입하고, 그 효과를 검증한 후 점진적으로 확장하는 것이 좋습니다. 모든 것을 한 번에 자동화하려 하기보다, 가장 큰 비효율을 해결하는 지점부터 시작하세요.
결론: 개발 자동화의 주도권을 쥐는 법
Claude Code의 스킬과 서브에이전트는 단순한 기능 추가를 넘어, 개발자가 LLM 기반 코딩 도구를 활용하는 방식 자체를 변화시킬 잠재력을 가지고 있습니다. 이들을 통해 반복적인 작업에서 벗어나고, 컨텍스트 오염 없이 복잡한 문제 해결에 집중할 수 있는 환경을 구축할 수 있습니다.
핵심은 개발 자동화의 주도권을 사람이 쥐고, 효율적인 오케스트레이션 시스템을 구축하는 것입니다. 이 글에서 제시된 가이드를 바탕으로 여러분의 프로젝트에 맞는 스킬과 서브에이전트 워크플로우를 설계하고 적용해 보세요. 처음에는 작은 성공부터 시작하여 점진적으로 확장해 나간다면, 머지않아 훨씬 더 생산적이고 즐거운 개발 경험을 누리게 될 것입니다. 지금 바로 .claude/ 디렉토리를 만들고 첫 번째 스킬과 서브에이전트를 정의해 보는 것은 어떨까요?
함께 보면 좋은 글
- Claude Code 확장 워크플로우: 스킬과 서브에이전트로 개발 생산성을 극대화하는 실전 가이드
- AI 코딩 에이전트, 개발 생산성을 극대화하는 Claude Code 실무 워크플로우
- Claude Code, 1년 실무 검증: 훅(Hooks)과 서브에이전트로 개발 워크플로우 자동화하기
참고자료
최신 정보와 수치 확인에 참고한 공개 자료입니다. 제품·정책·가격은 변경될 수 있으므로 중요한 결정 전 원문도 확인해 주세요.
- claude.com
- claude.com
- claude.com
- claude.com
- claude.com
- anthropic.com
- velog.io
- youtube.com
- claude.com
- claude.com
작성 안내: 공개 자료 조사와 AI 보조 작성·자동 품질검사를 활용했습니다. 확인 가능한 출처를 우선 사용하며, 실제 환경에서는 버전·조건에 따라 결과가 달라질 수 있습니다.