본문으로 건너뛰기

버그 제보

이상한 점을 알려 주시면 고칠게요. 지금 보고 있는 페이지와 브라우저 정보가 함께 담겨요.

페이지:

AI & Data

Claude 스킬 만들기 가이드

작성 2026. 10. 13.추가
목차8개 항목
출처와 참고

baho.dev의 글 「Anthropic의 스킬 가이드를 읽혔다: 챕터별 핵심 정리」(Jihye Song, 2026.02)를 요약·재구성한 노트다. 원 자료는 Anthropic이 공개한 PDF 「The Complete Guide to Building Skills for Claude」이고, 형식 규칙은 Agent Skills 명세와 Claude Code 스킬 문서로 확인했다. 공식 예제는 anthropics/skills 저장소에 있다.

스킬의 구조: 3단계 프로그레시브 디스클로저

스킬은 한 번에 다 읽히지 않고 필요한 만큼만 단계적으로 로딩된다. LLM 버전의 지연 로딩(lazy loading)이다.

단계내용언제 읽히나
1YAML 프론트매터 (name, description), 스킬당 약 100토큰항상 시스템 프롬프트에 들어간다. 스킬을 쓸지 판단하는 데만 쓰인다
2SKILL.md 본문관련 있다고 판단될 때
3references/ 등 링크된 파일본문이 가리키고, 실제로 필요할 때
설계 원칙뜻
합성성여러 스킬이 동시에 로딩될 수 있다. 내 스킬만 단독으로 쓰인다고 가정하지 않는다
이식성Claude.ai, Claude Code, API에서 똑같이 동작한다. Agent Skills는 개방형 표준이라 같은 폴더를 다른 에이전트 도구도 읽는다

MCP는 주방이고 스킬은 레시피다. MCP는 도구에 접근하게 해 줄 뿐이라, MCP만 있으면 사용자가 매번 사용법을 설명해야 한다. 스킬이 그 사용법을 담으면 워크플로가 알아서 켜지고 결과도 일관된다. 그래서 스킬의 쓰임은 세 갈래로 나뉜다.

유즈케이스내용
문서·에셋 생성문서, 디자인, 코드. Claude 기본 능력만으로 충분한 경우
워크플로 자동화여러 단계 프로세스에 검증 게이트를 넣는 경우
MCP 강화MCP 도구 위에 "어떻게 쓰는지"라는 워크플로 지식을 얹는 경우

description이 전부다

description은 Claude가 스킬을 불러올지 결정하는 유일한 단서다. 시스템 프롬프트에 그대로 들어가므로 명세상 1,024자 이내여야 하고, claude.ai·API에 올릴 때는 XML 태그를 쓸 수 없다. 무엇을 하는가(what) 와 언제 쓰는가(when, 사용자가 실제로 칠 법한 트리거 문구) 를 반드시 담고, 핵심 쓰임을 맨 앞에 둔다.

# 나쁜 예: 언제 써야 하는지 알 수 없음
description: 프로젝트 관리를 돕는다.
 
# 좋은 예: 하는 일 + 트리거 문구
description: 스프린트 계획을 세우고 태스크를 생성한다. "sprint", "스프린트 계획", "create tickets" 같은 요청에 사용.

폴더와 지시문 규칙

your-skill/
├── SKILL.md      ← 필수, 파일명 정확히
├── scripts/      ← 선택: 실행할 스크립트
├── references/   ← 선택: 필요할 때 읽을 상세 문서
└── assets/       ← 선택: 템플릿, 이미지 등
규칙내용
이름소문자·숫자·하이픈만, 64자 이내, 폴더명과 같게 (my-skill O, My_Skill X). claude.ai·API에 올리는 스킬은 claude, anthropic을 쓸 수 없다
프론트매터명세상 name과 description이 필수다. Claude Code는 name이 없으면 폴더명을 쓰고, allowed-tools·disable-model-invocation 같은 확장 필드를 더 받는다
README스킬 폴더 안에 두지 않는다. 설명은 SKILL.md나 references/로
분량SKILL.md는 500줄 이내(본문 5,000토큰 안팎). 핵심 지시는 맨 위에, 상세는 references/로 빼고 참조는 한 단계 깊이까지만 건다
지시문"데이터를 검증하라" 같은 모호한 말 대신 실행할 명령(python scripts/validate.py input.csv)을 적고, 실패했을 때 어떻게 할지(에러 처리)를 반드시 쓴다

테스트와 증상별 대응

처음부터 범용 스킬을 설계하지 않는다. 어려운 작업 하나를 먼저 성공시키고 그 방법을 스킬로 뽑아낸다. 구체적인 성공을 일반화하는 순서가 반대보다 훨씬 잘 된다.

테스트확인할 것
트리거 테스트관련 질문에선 뜨고, 무관한 질문에선 안 뜨는가
기능 테스트결과가 정확한가, 에러를 제대로 처리하는가
성능 비교스킬 유무에 따른 대화 횟수·토큰·API 실패 수. 가이드의 예시에서는 대화 15회 → 2회, 토큰 12,000 → 6,000, API 실패 3회 → 0회

