저장된 프롬프트는 부채입니다. 특정 벤더의 인터페이스 안에만 있고, 다른 사람은 읽을 수 없으며, 제품 이름이 바뀌면 사라질 수도 있습니다. 스킬은 같은 지시문에 트리거, 예시, 담당자를 더해 내가 관리하는 폴더에 보관한 것이고, 끝까지 살아남는 쪽은 바로 이 버전입니다.
시기를 놓고 보면 결코 남의 일이 아닙니다. Google은 개인 계정의 Gemini Gems를 단계적으로 종료하고 2026년 후반 일정에 맞춰 "스킬"로 전환할 예정이며, 사용자는 작업 스레드에서 "/"를 입력해 스킬을 호출하게 됩니다(TechCrunch). 바로 다음 날 OpenAI는 ChatGPT 플러그인을 확장해 사이드바 홈, 인터랙티브 패널, Plugin Creator를 추가했습니다(TechCrunch). 커스텀 GPT, Gems, 플러그인, 앱, 스킬은 모두 "지시문을 매번 다시 입력하지 않겠다"는 같은 욕구를 가리키는 이름입니다.
이런 어시스턴트를 수십 개 만들어 두셨다면 이제 할 일이 두 가지입니다. 만들어 둔 것을 지키는 일, 그리고 다음 번 이름 변경이 분기 단위가 아니라 오후 한나절짜리 작업으로 끝나도록 이식성을 확보하는 일입니다. 이 가이드는 템플릿, 테스트 루틴, 마이그레이션 체크리스트와 함께 두 가지를 모두 다루고, 굳이 만들 필요가 없는 경우도 솔직하게 짚습니다.
저장한 어시스턴트의 이름이 계속 바뀌는 이유
Gems는 2024년에 지시문을 반복해서 입력하지 않고도 만들 수 있는 작업별 어시스턴트로 출시되었고, 공유도 가능했습니다. Google 도움말 페이지는 이제 개인 계정에서 Gems가 사라지고 자동으로 스킬로 전환된다고 안내합니다(Google Gemini Help). TechCrunch는 자동 마이그레이션이라 사용자가 따로 할 일은 없다고 전하면서, 스킬은 슬래시 명령으로 호출하며 엔지니어들이 선호하는 인터페이스라고 짚었습니다.
자동 마이그레이션은 안전하게 들리고, 지시문 텍스트에 한해서는 대체로 그렇습니다. Google은 지원되는 지식 파일도 함께 넘어간다고 하지만, 스킬 업로드는 일반 텍스트, PDF, 이미지만 받고 Word나 Excel 파일은 받지 않습니다. 전환 안내 페이지에는 공유와 Drive 연동 파일이 앞으로 몇 주 안에 적용된다고 되어 있습니다(Gemini Help, 업로드 규칙). 마이그레이션이 옮겨 주는 것은 콘텐츠입니다. 머릿속에만 있던 예시나, 어떤 Gem을 언제 써야 하는지 알던 팀원의 노하우까지 옮겨 주지는 않습니다.
이런 패턴은 벤더를 가리지 않고 반복됩니다. OpenAI의 이전 공유 형식은 커스텀 GPT였는데, 현재 개발자 문서는 MCP 서버와 함께 스킬을 묶어 제공하는 플러그인을 설명합니다(OpenAI Developers). Anthropic의 스킬은 자사 제품끼리도 동기화되지 않습니다. Anthropic 문서에 따르면 claude.ai에 업로드한 스킬은 API에서 쓸 수 없고, Claude Code 스킬은 파일 시스템 기반이라 둘 모두와 별개입니다(Claude docs). 어느 플랫폼이든 그곳에 저장한 것을 이름을 바꾸고, 합치고, 쪼갤 수 있다고 가정하세요.
마케팅을 걷어낸 스킬의 정체
스킬은 폴더입니다. Anthropic의 정의에 따르면 에이전트가 특정 작업을 위해 찾아서 동적으로 불러올 수 있는 지시문, 스크립트, 리소스가 들어 있습니다(Anthropic Engineering). 필수 파일은 SKILL.md 하나뿐이며, 맨 위에 이름과 설명이 오고 그 뒤로 지시문이 이어집니다.
가장 큰 역할을 하는 것은 설명(description)입니다. 어시스턴트는 시작할 때 각 스킬의 이름과 설명만 불러오고(Anthropic에 따르면 스킬당 약 100 토큰), 요청을 그 텍스트와 대조해 나머지를 열지 판단합니다. 설명이 모호하면 스킬이 절대 실행되지 않습니다. 반대로 욕심을 부리면 모든 요청에 실행됩니다. Anthropic의 가이드는 스킬이 무엇을 하는지와 언제 쓰는지를 모두 3인칭으로 적으라는 것입니다.
저장된 프롬프트에 없는 첫 번째가 바로 이것입니다. 프롬프트는 내가 붙여 넣어 주기를 기다립니다. 스킬에는 트리거가 있어서 어시스턴트가 요청받지 않아도 스스로 꺼내 쓸 수 있습니다. 좋은 스킬의 나머지 요소는 모두 트리거를 진지하게 다루는 데서 출발합니다.

