PART 2: ADVANCED

Advanced
Techniques

Skills, Subagents, MCP 커넥터로 Claude Code의 진정한 힘을 해방하세요.

20 MIN READ
INTERMEDIATE - ADVANCED
PRACTICAL

기본 편을 마스터했다면
이제 고급 기능을 배울 차례입니다

이 섹션을 마치면 다음을 할 수 있습니다:

복잡한 프로젝트를 Subagent로 자동화

MCP로 GitHub/Slack 통합해 탭 전환 제로

실전에서 바로 적용 가능한 기술

목차

기능 용도
Skills 반복 패턴 학습
Subagents 복잡한 워크플로우 분할
MCP 외부 서비스 연동
1

Skills 시스템

Skill은 Claude에게 특정 작업 방법을 가르치는 마크다운 파일입니다. 요청 내용이 Skill의 목적과 맞으면 Claude가 자동으로 적용합니다.

Skill 생성 위치

사용자 레벨 (모든 프로젝트에서 사용 가능):

~/.claude/skills/your-skill-name/SKILL.md

프로젝트 레벨 (팀과 공유):

.claude/skills/your-skill-name/SKILL.md

SKILL.md 구조

---
name: code-review-standards
description: PR을 검토하거나 개선사항을 제안할 때 우리 팀의 코드 리뷰 표준을 적용하세요.
코드를 검토하거나, 베스트 프랙티스에 대해 논의하거나, 구현에 대한 피드백을 요청할 때 사용하세요.
---

# 코드 리뷰 표준

우리 팀의 모든 코드 리뷰는 다음 원칙을 따릅니다:

1. 가독성: 변수명은 명확하고 의미있어야 합니다
2. 성능: 복잡도는 O(n) 이하로 유지하세요
3. 테스트: 모든 새로운 함수에는 유닛 테스트가 필요합니다
4. 문서화: 복잡한 로직에는 주석을 추가하세요
Description이 핵심입니다

Claude가 Skill을 적용할지 결정할 때 description을 사용합니다. 트리거 조건을 구체적으로 명시하세요. "x skill 활용"이라고 명시적으로 말할 수도 있지만 목표는 Claude가 독자적으로 필요한 것을 인식하는 것입니다.

실제 예시: 커밋 메시지 포맷

---
name: commit-messages
description: 커밋을 생성하거나 커밋 메시지에 대한 도움을 요청할 때 우리 팀의 컨벤션을 따르는 커밋 메시지를 생성하세요.
---

# 커밋 메시지 형식

모든 커밋은 컨벤셔널 커밋을 따릅니다:
- feat: 새로운 기능
- fix: 버그 수정
- refactor: 수정이나 추가 없는 코드 변경
- docs: 문서만
- test: 테스트 추가 또는 업데이트

형식: `type(scope): description`

예: `feat(auth): 비밀번호 재설정 플로우 추가`

description은 50자 미만으로 유지하세요. 더 많은 컨텍스트가 필요하면
빈 줄을 추가한 다음 본문을 작성하세요.

동작 원리

Claude는 시작 시 모든 Skill의 이름과 설명만 미리 로드합니다 (각각 약 100 토큰).

전체 지시사항은 해당 Skill이 필요할 때만 로드됩니다. 따라서 수십 개의 Skill을 등록해도 컨텍스트가 부풀어지지 않습니다.

참고 파일 추가

Skill 폴더에 참고 파일을 추가할 수 있습니다. 긴 참고 자료는 별도 파일에 저장하고 SKILL.md에서 참조하세요. Claude는 필요할 때만 읽습니다.

Skill은 코드 외에도 활용 가능

다양한 활용 사례:

  • 프로젝트 전용 데이터베이스 쿼리 패턴
  • 회사 표준 API 문서 형식
  • 회의 노트 템플릿
  • 개인 워크플로우 (식단 관리, 여행 계획 등)
2

Subagents 아키텍처

Subagent는 자체 컨텍스트 윈도우, 시스템 프롬프트, 도구 권한을 가진 독립적인 Claude 인스턴스입니다.

Subagent의 역할

Claude가 Subagent에게 작업을 넘기면, Subagent는 독립적으로 작업하고 결과 요약만 메인 대화로 반환합니다.

