Skill, Plugin, MCP 차이와 활용법

2026. 10. 19. 22:19ㆍAI

Codex, Claude Code, Gemini CLI의 확장 기능 비교

AI 코딩 도구에 반복해서 같은 작업을 맡기다 보면, 매번 설명하던 기준과 절차를 따로 저장하고 싶어집니다. 코드 리뷰 기준을 재사용하거나 GitHub의 데이터를 불러오고, 팀원에게 같은 개발 환경을 제공하려는 경우입니다.

이때 등장하는 개념이 Skill, MCP, Plugin입니다. Codex와 Claude Code는 Plugin이라는 이름을 쓰고, Gemini CLI는 비슷한 역할의 확장 패키지를 Extension이라고 부릅니다.

각각 무엇을 담당하는지 구분한 뒤, 세 도구의 저장 경로와 사용법, 하나의 Skill을 함께 활용하는 방법을 살펴보겠습니다.

1. Skill, MCP, Plugin의 역할

세 개념은 담당하는 역할이 다릅니다.

  • Skill: 특정 작업을 수행하는 절차와 참고 자료를 묶습니다.
  • MCP: AI 애플리케이션이 외부 도구와 데이터에 접근하는 연결 방식을 표준화합니다.
  • Plugin: Skill과 도구 연결 등의 기능을 설치하고 배포할 수 있는 패키지로 묶습니다.

Skill은 작업 매뉴얼, MCP는 외부 시스템과의 연결 방식, Plugin은 필요한 기능을 묶은 설치 패키지로 이해하면 쉽습니다.

세 가지를 반드시 함께 써야 하는 것은 아닙니다. Skill이나 MCP 서버만 독립적으로 사용할 수 있고, Plugin에 Skill만 담아 배포할 수도 있습니다.

Skill: 반복하는 작업의 절차를 저장한다

React Native 프로젝트의 코드 리뷰를 예로 들어보겠습니다. 리뷰할 때마다 다음 항목을 확인하도록 요청할 수 있습니다.

  • 불필요한 리렌더링과 리스트 성능 문제
  • iOS와 Android의 동작 차이
  • 비동기 요청의 로딩 및 오류 처리
  • 상태 관리와 서버 데이터 캐싱 방식
  • 변경 사항에 필요한 테스트

이 기준을 Skill로 만들어두면 매번 긴 요청문을 작성할 필요가 없습니다. 검토 순서와 결과 형식도 함께 정해둘 수 있습니다.

Skill은 SKILL.md 파일을 중심으로 구성합니다. 필요에 따라 참고 문서, 스크립트, 템플릿을 같은 폴더에 넣을 수 있습니다.

또한 모든 지침을 처음부터 불러오는 방식은 아닙니다. 먼저 Skill의 이름과 설명을 확인하고, 작업에 필요할 때 상세 지침과 관련 자료를 읽습니다. 이를 점진적 공개(Progressive Disclosure)라고 합니다.

사용하지 않는 지침이 모델의 컨텍스트를 불필요하게 차지하는 일을 줄이기 위한 구조입니다.

MCP: 외부 도구와 데이터를 연결한다

MCP(Model Context Protocol)는 AI 애플리케이션을 외부 시스템에 연결하기 위한 개방형 표준입니다. MCP 서버는 AI가 사용할 도구나 데이터를 제공합니다.

예를 들어 GitHub MCP 서버를 연결하면, 서버가 제공하는 기능과 계정 권한에 따라 저장소, Pull Request, Issue 등을 조회하거나 관련 작업을 수행할 수 있습니다.

다만 GitHub에 연결했다는 사실만으로 우리 팀의 리뷰 기준까지 전달되지는 않습니다. 리뷰 절차는 Skill에 작성하고, GitHub 데이터에 접근하는 기능은 MCP 서버로 제공하는 식으로 역할을 나눌 수 있습니다.

Plugin: 필요한 기능을 묶어 배포한다

Plugin은 관련 기능을 하나의 패키지로 설치하고 관리할 수 있게 해줍니다. 플랫폼에 따라 Skill, MCP 서버 설정, Hooks, Subagents 등을 포함할 수 있습니다.

Hooks는 특정 실행 시점에 동작하는 자동화이고, Subagents는 별도의 하위 에이전트에 작업을 맡기는 기능입니다.

팀의 코드 리뷰 환경을 배포한다면 리뷰 Skill, GitHub MCP 서버 설정, 코드 변경 후 검사를 실행하는 Hook 등을 하나의 Plugin으로 구성할 수 있습니다.

포함할 수 있는 구성요소와 설정 방식은 도구마다 다릅니다. 같은 Plugin이라는 이름을 사용하더라도 패키지 전체가 서로 호환되는 것은 아닙니다.

2. Codex의 Skill과 Plugin

Codex는 독립적인 Skill과 Plugin을 모두 지원합니다. ChatGPT와 공통 플러그인 디렉터리를 사용하므로, 지원되는 환경에서 같은 공개 플러그인을 찾을 수 있습니다.

Skill 저장과 호출