구조는 여섯 가지로 이루어집니다. 트리거는 언제 실행할지를 알려 줍니다. 입력은 사용자가 반드시 제공해야 하는 것과 선택 사항을 알려 줍니다. 단계는 순서대로 적은 지시문입니다. 도구는 스킬이 채팅 밖으로 나가 접근해야 하는 모든 것을 가리킵니다. 예시는 실제 입력과 승인된 출력을 나란히 보여 줍니다. 출력 형식은 답변의 모양을 고정해서 실행마다 결과를 비교할 수 있게 합니다.
가장 신경 써야 할 부분은 예시입니다. 예시는 일석이조입니다. 어시스턴트에게 원하는 바를 가르치는 입력·출력 쌍이 그대로 수정 후 무언가 망가졌는지 알려 주는 테스트 케이스가 되기 때문입니다. 예시를 빼면 폴더에 프롬프트를 넣어 둔 것에 불과합니다.
스킬은 하나의 파일 형식으로 수렴하고 있습니다
락인이 걱정되는 분들께는 반가운 소식입니다. 형식이 자리를 잡아 가고 있습니다. Anthropic은 2025년에 플랫폼 간 이식성을 위한 오픈 스탠더드로 Agent Skills를 공개했고, 공개 스펙은 agentskills.io에 있습니다. 스킬은 필수 SKILL.md가 들어 있는 디렉터리이며, 선택 사항으로 scripts/, references/, assets/ 폴더를 둘 수 있습니다. name은 소문자, 숫자, 하이픈으로 최대 64자, description은 최대 1,024자입니다(Agent Skills spec).
OpenAI 문서는 자사 스킬이 같은 오픈 스탠더드를 기반으로 한다고 설명합니다. 각 스킬은 이름과 설명 frontmatter가 있는 필수 SKILL.md를 가진 디렉터리이며, ChatGPT에서는 @, Codex에서는 $로 명시적으로 호출하거나, 설명을 보고 모델이 직접 고르게 할 수 있습니다(OpenAI). Google Gemini CLI 문서도 스킬이 같은 표준을 기반으로 한다고 밝히고 있고(Gemini CLI docs), Gemini 앱 도움말은 다른 플랫폼에서 만든 스킬을 SKILL.md 파일로 업로드해 가져올 수 있다고 안내합니다(Gemini Help). 다만 앱이 오픈 스펙 전체를 구현한다는 Google의 공식 언급은 찾지 못했으니, 의존하기 전에 업로드를 먼저 테스트해 보세요.
즉 이식 가능한 핵심은 이미 세 벤더에 걸쳐 있습니다. Claude와 Claude Code는 이 형식을 읽고, ChatGPT와 Codex도 OpenAI의 설명에 따르면 읽으며, Google Gemini는 업로드를 받아 줍니다. 같은 폴더를 원본으로 유지하고, 업로드할 때마다 예시를 다시 돌려 보세요. Gemini 업로드는 .docx 같은 바이너리 형식을 거부하고, 외부 사이트를 호출하는 스크립트를 차단합니다(Gemini Help).
이전해도 살아남도록 스킬 작성하기
이식성은 대부분 습관의 문제입니다. 네 가지만 지키면 거의 해결됩니다.
- 원본은 벤더 편집기 안이 아니라 버전 관리되는 일반 폴더에 두세요. 벤더에 올린 사본은 배포본일 뿐입니다.
- 제품 기능이 아니라 결과물과 형식을 기준으로 지시문을 쓰세요. "열 세 개짜리 표로 반환"은 어디서나 통하지만, "캔버스 패널을 사용"은 통하지 않습니다.
- 긴 내용(스타일 가이드, 스키마, 정책)은 별도 참조 파일로 빼고
SKILL.md에서 한 단계 깊이로만 링크하세요. Anthropic은 더 깊게 이어지면 일부만 읽힌다고 경고합니다. - 짧게 유지하세요. Anthropic은 본문을 500줄 미만으로 권장하고, 오픈 스펙은 지시문을 약 5,000 토큰 이내로 유지하라고 제안합니다.
대부분의 팀이 반복하는 작업인 주간 클라이언트 업데이트를 예로 들면 이런 모습입니다.
---
name: drafting-client-updates
description: Drafts a weekly client status update from raw project notes. Use when the user pastes notes, a ticket export or a standup log and asks for a client-ready update.
metadata:
owner: ops-team
version: "1.2"
---
# Drafting client updates
## Inputs
- Required: raw notes for the week
- Optional: client name, tone (default: plain and direct)
## Steps
1. Group items into Done, In progress and Blocked.
2. Drop internal ticket IDs and jargon.
3. Lead with the one thing the client must decide, if any.
## Output
Use the template in references/update-template.md.
## Examples
See examples/ for three accepted drafts.빠진 것들을 눈여겨보세요. 아부도, "당신은 세계 최고의 어카운트 매니저입니다"라는 말도, 상태 업데이트가 무엇인지에 대한 설명도 없습니다. 어시스턴트는 이미 알고 있으니까요. Anthropic의 조언도 모든 문단에 대해 토큰 비용만큼의 가치가 있는지 따져 보고, 모델이 모르는 맥락만 추가하라는 것입니다.
metadata 블록도 눈여겨보세요. 오픈 스펙은 이를 자유 형식의 키-값 맵으로 정의하므로 담당자와 버전 번호를 넣기에 적합합니다. 사용 중인 플랫폼이 가져오기 시 이 블록을 유지하는지 확인하세요.