컨텍스트가 약 45%를 넘으면 품질이 떨어집니다. Subagent를 사용하면 복잡한 작업을 깨끗한 컨텍스트에서 처리하고, 메인 대화는 깨끗하게 유지할 수 있습니다.

내장 Subagents

Explore

코드베이스를 검색하고 분석하기 위한 빠른 읽기 전용 에이전트. 변경 없이 코드를 이해해야 할 때 위임합니다.

Plan

플랜 모드 중 연구 에이전트로 사용됩니다. 계획을 제시하기 전에 코드베이스를 조사하고 발견사항을 반환합니다.

General-purpose

탐색과 액션이 모두 필요한 복잡한 다단계 작업을 위한 유능한 에이전트. 의존적인 단계나 복잡한 추론이 필요할 때 위임합니다.

커스텀 Subagent 생성

/agents 명령어로 등록된 Subagent를 확인하고 새로 만들 수 있습니다.

---
name: security-reviewer
description: 코드의 보안 취약점을 검토합니다.
인증 문제, 인젝션 위험, 데이터 노출을 확인할 때 호출하세요.
tools: Read, Grep, Glob
---

당신은 보안에 중점을 둔 코드 리뷰어입니다. 코드를 분석할 때:

1. 인증 및 권한 부여 격차 확인
2. 인젝션 취약점 검사 (SQL, Command, XSS)
3. 민감한 데이터 노출 위험 식별
4. 안전하지 않은 의존성 플래그 지정

각 발견사항에 대해 구체적인 파일과 라인 참조를 제공하세요.
심각도별로 분류하세요: critical, high, medium, low

* tools 필드로 Subagent의 권한을 제어합니다. 읽기 전용 리뷰어는 Read, Grep, Glob으로 제한하고, 구현 에이전트는 Write, Edit, Bash를 포함하세요.

Subagent 통신 방식

중요 포인트

Subagent들은 서로 컨텍스트를 공유하지 않습니다. 각각 격리된 상태로 동작하며, 작업 위임 → 결과 반환 패턴으로 통신합니다.

1

메인 에이전트가 위임에 적합한 작업을 식별

2

메인 에이전트가 작업을 설명하는 특정 프롬프트로 Subagent 호출

3

Subagent가 자체 컨텍스트 윈도우에서 실행

4

Subagent가 발견사항/작업의 요약을 메인 에이전트에 반환

5

메인 에이전트가 요약을 통합하고 계속

요약이 핵심

잘 설계된 Subagent는 전체 컨텍스트를 넘기지 않고 핵심 요약만 반환합니다. 그래서 출력 형식을 명확히 지정해야 합니다.

Subagent 체이닝

복잡한 작업은 여러 Subagent를 순차적으로 활용할 수 있습니다:

🤖 메인 에이전트

Explore Subagent에 탐색 요청

반환: "3개 관련 파일: auth.py, middleware.py, routes.py"

Implementer Subagent에 구현 요청

반환: "비밀번호 재설정 엔드포인트 추가, 2개 파일 수정"

Test Runner Subagent에 테스트 요청

반환: "12개 테스트 모두 통과, 커버리지 94%"

각 Subagent는 깨끗한 컨텍스트에서 작업하고, 메인 에이전트는 요약만 받습니다. 이렇게 하면 긴 작업 중 컨텍스트가 오얼되는 것을 방지할 수 있습니다.

3

MCP 커넥터

MCP (Model Context Protocol)는 AI 모델이 외부 도구와 데이터 소스에 접근할 수 있게 해주는 표준 프로토콜입니다.

Claude에서 외부 서비스 연동

GitHub, Slack, Gmail, Drive 등 외부 서비스를 Claude 인터페이스에서 직접 사용할 수 있습니다.

여러 탭을 오가며 컨텍스트를 전환할 필요 없이 하나의 세션에서 작업을 완료할 수 있습니다.

MCP 커넥터 추가하기

# HTTP 전송 (원격 서버에 권장)
claude mcp add --transport http <name> <url>

# 예: Notion 연결
claude mcp add --transport http notion https://mcp.notion.com/mcp

# 인증 포함
claude mcp add --transport http github https://api.github.com/mcp \
--header "Authorization: Bearer your-token"

웹 앱에서 쉽게 설정하기