프로젝트에서 공유할 Skill과 개인적으로 사용할 Skill은 다음 위치에 둘 수 있습니다.

  • 프로젝트용: .agents/skills/
  • 개인용: ~/.agents/skills/

예를 들어 code-review Skill의 폴더 구조는 다음과 같습니다.

.agents/
└── skills/
    └── code-review/
        └── SKILL.md

Codex는 요청 내용과 Skill의 설명을 보고 적절한 Skill을 선택할 수 있습니다. CLI에서는 $code-review처럼 직접 지정하거나 /skills에서 선택할 수도 있습니다.

Plugin 설치와 지원 환경

Codex CLI에서는 /plugins로 플러그인 브라우저를 엽니다. 플러그인을 설치한 뒤 새 세션을 시작하면 포함된 Skill과 도구를 사용할 수 있습니다.

Codex 플러그인에는 Skill, MCP 서버, Hooks 등을 포함할 수 있습니다. 실제 사용 가능한 기능은 실행 환경과 플러그인에 따라 달라집니다.

IDE 확장에서는 구분이 필요합니다.
독립적인 Skill은 사용할 수 있지만, Plugin은 현재 Codex IDE 확장에서 지원하지 않습니다. 플러그인을 탐색하고 설치하려면 ChatGPT 데스크톱 앱이나 Codex CLI 등 지원되는 환경을 사용해야 합니다.

3. Claude Code의 Skill과 Plugin

Claude Code도 Skill과 Plugin을 지원합니다. 기본 개념은 비슷하지만 저장 경로와 호출 명령어가 다릅니다.

Skill 저장과 호출

  • 프로젝트용: .claude/skills/
  • 개인용: ~/.claude/skills/

각 Skill 폴더에 SKILL.md를 작성합니다. code-review라는 Skill은 /code-review로 직접 호출할 수 있고, 요청이 Skill의 설명과 일치하면 Claude가 선택할 수도 있습니다.

Claude Code는 공통 Agent Skills 형식에 더해 인자 전달, 동적 컨텍스트 주입 같은 자체 기능도 제공합니다.

Plugin의 구성과 이름 구분

플러그인에는 Skill, 하위 에이전트 정의, Hooks, MCP 서버 설정 등을 묶을 수 있습니다. 다음은 여러 구성요소를 포함한 예시입니다.

my-plugin/
├── .claude-plugin/
│   └── plugin.json
├── skills/
│   └── code-review/
│       └── SKILL.md
├── agents/
├── hooks/
└── .mcp.json

.claude-plugin/plugin.json은 플러그인의 이름과 메타데이터를 정의합니다. 나머지 구성요소는 필요한 것만 포함하면 됩니다.

플러그인 탐색과 관리는 /plugin에서 할 수 있습니다. 플러그인에 포함된 Skill은 이름 충돌을 피하기 위해 플러그인 이름을 붙여 호출합니다.

/my-plugin:code-review

4. Gemini CLI의 Skill과 Extension

Gemini CLI는 확장 패키지를 Extension이라고 부릅니다. Extension에는 Agent Skills, MCP 서버, 사용자 정의 명령어, Hooks, Subagents, 테마 등을 포함할 수 있습니다.

Skill 저장과 활성화

프로젝트용 Skill은 .gemini/skills/ 또는 .agents/skills/에 둘 수 있습니다.

Codex와 Gemini CLI는 프로젝트의 .agents/skills/ 경로를 함께 사용할 수 있습니다. 두 도구를 병행한다면 이 경로에 공통 Skill을 두는 방식이 편리합니다.

사용 가능한 Skill은 /skills list로 확인합니다. 공식 문서에 설명된 기본 활성화 흐름에서는 Gemini가 적절한 Skill을 선택하고, 사용자가 승인하면 상세 지침을 불러옵니다.

Extension 설치와 확인

Extension은 관련 기능과 설정을 하나로 배포하는 단위입니다. 터미널에서 다음 형식으로 설치할 수 있으며, <source>에는 설치할 확장 기능의 저장소 주소 등을 넣습니다.

gemini extensions install <source>

설치된 확장 기능은 다음 명령어로 확인합니다.

gemini extensions list

Gemini CLI의 대화형 세션에서는 /extensions list로도 확인할 수 있습니다. 여기서 설명하는 기능은 일반 Gemini 웹 채팅이 아닌 개발자용 Gemini CLI 기준입니다.

5. 세 도구에서 같은 Skill 사용하기

세 도구는 모두 SKILL.md를 사용하는 Agent Skills 형식을 지원합니다. 공통 형식과 일반적인 작업 지침으로 작성하면 같은 내용을 여러 도구에서 재사용할 수 있습니다.

1단계. 리뷰 절차 작성하기

다음은 React Native 코드 리뷰에 사용할 수 있는 예시입니다. 파일 위쪽에는 이름과 사용 조건을, 아래에는 검토 순서와 결과 형식을 적었습니다.

---
name: rn-code-review
description: >
  React Native 코드 변경의 성능,
  플랫폼 차이, 오류 처리, 테스트 누락을
  검토할 때 사용한다.
---

# React Native 코드 리뷰

## 검토 순서

