에이전트가 알아서 꺼내 쓰는 스킬(Skill)을 알아보자
커뮤니티나 인터넷에서 바이브 코딩 이야기를 할 때 ‘스킬’이라는 용어를 많이 사용해서 궁금한 독자가 많았을 것이라 생각합니다. 스킬은 쉽게 말하자면 에이전트가 그때 그때 알아서 꺼내 쓰는 종합 세트 같은 겁니다. 예를 들어 여러분이 워드 보고서 쓰기를 항상 같은 방식으로 작업한다면 이것을 스킬로 구성해두었다가 사용할 수 있습니다.
그런데 읽다보면 AGENTS.md로 해도 될 것 같은 기분이 듭니다. 지침으로 ‘워드 문서를 작성할 때는 항상 이렇게 해’라고 적어두면 될 것 같지 않나요? 하지만 AGENTS.md와 스킬은 결정적인 차이가 있습니다. 결론부터 말하자면 이런 종류의 작업에는 스킬이 더 좋습니다. 왜 그럴까요? 그 이유를 천천히 알아봅시다.
스킬은 보통 다음과 같이 구성합니다.
SKILL.md : 지침 파일입니다. 역할은 AGENTS.md와 비슷합니다.
scripts 폴더 : 스킬을 사용할 때 실행해야 하는 코드가 있다면 여기에 넣습니다.
references 폴더 : 만약 스킬을 사용할 때 에이전트가 참고할 만한 문서가 있다면 여기에 넣습니다.
assets 폴더 : 스킬을 사용할 때 필요한 이미지 파일 같은 것을 여기에 넣습니다.
스킬의 구성을 보면 에이전트가 특정 작업을 더 잘하게 만들기 위해 보강한 AGENTS.md와 비슷한 것임을 알 수 있습니다. 구성으로만 비교하면 AGENTS.md는 단순 문서에 불과하지만 스킬은 문서와 함께 코드, 참고 파일, 에셋등을 보강한 겁니다. 그래서 범용적이진 않지만 항상 반복해야 하는 나만의 작업이 있다면 AGENTS.md보다는 스킬이 훨씬 더 좋습니다.
스킬을 사용하면 좋은 시나리오 생각해보기
만약 여러분이 이미지를 축소시켜서 jpg나 png로 변환하는 작업을 반복해야 한다면 에이전트에게 매번 코드를 새로 작성하라고 하는 대신 스킬을 만들어두고 불러다 쓰는 게 더 편합니다. 아마 그 스킬은 이런 구성으로 되어 있을 겁니다.
이렇게 구성한 스킬을 에이전트가 찾아 사용하는 겁니다. 만약 스킬을 사용하지 않으면 에이전트가 매번 코드를 새로 작성할 겁니다. 매번 작성하는 코드가 같을 리 없기 때문에 오류가 발생할 수 있습니다. 하지만 스킬에는 이미 참고할 충분한 자료들을 넣어주므로 그럴 일이 없습니다. 결과적으로는 매우 효율적인 작업을 할 수 있게 됩니다.
스킬은 에이전트가 알아서 꺼내 씁니다
그리고 AGENTS.md와 비교해서 스킬의 좋은 점은 에이전트가 스킬을 알아서 꺼내쓴다는 점입니다. 앞에서 설명했듯 AGENTS.md는 프롬프트를 입력할 때마다 에이전트가 참고하는 파일입니다. 한마디로 대화 내내 참고하는 문서입니다. 그래서 프롬프트를 뚱뚱하게 만들 수 있어 특정한 작업을 AGENTS.md에 적어두는 건 좋지 않습니다.
하지만 스킬은 꺼내 쓰는 시점을 에이전트가 스스로 정합니다. 여러분이 프롬프트를 입력하면 에이전트는 SKILL.md들의 앞부분을 살짝 둘러보고 와서 ‘아 지금은 이 스킬을 쓰면 되겠구나’라고 판단하여 그 스킬을 가져다 씁니다. 이런 특징 덕분에 스킬은 용도별로 여러 개 만들어 두어도 컨텍스트 낭비가 없습니다.
스킬과 AGENT.md 비교하기
결론만 간단히 설명하겠습니다. 만약 프롬프트 답변 스타일과 같이 모든 채팅에서 적용해야 하는 지침이 있다면 AGENTS.md가 적합합니다. 하지만 특수한 작업을 해야 하는 일에는 스킬이 좋습니다. 두 기능의 차이를 표로 정리하면 다음과 같습니다.
이제 이 정도면 AGENTS.md와 스킬이 무엇인지 알았을 겁니다. 그렇다면 이 좋은 스킬은 어떻게 만들어야 할까요?
나만의 스킬 직접 만들어보기
앞서 소개한 스킬의 구성이 복잡해서 ‘이것을 내가 직접 만들어야 하나?’라는 걱정이 있었을 텐데 사실 스킬도 에이전트로 만들면 됩니다. 커서는 스킬을 만들 수 있는 편리한 기능을 제공합니다. 그럼 나만의 스킬을 직접 만들어봅시다.
01 커서 설정에서 [Rules, Skills, Subagents]를 누르면 Skills 항목이 보입니다. [+ New] 또는 [New Skill]을 누르세요. 이때 [All], [User], [프로젝트 폴더 이름]을 선택하여 추가할 수 있습니다. 해당 탭은 스킬을 설정할 때 스킬이 영향을 끼칠 범위를 정할 수 있습니다. 이때 [All]은 전역 설정이 아닌 전역 설정과 프로젝트 설정을 함께 보는 탭입니다. 전역 설정이라고 오해하지 않기 바랍니다.
[User] : 전역으로 설정합니다.
[프로젝트 폴더 이름] : 해당 프로젝트 또는 폴더에만 설정합니다.
[All] : 전역, 프로젝트에 설정한 스킬을 모두 살펴봅니다.
02 그러면 에이전트 채팅 창이 열리면서 스킬을 만들 수 있도록 준비해줍니다. 여기에 자연스럽게 여러분이 원하는 스킬을 구상하는 프롬프트를 입력하면 됩니다. 앞에서 예를 들었던 이미지 확대나 축소, png, jpg 변환 스킬을 만들고 싶다면 이렇게 입력하면 됩니다.
[나] :
그러면 커서가 스킬을 어느 범위로 사용할지 물어봅니다. 스킬도 특정 폴더에서만 사용할지, 모든 폴더에서 사용할지 지정할 수 있습니다. 저는 ‘이 프로젝트에서만 사용’을 골라 진행했습니다. 나머지는 아무거나 골랐습니다.
[AI] :
이후 커서가 SKILL.md외 스킬에 필요한 파일을 알아서 작성합니다. 아마 [Accept]를 눌러서 파일 생성을 직접 허용해야 할 겁니다. 결과를 보면 앞에서 설명했던 지침 파일과 함께 실제 코드를 작성했습니다.
03 스킬이 만들어지면 [Rules, Skills, Subagents]의 Skills 항목에서 등록된 스킬을 볼 수 있습니다. 친절하게 한글로 설명도 되어 있네요.
04 이제 이 스킬을 자연스럽게 사용하면 됩니다. 이미지 작업을 위해 아무 샘플 이미지나 준비해 폴더에 넣어줍니다.
05 그런 다음 새 에이전트 채팅 창을 만들어 다음과 같이 지시합니다. 이미지는 드래그앤드롭하여 채팅 창에 추가합니다.
[나] : 폴더에 있는 @p.png 파일을 50% 정도 축소하고 확장자를 jpg로 바꿔보자.
06 그러면 커서가 스킬을 사용하겠다고 알아서 이야기해줍니다.
[AI] : 이미지 처리 스킬을 사용해서 작업을 진행하겠습니다. ...생략...
07 결과를 보면 이미지 크기를 50%로 축소한 jpg 파일이 만들어졌습니다. 새로운 코드를 작성하지 않고도 작업을 완료했네요. 스킬 없이 이 작업을 지시했다면 폴더 내부에 이미지 변환용 코드를 작성하고 이를 실행하는 등의 작업을 수행했을 겁니다.
[AI] : 작업이 완료되었습니다!
결과 요약:
원본: P.png (408x403 픽셀, 28KB)
변환 후: P.jpg (204x201 픽셀, 약 5.7KB)
이미지가 50% 축소되고 (408x403 → 204x201) JPG 형식으로 변환되었습니다. 파일 크기도 28KB에서 약 5.7KB로 크게 줄었습니다.
이처럼 스킬은 여러분의 입맛대로 원하는 작업을 효율적으로 수행하게 하는 유용한 도구입니다. 앞으로 스킬이 필요할 때마다 자연스럽게 만들어 사용하겠습니다.
잘 만들어놓은 스킬 가져다 사용하기
그렇다면 스킬은 항상 내가 만들어야 하는 걸까요? 그렇지는 않습니다. 스킬을 사용하는 가장 좋은 방법은 내 상황에 맞게 직접 사용하는 거지만, 만약 어떻게 만들어야 에이전트가 제대로 동작할 수 있을지 떠오르지 않으면 남이 만들어놓은 스킬을 가져다 써도 좋습니다. 스미더리라는 서비스에는 다양한 스킬을 게시하고 이를 사용자들이 별점을 매겨 평가하는 차트가 있습니다. 스미더리에서 스킬을 가져다 사용해봅시다.
01 스미더리에 접속하고 로그인합니다. 가장 먼저 보이는 화면에서 위쪽 내비게이션 바에 있는 [Skills]을 누릅니다.
스미더리 : smithery.com
02 그러면 다양한 사용자가 올린 스킬이 보입니다. 현재 3만 개의 스킬이 있습니다. 여기서 ➊ 원하는 특정한 스킬을 검색할 수 있고 ➋ 카테고리별로 둘러볼 수도 있습니다. ➌ 별점을 통해 이용자 반응을 파악할 수도 있죠.
03 별점을 많이 받은 frontend-design 스킬을 사용해볼까요? 해당 스킬을 누르고 설명을 읽어보면 어떻게 사용하는 건지 대략 감이 옵니다. 구글 한글 번역으로 살펴보면 고품질 프런트엔드 인터페이스를 만들 때 이 스킬이 좋다고 하네요.
04 깃허브 링크를 눌러 이동하면 스킬을 확인할 수 있습니다. 스킬 설치는 별 게 아닙니다. 앞서 설명했듯 스킬은 참고 문서 + 코드 + 이미지 + 파일과 같은 폴더 묶음입니다. 이 스킬은 SKILL.md가 전부인 스킬이었네요. 파일을 눌러 또 자세히 읽어봅시다. 스킬을 판단할 때는 우리에게 유용할 스킬일지 이렇게 둘러보면 됩니다.
05 이제 이 스킬을 커서에 설치하겠습니다. 깃허브 링크를 복사해서 커서에게 알려주며 프로젝트 또는 전역으로 사용하고 싶다고 이야기하면 됩니다.
커서 폴더를 새로 마련하고 프로젝트 단위로 스킬을 적용하라고 이야기하겠습니다. [Agent] 모드로 이야기하면 됩니다.
[나] : 이 프로젝트에 다음 스킬을 설치해줘. https://github.com/anthropics/claude-code/tree/main/plugins/frontend-design/skills/frontend-design
06 그러면 폴더에 .cursor 폴더를 만들고 스킬을 입력한 뒤 설치를 완료합니다. 제대로 설치되었다면 커서 설정에도 스킬이 보일 겁니다.
07 스킬이 설치되었으니 이제 간단한 앱을 만들겠습니다. 이전에 만든 메모 앱을 다시 만들어봅시다. 과연 어떻게 디자인이 될까요? 디자인을 강제하지 않기 위해 Next.js 기술만 사용하자고 이야기하겠습니다. 그러면 커서가 ‘프런트엔드 디자인 스킬을 확인하겠다’라는 메시지를 보여줍니다. 스킬을 사용하려는 겁니다. 이렇게 우리가 따로 언급하지 않아도 에이전트는 알아서 스킬을 사용합니다.
[Note] 만약 스킬을 직접 언급해서 사용하고 싶다면 슬래시(/)를 누르고 스킬 이름을 입력해도 됩니다.
[나] : 로컬에서 실행할 메모 앱을 만들어보자. Next.js로 만들면 돼.
[AI] :
08 완성된 메모 맵을 보면 디자인이 그냥 만들었을 때와 완전히 달라졌습니다. 같은 프롬프트를 입력해도 스킬의 유무가 이런 차이를 만듭니다. 왼쪽이 이전에 각종 라이브러리를 얹어서 만든 메모 앱이고, 오른쪽이 1줄의 입력과 스킬을 활용해 만든 메모 앱입니다.
이렇게 스킬을 잘 골라서 사용하면 부족한 실력을 보완하면서 에이전트를 효율적으로 사용할 수 있습니다. 다만 스킬은 만능이 아니므로 언제나 스킬을 잘 살펴보고 적용하기 바랍니다. 스킬을 마구 쌓아두었다가 의도치 않은 스킬을 사용할 수 있으므로 주기적으로 스킬을 정리하는 것도 중요합니다.
[1:1 코칭] 스킬은 다른 사이트에서도 찾아볼 수 있어요!
스미더리뿐 아니라 다른 사이트에서도 스킬을 찾아볼 수 있습니다. 대표적인 사이트는 다음과 같습니다.
Skillsmp : skillsmp.com
버셀이 만든 스킬 랭크 사이트 : skills.sh
수파베이스와 같은 데이터베이스 서비스를 제공하는 곳에서 전용 스킬을 만들어 배포하기도 합니다. 스킬을 사용하면 서비스를 더 쉽게 사용할 수 있기 때문에 사용자를 많이 모으려는 전략적인 배포입니다. 수파베이스 스킬은 명령어로 설치해야 하는데 커서 에이전트 채팅 창에 다음과 같이 이야기하면 프로젝트에 적용할 수 있습니다.
[나] : npx skills add supabase/agent-skills로 수파베이스 스킬을 현재 프로젝트에만 적용할 수 있도록 설치해줘.
[AI] :
[/1:1 코칭]
[마무리 요약]
스킬은 에이전트가 대화의 맥락을 판단하여 필요한 순간에만 스스로 꺼내 사용하므로 토큰을 아끼고 에이전트의 판단력을 흐리지 않게 돕습니다.
스킬은 가능한 파이썬 코드, 참고 문서, 에셋 등을 하나의 패키지로 묶은 겁니다.
에이전트에게 요청하여 나만의 스킬을 손쉽게 생성할 수 있을 뿐만 아니라, 스미더리 같은 공유 플랫폼에서 검증된 외부 스킬을 찾아 내 프로젝트에 설치해서 에이전트의 능력을 빠르게 확장할 수 있습니다.