소프트웨어처럼 테스트하세요. 실제로 소프트웨어니까요
Anthropic 작성 가이드에서 가장 유용한 한 줄은 방대한 문서를 쓰기 전에 평가부터 만들라는 것입니다. 과정은 짧습니다. 대표적인 작업을 스킬 없이 어시스턴트에게 시키고 어디서 실패하는지 기록합니다. 그 빈틈을 드러내는 시나리오를 세 개 씁니다. 그것을 통과할 만큼만 지시문을 추가합니다. 그런 다음 기준선과 비교합니다.
Anthropic의 공유 전 체크리스트에 나오는 최소치가 세 개인데, 이는 하한선일 뿐입니다. 실제 업무에서 입력을 다섯 개에서 열 개쯤 뽑고, 실제로 채택한 출력을 함께 보관하세요. 그 폴더가 회귀 테스트 세트입니다. 수정할 때마다, 그리고 플랫폼이 바뀔 때마다 입력을 다시 돌려 차이를 읽어 보세요. 비용이 적게 들고, 조용히 일어나는 드리프트를 잡아내는 유일한 방법입니다.
모델을 바꿔서도 테스트하세요. Anthropic 가이드에 따르면 가장 강력한 모델에서 완벽하게 동작하는 스킬도 작은 모델에서는 더 자세한 설명이 필요할 수 있으므로, 쓸 계획인 모든 모델에서 실행해 봐야 합니다. 벤더를 옮길 때도 마찬가지입니다. 한 어시스턴트에서 다듬은 스킬은 다른 어시스턴트에서 예시를 돌려 보기 전까지는 테스트되지 않은 것입니다.
도구가 필요하다면 Promptfoo는 저장한 케이스를 CI에서 프롬프트에 대해 실행하고, PromptLayer는 프롬프트 버전과 실행 기록을 추적합니다. 더 많은 도구는 프롬프트 엔지니어링 도구 보드에서 순위로 볼 수 있습니다. 어느 것도 필수는 아닙니다. 예시 폴더와 체크리스트만으로도 상당 부분 해결되며, 기반 모델이 바뀌어도 버티는 패턴은 오래 가는 프롬프팅 플레이북에서 다룹니다.
MCP는 어디에 들어가는가
스킬은 어시스턴트에게 일하는 방법을 알려 줄 뿐, 무언가에 접근할 권한을 주지는 않습니다. 그러려면 도구가 필요하고, 이를 이식 가능한 방식으로 제공하는 것이 Model Context Protocol(MCP)입니다. AI 애플리케이션을 외부 시스템과 연결하는 오픈 스탠더드로, 문서는 이를 USB-C 포트에 비유합니다(MCP docs). 클라이언트로는 Claude, ChatGPT, Cursor, VS Code 등이 올라와 있습니다. 실제 동작하는 예시는 Model Context Protocol servers 저장소에서 볼 수 있습니다.
OpenAI의 플러그인 문서는 경계를 깔끔하게 긋습니다. 워크플로 지시문은 스킬에, 실시간 데이터와 인증, 통제된 작업은 서버에 맡기라는 것입니다. 스킬에 MCP 서버가 필요하면 agents/openai.yaml에 의존성을 선언합니다. 제출 과정에서 플러그인의 MCP 서버로부터 가져온 스킬은 초안에 스냅샷으로 저장되며, ChatGPT와 Codex는 런타임에 서버에서 이를 가져오지 않습니다(OpenAI Developers). 실무적으로는 스킬을 바꾼 뒤 서버를 다시 배포하고 스캔한 다음에야 새 플러그인 버전을 제출할 수 있다는 뜻입니다.
Anthropic은 디버깅 시간을 실제로 아껴 주는 작은 작성 규칙도 덧붙입니다. MCP 도구는 ServerName:tool_name처럼 정규화된 전체 이름으로 참조하세요. 서버가 여러 개 연결되어 있으면 이름만으로는 해석에 실패할 수 있기 때문입니다.
Shopify가 이 흐름이 어디로 향하는지 보여 줍니다. Shopify는 서버 간 에이전트를 위한 호스팅 MCP 서버와 브라우저 에이전트를 위해 제안된 WebMCP 표준을 제공하며, 최근에는 체크아웃 조회, 업데이트, 완료 도구를 추가했습니다. 덕분에 에이전트가 페이지를 긁어 오는 대신 체크아웃 화면을 읽고 구매자의 승인을 받아 주문을 제출할 수 있습니다(TechCrunch). Shopify 스토어를 운영한다면 도구 계층은 점점 플랫폼이 제공하는 것이 되어 갑니다. 스킬이 맡을 일은 그 주변의 판단입니다.
OpenAI의 발표도 같은 방향을 가리킵니다. ChatGPT는 이제 대화 도중 앱을 제안하며, 회사는 주간 사용자가 12억 명이라고 밝혔습니다(TechCrunch). 또 플러그인 업데이트에서 제안된 MCP Events 사양을 지원하게 되었다고 했는데, 이는 연결된 앱의 이벤트가 자동화를 시작할 수 있게 해 줍니다(TechCrunch). 도구가 MCP 뒤에 있을수록 특정 어시스턴트의 플러그인 형식은 덜 중요해집니다.
또 다른 혼란을 만들지 않고 팀과 공유하기
스킬을 어디에 두느냐가 누가 쓸 수 있는지를 결정하며, 규칙은 제품마다 다릅니다. Claude 문서에 따르면 claude.ai의 커스텀 스킬은 개별 사용자 소유라서 팀원이 각자 업로드해야 하고, 관리자가 중앙에서 배포할 수 없습니다. API에서는 워크스페이스 전체에 적용됩니다. Claude Code에서는 개인 폴더나 프로젝트의 .claude/skills/ 디렉터리에 두므로 저장소와 함께 이동합니다.
대부분의 팀에는 저장소 방식이 최선입니다. 스킬을 git에 넣고, 코드처럼 변경을 리뷰하고, 릴리스에 태그를 달고, 필요한 사람이 가져가게 하세요. 노트북끼리 zip 파일을 복사하다 보면 클라이언트 업데이트 스킬이 일곱 버전으로 늘어나고 어느 것이 맞는지 아무도 모르게 됩니다.
공유되는 스킬에는 모두 지정된 담당자, 버전, 수정할 때마다 남기는 변경 이력 한 줄이 필요합니다. 보안 검토도 필요합니다. Anthropic 문서는 스킬을 설치형 소프트웨어처럼 다루고, 번들된 스크립트를 감사하며, 외부 URL을 가져오는 스킬은 경계하라고 말합니다. 가져온 콘텐츠에 악성 지시문이 들어 있을 수 있기 때문입니다. 동료가 만든 스킬에도, 공개 GitHub 저장소의 스킬을 색인하는 SkillsMP 같은 공개 컬렉션의 스킬에도 똑같이 적용됩니다.
아래 채점기를 이미 가진 스킬에 써 보세요. 표준이 아니라 저희가 만든 체크리스트이며, 일부러 직설적으로 만들었습니다. 트리거, 예시, 테스트 세트, 플랫폼 밖 사본은 점수를 두 배로 칩니다. 앞서 설명했듯 이 항목들이 스킬을 테스트하고 옮길 수 있는지를 좌우하기 때문입니다.
저장해 둔 모든 어시스턴트를 위한 마이그레이션 체크리스트
벤더가 강제하기 전에 어시스턴트마다 한 번씩 진행하세요. 시간은 대부분 원본 지식 파일을 찾는 데 들어갑니다.
재실행 단계가 가장 중요한데 가장 자주 건너뜁니다. 읽기에는 멀쩡하지만 출력 형식이 슬그머니 바뀐 변환된 Gem은, 눈에 띄게 망가진 것보다 더 나쁩니다. 한 달이 지나도록 아무도 알아채지 못하기 때문입니다. 저장해 둔 출력과 다르다면 기대치가 아니라 스킬을 고치세요.
직접 호출하는 어시스턴트라도 트리거 문장을 쓰세요. 이 과정에서 그 어시스턴트가 무엇을 위한 것인지 정하게 되고, 알고 보면 한 이름 아래 두 가지 일이 섞여 있는 경우도 있습니다. 그럴 때는 나누세요.
스킬을 만들지 말아야 할 때
대부분의 프롬프트는 스킬로 만들 필요가 없습니다. 두 번 쓸 작업은 그냥 프롬프트입니다. 패키징하는 비용이 얻는 것보다 크고, 관리되지 않은 스킬이 엉뚱한 순간에 실행되면 어시스턴트가 고를 후보 풀만 어지럽히므로 없는 것보다 못합니다.
판단이 필요 없는 고정 단계는 단순 자동화가 더 나은 경우가 많습니다. 매번 같은 트리거, 같은 API 호출, 같은 출력이라면 n8n이나 Zapier 같은 워크플로 도구가 모델에게 레시피를 따르게 하는 것보다 저렴하고 예측 가능합니다(에이전트와 자동화 도구 비교 가이드에서 이 구분을 다룹니다). 스킬은 언어, 판단, 정리되지 않은 입력이 필요한 작업에 쓰세요.
입력마다 경로 자체가 달라진다면 에이전트가 필요하고, 스킬과 도구는 에이전트가 집어 쓰는 부품이 됩니다. 선택지는 상위 AI 에이전트 보드에서 순위로 볼 수 있습니다. 아래 비교는 벤더 스펙이나 측정 데이터가 아니라 저희 편집팀의 자체 분류입니다. 체크 표시는 위 내용이 뒷받침한다는 뜻으로, 예를 들어 설명 매칭으로 스킬이 로드되거나 플러그인이 실시간 도구 서버를 추가하는 경우입니다. 반원 표시는 어시스턴트마다 플러그인 형식이 다르듯 벤더나 환경에 따라 달라진다는 뜻입니다.
그래도 확신이 서지 않는다면 아래 의사결정 트리가 세 가지 질문으로 대부분의 경우를 가려 줍니다. 오래 가는 도구와 습관을 고르는 더 넓은 맥락은 실용 프롬프트 엔지니어링 가이드와 프롬프트 엔지니어를 위한 상위 AI 도구 보드를 참고하세요.
시기와 관련해 마지막으로 하나 더 짚습니다. OpenAI는 플러그인 디렉터리의 순위와 추천 방식을 개선했다고 밝혔고(TechCrunch), 엔터프라이즈 마켓플레이스는 Adobe, Figma, Salesforce를 비롯한 30개 이상의 파트너와 함께 출시되었습니다(TechCrunch). 문서화하고 테스트해 둔 스킬은 내 일정에 맞춰 제출하고, 공유하고, 폐기할 수 있습니다. 저장된 프롬프트는 벤더가 계속 유지해 주기를 바라는 수밖에 없습니다.
자주 묻는 질문
Gems, 커스텀 GPT, 스킬은 같은 건가요?
겹치지만 똑같지는 않습니다. 셋 다 재사용을 위해 지시문을 저장합니다. 스킬은 설명 기반 트리거를 더하고, 오픈 형식에서는 필요할 때만 불러오는 스크립트와 참조 파일까지 갖습니다. Gems와 커스텀 GPT는 대부분 한 벤더의 편집기 안에서 지시문과 업로드한 지식 파일로 구성되었습니다.
Gems는 손 안 대도 스킬로 전환되나요?
Google은 마이그레이션이 자동이며 사용자가 할 일은 없고, 지원되는 파일은 Gem과 함께 넘어간다고 밝혔습니다. 지시문 텍스트는 그대로 옮겨질 것입니다. 첨부 파일, 공유 권한, 기대하던 출력 형식이 그대로 동작하는지는 저장해 둔 예시를 돌려서 확인하세요.
스킬 하나를 Claude, ChatGPT, Gemini에서 모두 쓸 수 있나요?
SKILL.md 형식은 오픈 스탠더드이며 Anthropic과 OpenAI 문서 모두 이를 설명합니다. Google의 Gemini 앱도 스크립트와 파일 형식에 제한이 있지만 SKILL.md 업로드를 받습니다. 어느 쪽이든 폴더 하나를 원본으로 유지하고, 업로드할 때마다 예시를 다시 돌려 보세요.
스킬은 얼마나 길어야 하나요?
짧게 쓰세요. Anthropic은 메인 파일을 500줄 미만으로 권장하고, 오픈 스펙은 지시문을 약 5,000 토큰 이내로 유지하라고 제안합니다. 긴 참조 자료는 필요할 때만 불러오는 별도 파일로 옮기세요.
스킬을 만들려면 MCP가 필요한가요?
아니요. 지시문, 예시, 템플릿으로 이루어진 스킬에는 도구가 전혀 필요하지 않습니다. 스킬이 실시간 데이터를 읽거나 작업을 수행해야 할 때 MCP를 추가하고, 권한은 지시문이 아니라 서버에서 관리하세요.
팀의 스킬은 누가 관리해야 하나요?
스킬마다 지정된 담당자 한 명과 공유 저장소가 필요합니다. 담당한다는 것은 질문에 답하고, 수정 사항을 리뷰하고, 플랫폼이 바뀐 뒤 예시를 다시 돌리는 일을 말합니다. 그렇지 않으면 스킬은 대체하려던 위키와 같은 속도로 낡아 갑니다.