1. 불필요한 리렌더링과 리스트 성능 문제를 확인한다.

2. iOS와 Android의 동작 차이를 검토한다.

3. 비동기 요청의 로딩 및 오류 처리를 확인한다.

4. 상태 관리와 서버 데이터 캐싱 방식을 검토한다.

5. 테스트 누락과 기존 기능에 미칠 영향을 확인한다.

## 결과 형식

발견한 문제마다 다음 내용을 작성한다.

- 심각도
- 파일과 코드 위치
- 문제의 원인
- 권장 수정 방법

확인하지 못한 내용은 추측과 구분한다.

description에는 단순한 소개보다 언제 이 Skill을 사용해야 하는지를 적는 것이 좋습니다. 에이전트가 작업과 Skill을 연결할 때 이 설명을 참고하기 때문입니다.

2단계. 프로젝트에 배치하기

Codex와 Gemini CLI가 함께 사용할 파일은 다음 위치에 둡니다.

.agents/
└── skills/
    └── rn-code-review/
        └── SKILL.md

Claude Code에서는 같은 내용을 다음 위치에 배치할 수 있습니다.

.claude/
└── skills/
    └── rn-code-review/
        └── SKILL.md

Gemini CLI 전용 경로를 쓰고 싶다면 .gemini/skills/ 아래에 같은 Skill 폴더를 두면 됩니다.

처음에는 파일을 복사해 사용해도 됩니다. 여러 곳에서 수정하기 시작하면 내용이 달라질 수 있으므로, 원본을 한 곳에서 관리하고 동기화하는 방법을 정해두는 편이 좋습니다.

3단계. 각 도구에서 동작 확인하기

파일 형식이 같아도 호출 방식, 권한 처리, 도구별 추가 설정은 다를 수 있습니다. 같은 코드 변경을 대상으로 Skill을 실행해 검토 항목과 결과 형식이 의도대로 나오는지 확인해야 합니다.

특정 도구에서만 지원하는 메타데이터나 명령어를 넣었다면 해당 부분은 별도로 조정해야 합니다. 여러 도구에서 공유할 Skill은 공통 지침을 중심으로 작성하고, 전용 기능은 분리하는 편이 관리하기 쉽습니다.

6. 프로젝트 지침 파일과의 차이

각 도구에는 프로젝트의 기본 규칙과 배경 정보를 전달하는 지침 파일도 있습니다.

  • Codex: AGENTS.md
  • Claude Code: CLAUDE.md
  • Gemini CLI: GEMINI.md

이 파일에는 기술 스택, 디렉터리 구조, 코딩 규칙, 테스트와 빌드 명령어처럼 프로젝트 작업 전반에서 참고할 내용을 적습니다.

Skill에는 코드 리뷰나 성능 분석처럼 특정 작업을 수행할 때 필요한 절차를 담습니다.

예를 들어 “클라이언트 상태는 Zustand로, 서버 데이터는 TanStack Query로 관리한다”는 원칙은 프로젝트 지침 파일에 적을 수 있습니다.

그 원칙을 바탕으로 “상태 관리 코드를 리뷰할 때 무엇을 확인하고 어떤 형식으로 보고할지”를 정한 절차는 Skill로 분리할 수 있습니다.

프로젝트 지침은 공통 기준을 전달하고, Skill은 필요한 작업의 구체적인 수행 방법을 제공하는 역할입니다.

7. 어떤 기능부터 사용하면 좋을까?

처음부터 모든 기능을 묶은 플러그인을 만들 필요는 없습니다. 지금 반복하거나 연결하려는 작업에 맞춰 선택하면 됩니다.

  • 프로젝트의 공통 규칙을 전달하고 싶다면
    AGENTS.md, CLAUDE.md, GEMINI.md 같은 지침 파일부터 정리합니다.
  • 같은 작업 절차를 반복해서 사용한다면
    코드 리뷰, 테스트 작성, 성능 분석 등의 절차를 Skill로 만듭니다.
  • 외부 서비스의 데이터나 기능이 필요하다면
    필요한 도구를 제공하는 MCP 서버를 연결합니다.
  • 설정과 기능을 팀원에게 묶어서 배포한다면
    Plugin 또는 Extension으로 패키징합니다.
  • 특정 시점에 검사를 자동 실행하고 싶다면
    해당 도구의 Hooks 기능을 검토합니다.

플러그인에 포함된 서버나 스크립트는 실제 데이터를 읽거나 변경할 수 있습니다. 설치할 때는 출처와 요청 권한, 실행되는 내용을 확인하는 것이 좋습니다.

시작점으로는 자주 사용하는 코드 리뷰 요청 하나가 적당합니다. 확인할 항목과 결과 형식을 Skill로 저장한 뒤 실제 작업에서 다듬어보세요. 외부 데이터가 필요해지면 MCP를 연결하고, 여러 사람이 같은 구성을 사용하게 되면 Plugin이나 Extension으로 묶을 수 있습니다.


참고 자료

2026년 10월 확인한 공식 문서를 기준으로 작성했습니다. 지원 환경과 명령어는 업데이트에 따라 달라질 수 있습니다.

반응형