반복 작업 좀 편하게 하고 싶어서 — 스킬, 서브 에이전트, 플러그인
매번 똑같은 형식의 프롬프트를 새로 쓰는 거, 진짜 비효율적이죠. 오늘은 자주 하는 작업을 재사용 가능한 형태로 만드는 세 가지 방법 — 스킬, 서브 에이전트, 플러그인을 편하게 정리해볼게요.
스킬(Skill)이 뭐냐면요
스킬은 자주 반복해서 쓰는 프롬프트를 하나의 단위로 만들어서 편의성을 높인 거예요. 스킬을 만들 때는 특정 프로젝트에서만 쓰기보다, 다른 프로젝트에서도 재사용할 수 있게 범용적으로 만들어두면 훨씬 편해요.
스킬의 구조: Frontmatter + 본문
스킬 파일은 크게 두 부분으로 나뉘어요.
- Frontmatter (설정 칸): 이 스킬을 언제 쓸지, 어떤 기능을 하는지 요약 정보를 적는 곳이에요. 특히 description(설명)에는 스킬의 기능이랑 "언제 호출되어야 하는지"를 명확히 적어야 해요.
- 본문: 실제 수행 내용이고, 앞서 다룬 '프롬프트 8요소'가 들어가요.
근데 왜 설정이랑 본문을 나눌까요?
이유는 효율성 때문이에요. 사용자 명령으로 어떤 스킬을 쓸지 찾을 때, 본문 전체를 다 읽는 게 아니라 분량이 적은 Frontmatter만 먼저 읽어서 판단하려는 거예요. 만약 본문만 있으면, 적합한 스킬을 찾을 때마다 매번 전체를 다 읽어야 해서 비용이랑 시간이 많이 들어요.
같은 이유로, 스킬은 (본문 포함) 200줄 이내로 작성하는 걸 추천해요. 이것도 토큰 비용이랑 처리 시간을 아끼려는 거죠.
스킬 관련 주요 설정값
- allowed-tools / disallowed-tools: 이 스킬을 쓸 때 허용되는 도구랑 금지되는 도구를 지정해서 보안성을 높이는 설정
- disable-model-invocation: true: AI가 알아서 판단해서 호출 못 하고, /명령어로만 호출 가능하게 제한
- user-invocable: false: 반대로 /명령어로 직접 호출하는 걸 막아버림
스킬이 쓸 수 있는 대표 도구들
도구 기능
| glob | 파일 이름으로 검색 |
| grep | 파일 내용까지 검색 |
| bash | 터미널 명령 수행 |
| websearch | 웹 검색 |
| webfetch | 웹 내용 가져오기 |
| askuserquestion | 사용자한테 질문 박스로 물어보기 |
| taskcreate | 작업 계획 만들기 |
| taskupdate | 작업 계획 업데이트 |
| toolsearch | 실행할 도구 검색 |
스킬만 쓰기 vs 스킬+에이전트
스킬을 활용하는 방식은 크게 두 가지로 나뉘어요.
1) 스킬만 쓰는 방식 (메인-서브 에이전트)
이 방식은 스킬 안에 **Who(누가), What(무엇을), How(어떻게)**가 전부 적혀 있어요. 서브 에이전트가 해야 할 일이 이미 다 정해져 있어서, 유연함이 좀 부족하다는 특징이 있어요.
2) 스킬 + 에이전트를 같이 쓰는 방식
이 방식의 장점은 각 에이전트의 분업화·전문화예요. 에이전트마다 사용할 AI 모델을 다르게 지정할 수도 있어요. 예를 들어 어떤 에이전트는 빠른 모델, 어떤 에이전트는 성능 좋은 모델을 쓰게 나눌 수 있는 거죠.
에이전트는 다시 두 종류로 나뉘어요.
- 프로젝트 스코프 에이전트: 특정 프로젝트 안에서만 쓰는 에이전트
- 유저 스코프 에이전트: 여러 프로젝트에서 공용으로 쓸 수 있는 에이전트 (예: 번역 에이전트)
스킬 vs 에이전트, 뭐가 다를까요?
- 스킬: 다단계에 걸친 복잡한 작업을 처리해요. 그 안에서 에이전트를 호출할 수도, 안 할 수도 있어요.
- 에이전트: 특정한 '하나의 일'을 전담해서 수행하는 형태예요.
에이전트끼리 일을 넘기는 걸 Hand-Off라고 불러요.
플러그인(Plugin)이 뭐냐면요
플러그인은 특정 목적을 수행하기 위한 '팀'이라고 보면 돼요. 팀원(에이전트)들이랑 그들이 쓸 수 있는 정보, 사용할 수 있는 도구가 하나로 묶여 있는 단위예요.
플러그인의 장점은 두 가지예요.
- 공유가 쉬워요
- 업그레이드도 쉬워요
이름이 '플러그인'인 이유도 재밌어요. 전기 플러그를 콘센트에 꽂았다 뺐다(IN/OUT) 하듯, 탈착이 쉬운 방식이라서 이런 이름이 붙었대요.
플러그인의 계층 구조
- marketplace: 플러그인 모아둔 1단계 카테고리 (장터 같은 개념)
- marketplace.json: 마켓플레이스 자체를 정의하는 설정 파일
- lsp (Language Server Protocol): 언어 문법을 검사해주는 프로토콜
- .mcp.json: 이 플러그인이 사용할 MCP 서버 구성을 정의하는 파일
플러그인은 항상 유저 스코프로 동작해요. install(설치)이랑 update(업그레이드)로 관리하고, 실제로는
~/.claude/plugins/cache/{marketplace}/{plugin}/{version}
경로에 다운로드돼서 저장돼요.
참고로 Hook이란?
Hook 프로그램은 특정 이벤트가 발생했을 때 자동으로 실행되는 프로그램이에요. 예를 들어 "파일 저장할 때 자동으로 검사 실행" 같은 동작을 Hook으로 만들 수 있어요.
MCP는 어디서 찾을 수 있을까요?
새로운 MCP가 필요할 때 참고할 만한 대표 사이트예요.
다만 이런 중계 사이트들은 언제든 등록된 MCP가 갑자기 안 될 수 있다는 걸 감안해야 해요. 실무에서 쓰는 간단한 판단 기준은: 구글링으로 MCP를 찾아보고, 별표(스타)가 100개 이상이면 어느 정도 믿고 써보는 것이에요.
정리해볼게요
- 스킬은 반복되는 복잡한 작업의 절차를 담아두는 단위
- 에이전트는 특정 역할 하나를 전담하는 담당자
- 플러그인은 여러 스킬·에이전트·도구를 하나의 팀으로 묶어서 손쉽게 공유·설치·업그레이드할 수 있게 만든 패키지
이 세 가지를 잘 조합하면, 매번 새로 프롬프트 짜는 대신 검증된 작업 흐름을 꺼내 쓰는 것만으로도 AI 팀을 훨씬 효율적으로 운영할 수 있어요.