# Claude Code의 Skills, Subagents, MCP, Plugins: 무엇을 선택할까

> Skills, subagents, MCP, plugins는 Claude Code를 확장하는 네 가지 계층입니다. 각각 언제 사용해야 하는지, 바로 쓸 수 있는 의사결정 매트릭스와 프로젝트 예시를 곁들여 설명합니다.

Source: https://ailoot.ai/blog/ko/skills-subagents-mcp-plugins-claude-code/
Canonical: https://ailoot.ai/blog/ko/skills-subagents-mcp-plugins-claude-code/
Language: ko
Publisher: Ailoot (https://ailoot.ai/)
Translation: guide-214
Revision: sha256-971f45f292b67ea0aad27d17c128dd32c48315d18edf740d8ddb2f429c9099c0


Claude Code에서는 같은 코드 리뷰를 하는 방법이 다섯 가지입니다. 슬래시 명령, skill, subagent, plugin, 또는 단순히 채팅에 프롬프트를 입력하는 방식입니다. 어느 방식도 기본적으로 더 낫지는 않습니다. 선택은 작업, 토큰 예산, 그리고 본인 외에 누가 사용할지에 따라 달라집니다.



이 가이드는 1년 전에 내가 나 자신에게 건네고 싶었던 내용입니다. 질문 4개로 된 의사결정 트리, 바로 사용할 수 있는 “작업 → 계층” 매트릭스, 그리고 내가 함께 일하는 다른 모든 바이브 코더의 토큰을 낭비하게 만드는 흔한 실수 5가지를 담았습니다.

서비스 사용 방법은 [Ailoot 문서](https://ailoot.ai/docs/)를 참조하세요.

## Skills, subagents, MCP, plugins를 한 문장으로 설명하면?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="핵심 요점">

핵심 요점

Skill은 트리거되면 Claude가 불러오는 패키지형 방법론입니다. Subagent는 긴 작업을 위해 별도의 컨텍스트를 사용하는 격리된 “동료”입니다. MCP는 외부 시스템(데이터베이스, GitHub, Notion)에 연결하는 다리입니다. Plugin은 위 요소를 모두 포함해 한 줄로 설치하는 다른 사람의 완성된 묶음입니다.

</div>

선택하기 전에 용어부터 구분해 보겠습니다. 네 계층은 모두 Claude의 기본 기능을 확장한다는 목표가 같습니다. 하지만 각 계층의 성격은 다릅니다.

**Skill**은 특정 방법론을 언제, 어떻게 적용할지 설명하는 `SKILL.md` 파일이 들어 있는 디렉터리입니다. Anthropic은 skill을 신입 직원에게 주는 지침에 비유합니다. 매일 모든 단계를 지시하는 대신 절차를 알려주는 것입니다.

**Subagent**는 메인 대화에서 실행되는 별도의 Claude 세션으로, 자체 컨텍스트를 사용합니다. 핵심 특징은 격리입니다. Subagent는 파일 30개를 읽고 요약을 만든 다음, 그 요약만 메인 채팅에 반환할 수 있습니다. 메인 대화의 컨텍스트는 깔끔하게 유지됩니다.

<strong>MCP (Model Context Protocol)</strong>는 Claude를 외부 시스템에 연결하기 위한 Anthropic의 개방형 표준입니다. Anthropic은 2025년 11월 13일 블로그 게시물에서 두 개념의 차이를 가장 명확하게 설명했습니다.

<figure>
<blockquote>
<p>MCP는 Claude를 데이터에 연결하고, Skills는 Claude에게 그 데이터로 무엇을 해야 하는지 가르칩니다. 도구 사용법이나 절차를 따르는 방법을 설명하는 것이라면—예를 들어 “우리 데이터베이스를 조회할 때는 항상 먼저 날짜 범위로 필터링한다”—그것은 Skill입니다. Claude가 애초에 데이터베이스나 Excel 파일에 접근할 수 있어야 한다면 그것이 MCP입니다.</p>
</blockquote>
<figcaption>— Anthropic Engineering, https://claude.com/blog/skills-explained</figcaption>
</figure>

**Plugin**은 다른 사람이 만든 skill, subagent, hook, 명령의 완성된 묶음으로, 마켓플레이스에서 패키지 형태로 배포됩니다. `/plugin install`을 사용해 한 줄로 설치하면 모든 요소를 한꺼번에 얻을 수 있습니다. Skill이 자신만의 절차라면, plugin은 다른 회사에서 구매한 절차입니다.

요약하면 skills는 레시피, subagents는 전문 동료, MCP는 Claude가 서비스와 데이터에 접근할 수 있게 해주는 외부 도구입니다. 토큰 비용은 다릅니다. Skill은 트리거될 때 불러오므로 가장 저렴하고, MCP는 연결된 각 서버가 컨텍스트 창의 공간을 계속 차지하므로 훨씬 비쌉니다.

## CLAUDE.md 하나로 충분한데 왜 계층이 4개나 필요할까?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="핵심 요점">

핵심 요점

CLAUDE.md는 요청입니다. Claude는 세션 시작 시 이를 읽지만 메시지 20개가 지나면 무시할 수도 있습니다. Skills, subagents, MCP, plugins는 CLAUDE.md로 해결할 수 없는 확장성, 컨텍스트 격리, 외부 세계에 대한 접근, 팀과의 방법론 공유를 해결합니다.

</div>

설명한 프로젝트에서 CLAUDE.md는 규칙을 정리한 큰 지도입니다. 무엇을 어디에 두는지, 어떻게 게시하는지, 어떤 합의가 있는지 등을 담습니다. 이 파일이 없으면 Claude는 새 세션을 시작할 때마다 처음부터 시작하게 됩니다.

하지만 CLAUDE.md에는 한계가 있습니다. 작동하지 않기 시작하는 세 가지 상황을 설명하겠습니다.

**상황 1: 규칙이 가끔만 지켜진다.** CLAUDE.md에 “`git push` 전에 항상 `npm run build`를 실행한다”라고 적혀 있습니다. Claude는 세션 시작 시 이를 읽고 고개를 끄덕이지만, 메시지 25개가 오간 뒤 코드를 쓰기 시작하면서 잊어버립니다. 나는 빌드 없이 push한 적이 이미 세 번 있는데, 모두 프로덕션에서 실패했습니다. 올바르게 설정·시험한 hook은 결정적 빌드 검사를 실행하고 해당 동작을 거부할 수 있습니다. 범위는 이벤트와 도구 경로에 달려 있으며 다른 터미널·앱의 모든 push를 가로채지는 않습니다. 의도적으로 실패시킨 빌드가 실제 경로를 막는지 검증하세요.

**상황 2: 반복되는 15단계 절차.** 설명한 예시에서 모든 가이드는 14단계를 거칩니다. 조사 → 구성 → MDX → 병렬 QA 검사 7개 → 프로덕션 게시 → IndexNow입니다. 매번 “1단계를 실행한 다음 2단계, 그다음 3단계를 실행해”라는 프롬프트를 작성한다면 시작하기도 전에 토큰을 낭비하게 됩니다. 그래서 이 전체 워크플로를 `build-masterskaya-guide` skill에 담았습니다. 34 KB 분량의 지침을 “프로젝트의 새 가이드를 만들자”라는 문구로 실행합니다.

**상황 3: 컨텍스트를 삼켜 버리는 작업.** 이미 게시된 가이드의 최신성을 확인하려면 Claude는 30 KB 라이브스트림 녹취록, 각각 5 KB인 회고 20개를 읽고 현재 사이트와 비교해야 합니다. 메인 채팅에서 이 작업을 하면 검토가 끝날 때쯤 컨텍스트에 쓸모없는 토큰이 200K나 쌓입니다. Subagent는 같은 작업을 수행한 뒤 300단어 요약만 메인 대화에 반환하고 종료합니다.

**상황 4: 팀원도 나와 같은 템플릿을 사용하게 하고 싶다.** 프런트엔드 디자인 규칙, Coolify를 통한 게시용 hook, Playwright 검사용 MCP를 미리 묶어 둡니다. 이것이 plugin입니다. 설정을 패키지로 만들어 마켓플레이스에 게시하면 동료가 한 줄로 설치합니다.

CLAUDE.md는 “여기서는 이렇게 일한다”라는 기본 사항을 다룹니다. 그 위의 네 계층은 CLAUDE.md가 물리적으로 할 수 없는 일, 즉 트리거를 통한 반복, 컨텍스트 격리, 외부 세계에 대한 접근, 공유를 담당합니다.

## CLAUDE.md 대신 skill이 필요한 때는?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="핵심 요점">

핵심 요점

명확한 트리거가 있는 반복 가능한 절차를 하루에 한 번보다 더 자주 수행한다면 skill을 사용하는 것이 좋습니다. CLAUDE.md와 달리 skill은 필요할 때만 불러오므로 모든 세션의 기본 컨텍스트를 낭비하지 않습니다.

</div>





Skill이 필요한지 확인하는 방법은 간단합니다. 노트에 적어 둔 똑같은 긴 프롬프트를 채팅에 복사하고 있는 자신을 발견한다면 됩니다. 세 번째 반복은 이미 신호입니다.

현재 `~/.claude/skills/`에 디렉터리 7개가 있습니다. `build-masterskaya-guide`, `build-vc-spoke`, `build-reel-script`, `build-practicum-instruction`, `update-config`, `simplify`, `keybindings-help`입니다. 가장 많이 쓰는 것은 `build-masterskaya-guide`이며, 이 가이드도 이를 사용해 작성했습니다. 여기에 방법론 34 KB가 들어 있습니다. 거쳐야 할 단계, 실행할 멀티 에이전트 QA 검사, 프로세스를 중단해야 하는 게이트 조건, `/tmp/`에 저장할 산출물 등이 담겨 있습니다.

**Skill을 만들지 말아야 할 때.**

- “사용자가 선호하는 언어로 답한다” 같은 규칙은 skill이 아니라 CLAUDE.md에 넣어야 합니다. Skill은 트리거될 때 불러오지만, 이 규칙은 항상 적용되어야 합니다.
- “지금 리팩터링을 실행해” 같은 일회성 지침은 skill이 아니라 채팅에 적어야 합니다.
- 별도 컨텍스트에는 subagent를 쓰고 반복 절차도 있다면 그 방법론은 skill로 유지하세요.

**대표적인 안티패턴.** 바이브 코더가 가장 흔히 저지르는 실수는 skill로 만들어야 할 절차를 subagent에 몰아넣는 것입니다. Subagent는 자체 컨텍스트가 있어 토큰이 더 들고, 시작이 느리며, 과도한 경우가 많습니다. 외부 파일을 읽지 않고 방법론을 1,500–2,000단어로 정리할 수 있다면 skill로 만들면 됩니다.

Skill 구성 방법, frontmatter에 넣을 내용, 효과적인 트리거 문구는 [2026년 Claude Code Skills: 개인 Skills 라이브러리 구축 방법](https://ailoot.ai/blog/ko/claude-code-skills-library/)을 참조하세요.

## Skill 대신 subagent가 필요한 때는?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="핵심 요점">

핵심 요점

Subagent는 무거운 작업을 자체 컨텍스트로 옮기고 요약만 메인 채팅에 반환합니다. 파일을 많이 읽거나, 긴 분석을 하거나, 같은 검사 5개를 병렬로 수행해야 하고 메인 대화에서 모든 중간 작업을 볼 필요가 없을 때 사용하세요.

</div>

Skill은 방법론을 저장하고, subagent는 실제 작업을 수행합니다. 둘 다 “채팅에서” 시작할 수 있어 자주 혼동되지만 서로 다른 계층입니다.

Subagent는 컨텍스트 격리가 필요할 때만 유용합니다. Claude 메인 세션의 예산은 토큰 200,000개(베타에서는 1 million)입니다. 메인 채팅에 파일 30개를 읽고 하나씩 분석하라고 요청하면 중간 읽기 작업만으로 창의 절반을 소모합니다. Subagent는 동일한 작업을 별도 세션에서 수행하고 결과만 메인 채팅에 반환합니다.

**구체적인 프로젝트 예시.** 모든 가이드는 여러 QA 검사를 병렬로 거칩니다. 문체, 1차 출처를 통한 인용과 사실 확인, 검색 엔진을 위한 구성, 내부 및 외부 링크의 무결성 검사입니다. 각 검사에는 고유한 컨텍스트가 필요합니다. 규칙 용어집, 수십 개 URL에 대한 WebFetch, 텍스트 검색 등이 이에 해당합니다.

이 검사를 모두 한 채팅에서 실행하면 첫 번째 검사도 끝나기 전에 컨텍스트에 압도당합니다. `run_in_background: true`로 subagent를 병렬 실행하면 해결됩니다. Subagent가 백그라운드에서 작업하는 동안 메인 채팅은 다른 일을 진행하고, 4–6분 뒤 간결한 보고서를 받아 변경 사항을 적용합니다.

**두 번째 예시—대규모 조사.** 새 가이드의 주제를 정할 때 subagent 4개가 신호를 병렬로 수집합니다.

- V1 - 지난 14일간의 포럼과 커뮤니티
- V2 - 소셜 네트워크
- V3 - 동영상 플랫폼 + Anthropic 블로그
- V4 - SEO 격차

각각 바이럴 점수가 포함된 항목 30–40개를 반환합니다. 이를 한데 모아 9개 차원에 따라 가중치를 적용하고 승자를 선택합니다. Subagent가 없다면 이 단계에만 2–3시간이 걸리며 메인 컨텍스트를 소모합니다.

**Subagent를 만들지 말아야 할 때.**

- 파일을 읽거나 WebFetch를 사용할 필요가 없는 작업은 메인 채팅에서 하면 됩니다.
- 반복 절차는 skill에 넣되 격리가 유용하면 subagent 안에서 실행할 수 있습니다.
- 외부 접근에는 승인된 MCP나 CLI가 필요하며 위임된 subagent가 사용할 수 있습니다.

**대표적인 안티패턴.** Claude가 적절한 사용 시점을 알아서 판단할 거라 기대하며 `backend-engineer`나 `qa`라는 이름의 subagent를 만드는 것입니다. `migration-test-writer`나 `api-route-reviewer`처럼 구체적인 subagent는 일반적인 subagent보다 훨씬 높은 품질을 제공합니다. 이름과 지침이 구체적일수록 Claude가 올바른 subagent를 더 정확하게 선택합니다.

특정 작업용 subagent를 만드는 방법, frontmatter 문법, 바로 쓸 수 있는 예시 5개는 [2026년 Claude Code Subagents: 단계별 가이드](https://ailoot.ai/blog/ko/claude-code-subagents/)를 참조하세요.

## Skill이나 subagent 대신 MCP가 필요한 때는?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="핵심 요점">

핵심 요점

MCP는 데이터베이스, GitHub, Sentry, 브라우저 등의 도구와 접근을 제공합니다. 작업에 그 접근이 필요할 때 사용하세요. 스킬은 같은 도구를 쓰는 방법론을 제공하므로 두 계층은 보완 관계입니다.

</div>

Anthropic은 블로그 게시물에서 차이를 짧은 공식으로 설명했습니다. MCP는 Claude를 데이터에 연결하고, skills는 그 데이터로 무엇을 해야 하는지 Claude에게 가르칩니다.

GitHub 이슈 리뷰 스킬에는 이슈 내용이 필요합니다. 승인된 MCP, CLI, 제공된 텍스트로 전달하세요. 스킬은 검토와 결과 구성 방식을 정하며 MCP 접근만으로 그 절차가 정해지지는 않습니다.

**내가 사용하는 구체적인 MCP 스택.**

- **Playwright MCP** - 모든 가이드의 시각적 QA. 데스크톱과 모바일에서 페이지를 열고 컨테이너 너비와 블록 렌더링 여부를 확인합니다.
- **Stitch MCP** - 디자인 시스템에 접근하고 브랜드 스타일에 맞는 컴포넌트를 생성합니다.
- **vidIQ MCP** - 트렌드 분석과 아이디어의 바이럴 가능성 확인에 사용합니다.
- **Railway MCP** - 배포 인프라를 관리합니다.

이 4개는 각각 외부 시스템에 연결하는 다리입니다. MCP가 없다면 직접 wrapper 코드를 작성하거나 브라우저로 전환해야 합니다. MCP가 있으면 모든 작업이 Claude 세션 안에서 이루어집니다.

**토큰 비용.** MCP는 가장 비싼 계층입니다. 연결된 서버마다 도구 선언, 인수 스키마, 설명이 컨텍스트 창의 공간을 계속 차지합니다. MCP 서버 4개를 사용하고 있어 새 세션을 시작할 때마다 아무것도 묻기 전부터 토큰 약 8–12K가 소모됩니다.

따라서 대부분의 세션에서 실제로 필요한 경우에만 MCP를 연결합니다. Sentry MCP를 일주일에 한 번 쓴다면 영구 목록에 두는 대신 `--mcp sentry` 플래그로 필요할 때 활성화하는 편이 낫습니다.

**MCP를 사용하지 말아야 할 때.**

- “데이터로 작업하는 방법”에 관한 방법론은 MCP가 아니라 skill에 넣어야 합니다.
- 긴 읽기에는 subagent가 유용할 수 있고 외부 파일·기록이 있으면 그 subagent에 MCP 접근도 필요할 수 있습니다.
- 명령 하나로 게시하려면 MCP가 아니라 hook이나 plugin이 필요합니다.

**대표적인 안티패턴.** Skill로 더 잘 처리할 수 있는 일을 위해 MCP 서버를 만드는 것입니다. HN 토론(5월 27일에 422점을 얻은 바로 그 스레드)에서 그런 사례를 봤습니다. 작성자가 “코드 리뷰 지침”을 제공하는 MCP 서버를 만들었습니다. 하지만 이것은 외부 세계에 접근하는 일이 아니라 절차입니다. Skill은 토큰을 10분의 1만 사용하면서 같은 일을 합니다.

**리소스 경합 사고.** 한 번은 Playwright MCP가 “Browser is already in use” 오류와 함께 멈춘 적이 있습니다. 동시에 Chrome 창을 열어 두었고, MCP가 브라우저를 제어하지 못했습니다. 여기서 중요한 점은 MCP 서버가 공유 시스템 리소스를 사용한다는 것입니다. 브라우저, 포트, 파일처럼 리소스가 경합될 수 있다면 처음부터 격리를 고려하세요.

작동하는 MCP 7개를 연결하는 완성된 가이드는 [2026년 Claude Code MCP Servers: 바로 쓸 수 있는 설정 7가지](https://ailoot.ai/blog/ko/mcp-servers-claude-code/)에 있습니다.

## Skill이나 subagent 대신 plugin이 필요한 때는?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="핵심 요점">

핵심 요점

Plugin은 다른 사람이 패키지로 묶은 skill, subagent, hook, 명령으로, 마켓플레이스를 통해 한 줄로 설치합니다. 처음부터 모든 것을 만들고 싶지 않고 패키지 제작자를 신뢰할 때 사용하세요. 예를 들어 프런트엔드 디자인, Playwright를 통한 테스트, Telegram 연동에 적합합니다.

</div>

Skills, subagents, MCP는 자신의 방법론에 관한 것입니다. Plugin은 다른 사람의 완성된 방법론을 설정에 가져오는 방식입니다.

2025년 10월 Anthropic은 공식 배포 메커니즘인 Claude Code Plugins를 출시했습니다. Plugin은 다음 항목을 포함할 수 있는 디렉터리입니다.

- 자체 슬래시 명령
- 자체 skills
- 자체 subagents
- 자체 hooks
- 자체 MCP 설정
- 자체 출력 스타일

이 모든 요소를 `plugin.json`이 포함된 하나의 묶음으로 패키지화합니다. `~/.claude/settings.json`에서 한 줄로 설치하거나 `/plugin install <name>` 명령을 사용합니다.

**내가 사용하는 구체적인 plugin 스택.**

- 공식 `claude-plugins-official`에서 제공하는 **`frontend-design`**—스타일 67개, 팔레트 96개, 글꼴 조합 57개, 프레임워크 13개. 사이트나 이메일 템플릿에 새 블록을 만들 때 이 plugin을 불러오면 전체 라이브러리를 한 번에 사용할 수 있습니다.
- 같은 공식 마켓플레이스의 **`playwright`**—브라우저 테스트용 skills와 MCP 설정의 묶음입니다.
- **`telegram`**—Claude Code에서 Telegram 계정을 관리하는 완성된 묶음(정책, allowlist, pairing)입니다.
- **`trailofbits/skills`**—보안 분야에서 신뢰하는 회사 Trail of Bits의 보안 skill 묶음입니다.

이 4개를 모두 `settings.json`의 세 줄로 설정합니다. Plugin이 없다면 같은 라이브러리를 직접 만들느라 몇 시간을 썼을 것입니다.

**Plugin을 사용하지 말아야 할 때.**

- 방법론이 전적으로 자신만의 것이고 다른 사람에게 확장할 필요가 없다면 skill로 유지하세요.
- 누가 사용할지 아직 모른다면 먼저 skill로 직접 사용해 보세요.
- 새 기계에 파일 세 개를 빠르게 옮겨야 한다면 `cp ~/.claude/skills/X /new/machine/.claude/skills/`로 충분합니다.

**대표적인 안티패턴.** CLAUDE.md를 대체하기 위해 plugin을 사용하는 것입니다. 예를 들면 “이 프로젝트에서는 이렇게 일한다”라는 규칙을 담은 plugin입니다. Plugin은 배포와 재사용을 위한 것입니다. 규칙이 특정 저장소에만 해당한다면 plugin이 아니라 CLAUDE.md에 넣어야 합니다.

2026년을 내다보면 Anthropic은 팀용 plugin 마켓플레이스를 분명히 추진하고 있습니다. 기업은 내부 방법론을 plugin으로 게시하고 버전을 관리하며, 한 번의 명령으로 모든 직원에게 업데이트할 수 있게 될 것입니다. 1인 사업자에게는 준비된 것을 설치하고 바퀴를 다시 발명하지 말라는 뜻입니다.

## 의사결정 트리: 작업 전에 확인할 질문 4개

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="핵심 요점">

핵심 요점

네 질문에 각각 독립적으로 답하세요. “예”는 필요한 요소를 나타내므로 첫 답 뒤에도 계속 확인하세요. 하나의 작업은 여러 계층을 결합할 수 있고 모두 “아니요”라면 일반 요청과 프로젝트 지침으로 충분할 수 있습니다.

</div>

**질문 1: 보관할 만한 반복 절차가 있나요?**

그렇다면 방법론을 명확한 사용 설명이 있는 `SKILL.md`의 **스킬**로 담으세요. 절차를 제공할 뿐 외부 접근이나 별도 컨텍스트를 주지는 않습니다.

**질문 2: 별도 컨텍스트나 집중된 위임 역할이 필요한가요?**

그렇다면 **서브에이전트**에 정확한 작업과 도구를 주세요. 격리된 컨텍스트 안에서도 같은 스킬 방법론을 따를 수 있습니다.

**질문 3: 도구나 외부 데이터 접근이 필요한가요?**

그렇다면 **MCP나 적절한 다른 도구**, 예를 들어 설정된 CLI로 승인된 접근을 제공하세요. 스킬은 사용법을 설명하고 서브에이전트는 실행 주체가 될 수 있습니다.

**질문 4: 이 구성을 패키지로 배포·유지해야 하나요?**

그렇다면 **플러그인**으로 관련 스킬, 에이전트 정의, 훅, MCP 설정을 배포하세요. 본인 또는 다른 작성자의 패키지일 수 있습니다.

**결합 예시: 반복 GitHub 이슈 리뷰.** 스킬은 절차와 결과 형식, 승인된 GitHub MCP나 CLI는 데이터 접근을 제공합니다. 서브에이전트는 긴 스레드를 별도 컨텍스트에서 읽어 지적을 반환하고 플러그인은 이 구성을 팀에 배포할 수 있습니다. 네 답 모두 “예”일 수 있으며 서로를 취소하지 않습니다.

## 바이브 코더가 계층을 선택할 때 저지르는 실수 5가지

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="핵심 요점">

핵심 요점

비용이 가장 큰 실수는 skill 대신 subagent를, skill 대신 MCP를, CLAUDE.md 대신 plugin을 사용하고, hook을 통해 skill을 실행하려는 것입니다. 각각 토큰을 낭비하거나 동작을 망가뜨립니다. 구체적인 예시로 실제로 일어난 일과 올바른 방법을 살펴보겠습니다.

</div>

내가 함께 일하는 바이브 코더들 사이에서 이 5가지 패턴을 일주일에 한 번은 봅니다. 두 명 중 한 명은 첫 주에 적어도 하나를 저지릅니다.

**실수 1: skill 대신 subagent 사용.**

증상: 어떤 작성자가 “새 블로그 글 작성”을 위한 subagent를 만들었습니다. 실행할 때마다 subagent가 시작되어 방법론 2 KB를 읽고 게시물을 생성한 뒤 종료됩니다. 일주일 후 작성자는 subagent를 불러오는 데 실행당 5K 토큰을 추가로 쓰고 있다는 점을 알아차립니다.

올바른 방법: “게시물 쓰는 방법”은 방법론이므로 skill이 적합합니다. 트리거는 “새 블로그 글”이라는 문구입니다. Skill은 메인 채팅에 불러오며 별도 세션을 열지 않습니다. 비용이 3–5배 저렴합니다.

**실수 2: skill 대신 MCP 서버 사용.**

증상: 어떤 작성자가 “코드 리뷰 방법”을 알려주는 MCP 서버를 만들었습니다. 도구 선언, 인수 스키마 설명, 문서가 계속 컨텍스트를 차지합니다. 요청할 때마다 아무 의미 없이 2–3K 토큰을 낭비합니다.

올바른 방법: “코드 리뷰 방법”은 외부 시스템 접근이 아니라 절차입니다. Skill을 사용하세요. MCP는 최신 오류를 가져오기 위해 Sentry에 접속하는 경우처럼 실시간 접근이 필요할 때만 정당화됩니다.

**실수 3: CLAUDE.md 대신 plugin 사용.**

증상: 어떤 작성자가 “항상 TypeScript strict 모드를 사용한다”, “대시를 사용하지 않는다”, “npm이 아니라 pnpm만 사용한다” 같은 프로젝트 규칙을 plugin으로 묶어 설치했습니다. 이제 새로운 세션마다 CLAUDE.md에 있어야 할 내용을 중복하는 plugin을 불러옵니다.

올바른 방법: 한 프로젝트의 규칙은 그 프로젝트의 CLAUDE.md에 있어야 합니다. Plugin은 여러 사람이나 저장소에서 재사용할 방법론을 위한 것입니다.

**실수 4: hook으로 skill을 만들려고 함.**

증상: 어떤 작성자가 hook이 이벤트(예: 파일을 저장하기 전)에 자동으로 실행되는 것을 봤습니다. Claude가 편집할 때마다 자동으로 방법론을 적용하도록 “hook을 통한 skill”을 만들기로 했습니다. 그 결과 무한 트리거 루프가 생기고 컨텍스트를 낭비했으며 동작이 예측 불가능해졌습니다.

올바른 방법: Hook은 명령을 실행하고, 결과를 포맷하거나, 작업을 차단하는 결정적 코드입니다. Hook은 skill을 불러오거나 Claude를 실행하지 않습니다. “방법론 X를 항상 적용”하려면 트리거가 있는 skill이나 CLAUDE.md 항목을 사용하세요.

**실수 5: 아무것도 필요하지 않은데 계층을 추가함.**

증상: 어떤 작성자가 skills 이야기를 듣고 가이드를 읽은 뒤 “이 방법론을 패키지로 만들어야겠다”고 결심해 한 달에 한 번 하는 작업을 위해 저녁 내내 skill을 만듭니다.

올바른 방법: 일회성 작업은 필요할 때 채팅에서 처리하면 됩니다. Skill은 그 일을 하루에 한 번보다 더 자주 할 때만 필요합니다. 그렇지 않으면 유지 관리해야 하는 과도한 설계에 불과합니다.

절차, 컨텍스트·역할 격리, 도구 접근, 배포라는 필요를 각각 확인하세요. 구체적 목적이 있는 계층을 추가하고 여러 요소가 필요한 작업에서는 결합하세요.

## Anthropic이 말하는 분화 문제: 2026년 Claude Code의 향방

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="핵심 요점">

핵심 요점

Claude Code는 코드 리뷰를 위한 명령, skill, subagent, plugin, 채팅이라는 다섯 가지 방식을 내장 `/code-review` skill 하나로 통합하고 있습니다. 2026년에는 경계가 흐려지고 단순해지고 있습니다.

</div>









앞으로 6개월에서 1년 동안 다음과 같은 변화가 예상됩니다.

**첫째: 절차적 작업의 중심 계층은 skills가 될 것입니다.** Anthropic은 가장 저렴하고 예측 가능한 이 계층에 분명히 투자하고 있습니다. 2026년에 skill이 왜 필요한지 이해하지 못했다면 우선 skill부터 살펴보세요. 다른 모든 계층이 이를 중심으로 움직일 것입니다.

**둘째: subagents는 더욱 전문화될 것입니다.** Subagents의 핵심 역할은 무거운 작업에서 컨텍스트를 격리하는 것입니다. `qa-engineer` 같은 일반적인 subagent는 사라지고 `migration-test-writer`, `api-route-reviewer`처럼 구체적인 subagent는 남을 것입니다.

**셋째: 14일 사이 발표된 Anthropic의 새 소식, 즉 수십 개 subagent를 오케스트레이션하는 `/workflows` 명령(2026년 5월 28일)과 6월 15일부터 시작되는 Agent SDK 과금 분리는 프로그래밍 방식의 사용이 별도 풀로 옮겨 가고 있음을 의미합니다.** 이는 Anthropic이 개별 세션보다 10개 이상의 에이전트로 구성된 자동화 시스템을 위한 인프라를 구축하고 있다는 신호입니다.

2026년의 바이브 코더에게 이는 간단한 의미입니다. 네 계층은 앞으로 최소 6개월 더 유지된 뒤 일부가 통합될 것입니다. 하지만 네 가지 질문으로 된 의사결정 트리는 통합 이후에도 유효합니다. 특정 계층의 이름이 아니라 작업의 성격을 다루기 때문입니다.

## 바로 쓸 수 있는 매트릭스: 흔한 작업 10가지 → 적합한 계층

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="핵심 요점">

핵심 요점

표는 상황별 주요 필요를 보여줍니다. 행들은 보완 관계이므로 한 작업이 여러 행에 해당해 여러 계층을 결합할 수 있습니다.

</div>

| \# | 트리거 상황 | 적합한 계층 | 이 계층인 이유 |
|----|----|----|----|
| 1 | Claude가 한 세션에서 같은 규칙을 2–3번 놓친다 | **CLAUDE.md** | 반응형이며 항상 컨텍스트에 들어 있고 트리거가 필요 없음 |
| 2 | 같은 긴 프롬프트를 하루에 한 번보다 더 자주 입력한다 | **Skill** | 요청 시 불러오므로 기본 컨텍스트를 낭비하지 않음 |
| 3 | 1,500단어 플레이북을 채팅에 붙여 넣는 것이 벌써 세 번째다 | **Skill** | 트리거 문구로 불러오는 절차적 방법론 |
| 4 | 읽을 파일이 20개 이상인 작업이 메인 채팅을 삼킨다 | **Subagent** | 컨텍스트를 격리하고 요약만 메인 채팅에 반환 |
| 5 | 동일한 검사 5개(QA, 리뷰, lint)를 병렬로 해야 한다 | **Subagents** | `run_in_background`로 실행하면 전체 시간이 5분의 1로 줄어듦 |
| 6 | GitHub 이슈나 Sentry의 최신 오류를 읽고 싶다 | **MCP** | 표준 프로토콜을 통해 외부 시스템에 직접 접근 |
| 7 | 해당 push 동작을 자동 검사하고 싶다 | **검증된 Hook** | 결정적 검사. 실제 트리거와 차단 동작 검증 |
| 8 | 설정을 두 번째 저장소나 새 컴퓨터로 옮기고 싶다 | **Plugin** | 마켓플레이스를 통한 배포와 namespace 제공 |
| 9 | 팀원 10명이 같은 규칙을 따라야 한다 | **팀 마켓플레이스의 Plugin** | 버전 관리, 한 번 설치, 중앙 업데이트 |
| 10 | 외부 서비스의 webhook(Telegram, GitHub Actions)에 응답해야 한다 | **MCP channel 또는 Agent SDK** | 외부 세계의 메시지를 세션으로 전달 |

이 표를 사용하는 핵심 규칙은 “10개를 한 번에 모두 하려 하지 않는 것”입니다. 대부분의 1인 바이브 코더는 CLAUDE.md + skill 5–7개 + MCP 서버 2–4개면 충분합니다. Subagents와 plugins는 프로젝트가 성장하면서 추가합니다.

## 다음 단계: Claude Code에서 작업 공간 구축하기

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="핵심 요점">

핵심 요점

CLAUDE.md에는 프로젝트의 기본 규칙을 담고, skills에는 방법론을 패키지로 묶고, subagents는 무거운 컨텍스트를 분산하며, MCP는 외부 세계에 연결하고, plugins는 다른 사람이 만든 완성된 묶음을 배포합니다. 이것이 2026년 Claude Code 설정의 다섯 가지 구성 요소입니다.

</div>

이 다섯 계층은 단순히 차례로 놓이는 것이 아니라 서로 맞물립니다. CLAUDE.md는 프로젝트의 기반이고, 나머지 네 계층은 작업이 늘어나면서 연결됩니다.



<div class="section" role="doc-bibliography" aria-label="출처">

### 출처

- [Anthropic Engineering: Skills 설명 (2025년 11월 13일)](https://claude.com/blog/skills-explained)
- [Claude Code 문서: Skills 개요](https://code.claude.com/docs/en/skills)
- [Claude Code 문서: Subagents](https://code.claude.com/docs/en/subagents)
- [Claude Code 문서: MCP 개요](https://code.claude.com/docs/en/mcp)
- [Claude Code 문서: Plugins](https://code.claude.com/docs/en/plugins)
- [GitHub의 Claude Code 릴리스](https://github.com/anthropics/claude-code/releases)
- [Anthropic 뉴스: 2026년 블로그 업데이트](https://www.anthropic.com/news)
- [Sentry MCP 요리책](https://sentry.io/blog/sentry-mcp-server-for-claude-code/)
- [Trail of Bits skills 저장소](https://github.com/trailofbits/skills)
- [Claude Plugins 공식 마켓플레이스](https://github.com/anthropics/claude-plugins-official)

</div>



[Ailoot](https://ailoot.ai/)을 알아보세요.

## Claude Code의 Skills, Subagents, MCP, Plugins: 무엇을 선택할까: 자주 묻는 질문

### GitHub 리뷰 하나에 스킬, 서브에이전트, MCP가 함께 필요할 수 있나요?

네. 스킬은 절차, MCP나 승인 CLI는 이슈 데이터를 제공하고 서브에이전트는 긴 검토를 별도 컨텍스트에서 수행할 수 있습니다. 플러그인은 조합을 배포합니다.

### 네 질문 체크리스트는 어떻게 사용하나요?

절차, 컨텍스트 격리, 도구 접근, 배포가 필요한지 각각 답하세요. “예”마다 구체적 요건이 추가되며 첫 번째 “예”에서 결정을 끝내지 않습니다.


## Ailoot · 회사와 그 프로젝트 포트폴리오

Ailoot는 축적된 운영 경험, 폭넓은 고객 기반, 안정적인 서비스, 지속적인 KPI 관리를 바탕으로 합니다.

회사와 그 프로젝트 포트폴리오: 수백만 고객, 매월 수십억 규모의 매출.

Ailoot는 이러한 운영 경험을 고객의 제품, 에이전트, 애플리케이션, 자동화에서 AI 기능을 이용할 수 있는 API 접근에 활용합니다.