또는 웹 앱에서 정말 쉬운 방법을 원한다면 settings → connectors → 서버 찾기 → configure → 권한 부여를 하면 됩니다.

활용 사례

MCP로 가능한 작업 예시:

이슈 트래커에서 기능 구현

"JIRA 이슈 ENG-4521에 설명된 기능 추가"

데이터베이스 쿼리

"지난 주 가입한 사용자를 PostgreSQL 데이터베이스에서 찾기"

디자인 통합

"새 Figma 디자인을 기반으로 이메일 템플릿 업데이트"

워크플로우 자동화

"피드백 세션에 이 사용자들을 초대하는 Gmail 초안 생성"

Slack 스레드 요약

"#engineering 채널에서 API 재디자인에 대해 팀이 결정한 게 뭐야?"

PR 관리

"이 PR에 대한 코드 검토를 해줘"

권장 MCP 서버

  • GitHub: 리포지토리 관리, 이슈, PR, 코드 검색
  • Slack: 채널 기록, 스레드 요약, 메시지 검색
  • Google Drive: 구현 중 참조할 문서 액세스
  • PostgreSQL/데이터베이스: Claude를 떠나지 않고 직접 쿼리
  • Linear/Jira: 이슈 트래킹 통합
보안 주의사항

타사 MCP 서버는 Anthropic에서 검증하지 않으므로 주의하세요. 민감한 통합의 경우 서버의 소스 코드를 검토하거나 서비스 제공자의 공식 커넥터를 사용하세요.

4

복합 시스템 구축

모든 것이 하나로

코드베이스 패턴을 아는 Skill + 테스트를 처리하는 Subagent + 이슈 트래커 MCP 연결 = 강력한 시스템이 됩니다.

Skills

팀의 컨벤션을 저장. 컨텍스트 부담 없음.

Subagents

메인 대화를 깔끔하게 유지하면서 복잡한 하위 작업을 처리합니다.

MCP

탭 전환 없이 외부 서비스 연동.

실제 워크플로우 예시

1. MCP로 JIRA 이슈 검색

"JIRA 이슈 PROJ-123 검색"

2. Subagent로 코드베이스 분석

Explore가 관련 파일 찾음

3. Skill로 팀 스타일 적용

코드 리뷰 표준 자동 적용

4. Subagent로 구현 및 테스트

Implementer가 빌드, Test-runner가 검증

5. MCP로 이슈 업데이트

완료 상태로 자동 업데이트

Claude Code를 가장 잘 활용하는 사람들은 일회성 작업에 쓰지 않습니다. Claude를 구성 요소로 하는 시스템을 구축합니다.

Skills, Subagents, MCP 설정에 시간을 투자하면, 이후 모든 작업에서 효과를 볼 수 있습니다.

어디서 시작할까요?

반복적으로 설명하는 게 있다면 Skill 하나부터 만들어보세요. 한 번에 모든 걸 시도할 필요는 없습니다.

복합 효과의 힘

Skills가 패턴을 인코딩하고, Subagents가 하위 작업을 처리하고, MCP가 서비스를 연결합니다. 함께라면 사용할수록 더 좋아지는 시스템을 구축합니다.

복합 시스템

Skills × Subagents × MCP
= 무한한 가능성

Bonus: Plugins & Hooks

Plugin 시스템

Claude Code는 플러그인을 통해 기능을 확장할 수 있습니다. 공식 플러그인 마켓플레이스에서 검증된 플러그인을 설치하세요.

# 마켓플레이스에서 플러그인 검색
/plugin marketplace

# 플러그인 설치
/plugin install plugin-name

# 공식 Skills 플러그인 추가
/plugin marketplace add anthropics/skills

공식 플러그인 저장소: github.com/anthropics/claude-plugins-official

Hooks 시스템

Hooks는 Claude Code의 특정 이벤트에 반응하는 자동화 스크립트입니다. 파일 저장, 커밋, 테스트 실행 등의 이벤트에 커스텀 동작을 연결할 수 있습니다.

pre-commit

커밋 전 린트/포맷 실행

post-save

파일 저장 후 테스트 실행

on-error

에러 발생 시 로깅/알림

session-start

세션 시작 시 환경 설정

Hooks 설정 위치

Hooks는 ~/.claude/hooks/ 또는 프로젝트 루트의 .claude/hooks/ 디렉토리에 정의합니다.