성공 기준은 정량(관련 질문의 약 90%에서 스킬이 뜬다, API 실패 0건)과 정성(사용자가 "다음엔 뭐 해요?"라고 묻지 않고, 교정 없이 끝까지 가고, 세션이 바뀌어도 결과가 같다)으로 나눠 잡는다.

증상원인대응
언더트리거 (안 뜸)description에 단서 부족키워드·트리거 문구 추가
오버트리거 (엉뚱할 때 뜸)범위가 너무 넓음"이럴 땐 쓰지 마라" 네거티브 트리거 추가
지시를 안 따름, 결과가 들쭉날쭉지시가 너무 길거나, 중요한 내용이 중간에 묻혔거나, 모호함핵심 지시를 맨 위로 올리고 ## Critical 같은 헤더로 강조한다. 중요한 검증은 자연어 대신 스크립트로 만든다. 스크립트는 매번 같은 결과를 낸다
전반적으로 느려짐동시에 켜진 스킬이 20~50개를 넘음관련 스킬을 "팩"으로 묶는다

배포

범위방법
개인폴더를 zip으로 묶어 Claude.ai에 업로드, 또는 ~/.claude/skills/(내 모든 프로젝트)·.claude/skills/(이 저장소)에 넣기
플러그인Claude Code 플러그인에 스킬을 담아 마켓플레이스로 배포. /플러그인명:스킬명으로 불린다
조직관리자가 워크스페이스 전체에 배포
API/v1/skills 엔드포인트, container.skills 파라미터, Agent SDK 연동

공개할 때는 GitHub 저장소에 올리고 설치 가이드를 붙인다. 소개할 땐 기능보다 결과를 말한다. "YAML 프론트매터와 마크다운이 담긴 폴더"보다 "팀 워크스페이스를 몇 초 만에 세팅"이 낫다.

팀 공용 스킬을 패키지로 배포하기

코딩 컨벤션, 커밋 규칙, 디자인 시스템 사용법처럼 여러 저장소가 같이 지켜야 하는 규칙을 저장소마다 .claude/skills/에 복사해 두면 금방 어긋난다. 디자인 시스템을 패키지로 배포하는 구조(디자인 시스템: 구성, 도입, 구축과 배포)를 스킬에도 적용한다. 중앙에서 한 번 수정하고, 각 저장소는 설치·업데이트만 한다.

skill-installer/
├── package.json
├── bin/install.js        # skills/ 아래 파일을 대상 저장소의 .claude/skills/로 복사
└── skills/team-dev-guide/SKILL.md
 
$ npx @my-org/skill-installer install team-dev-guide
요소역할
중앙 스킬 저장소스킬의 유일한 원본. 수정은 여기서만 한다
npm 패키지 + 설치 명령버전이 추적되고, 각 저장소는 명령 한 줄로 .claude/skills/<skill-name>/SKILL.md를 받는다
자동 업데이트 PRRenovate, Dependabot, GitHub Actions 스케줄 작업이 새 버전을 감지해 PR을 만든다. 변경 내역은 PR 리뷰로 확인한다

실전 패턴 다섯 가지

패턴핵심예
순차 워크플로단계마다 검증 게이트를 두고, 단계 간 의존성과 실패 시 롤백 방법을 명시한다고객 온보딩: 계정 생성 → 결제 설정 검증 → 구독 생성 → 환영 메일
다중 MCP 조율여러 서비스 사이에서 데이터를 넘기고, 다음 단계 전에 검증한다디자인 핸드오프: Figma 추출 → Drive 업로드 → Linear 태스크 → Slack 알림
반복 개선초안 → 검증 스크립트 → 수정 → 재검증 루프. 품질 기준과 언제 멈출지를 미리 정한다보고서 초안을 검사 통과까지 다듬기
상황별 도구 선택목표가 같아도 상황에 따라 도구를 고르고, 판단 기준과 선택 이유를 드러낸다큰 파일은 클라우드 스토리지, 협업 문서는 Notion, 코드는 GitHub
도메인 전문 지식도구 연결은 누구나 하므로, 차별점은 지식을 코드화하는 데 있다결제 전 컴플라이언스: 제재 목록 확인 → 관할권 검증 → 리스크 평가 → 감사 기록

정리

  • 스킬은 프론트매터 → 본문 → 참조 파일 순으로 필요할 때만 읽힌다. 다른 스킬과 함께 로딩돼도 충돌하지 않게 쓴다.
  • 트리거는 description 하나에 달렸다. what과 when을 담는다.
  • 본문은 짧게, 지시는 실행 가능한 명령으로, 중요한 검증은 스크립트로 둔다.
  • 어려운 작업 하나를 성공시킨 뒤 스킬로 뽑고, 증상에 따라 description과 지시문을 고친다.

관련 노트: Claude Code 활용 가이드, 디자인 시스템을 아는 화면 생성 에이전트 설계하기, 디자인 시스템: 구성, 도입, 구축과 배포

원본 기록3

댓글

GitHub 계정으로 댓글을 남길 수 있어요.