들어가며
Claude에게 견적서를 작성해달라고 합니다. 첫 번째 결과엔 부가세가 빠져 있습니다. 다시 요청하면 결제 조건이 누락됩니다. 세 번째에는 형식이 표가 아니라 글로 나옵니다.
같은 요청인데 결과가 매번 다릅니다. 결국 "이것도 넣어줘", "형식 바꿔줘"를 2~3번 반복하게 됩니다.
문제는 프롬프트가 아닙니다. 시스템이 없는 것이 문제입니다. 이 글에서는 Claude Code의 Skills 기능으로 AI에게 업무 매뉴얼(SOP)을 만들어 주는 법을 정리했습니다. 프롬프트와 무엇이 다른지, skill-creator로 직접 만들고 eval 테스트로 검증하는 법까지 함께 다룹니다. 한 번 만들면, 같은 요청에 항상 일관된 결과가 나옵니다.
Claude Skills란 — AI에게 주는 SOP
Skills의 핵심 개념은 이렇습니다.
회사에 신입사원이 들어왔다고 생각합니다. 매번 "이건 이렇게, 저건 저렇게" 구두로 지시하면, 결과물이 들쭉날쭉합니다. 그래서 **SOP(표준운영절차)**를 만듭니다. "이 순서대로, 이 양식으로, 이 체크리스트를 거쳐서 처리하라."
Claude Skills가 바로 이것입니다. AI에게 주는 SOP.
기술적으로는 SKILL.md라는 마크다운 파일 하나입니다. 이 파일에 업무 절차, 포맷 규칙, 체크리스트를 정의해두면, Claude가 해당 작업 요청을 받을 때 자동으로 이 매뉴얼을 읽고 실행합니다.
n8n이나 Make.com 같은 자동화 도구에 익숙한 분은 이렇게 생각하면 됩니다:
| n8n 워크플로우 | Claude Skills |
|---|---|
| Trigger (언제 시작) | description 필드 (어떤 요청에 반응할지) |
| Action 노드 (뭘 할지) | SKILL.md 본문 (절차, 단계) |
| Output (결과물) | 아웃풋 포맷 정의 (PDF, 마크다운 등) |
워크플로우를 한 번 만들면 재사용하는 것처럼, 스킬도 한 번 만들면 계속 사용합니다.
스킬의 3계층 구조
스킬은 3개 레이어로 구성됩니다.
| 계층 | 내용 | 로딩 시점 |
|---|---|---|
| 1계층 | 이름 + 설명 (YAML frontmatter) | 항상 (Claude가 "이 스킬이 있구나" 인식) |
| 2계층 | SKILL.md 본문 (절차, 포맷, 체크리스트) | 트리거될 때만 |
| 3계층 | 부속 자료 (references/, scripts/) | 필요할 때만 온디맨드 |
이 구조의 장점은 토큰 효율입니다. 평소에는 이름과 설명만 메모리에 올라가 있고, 실제로 해당 스킬이 필요할 때만 전체 내용이 로딩됩니다. n8n에서 워크플로우가 비활성 상태일 때 리소스를 안 쓰는 것과 같은 원리입니다.
.claude/skills/
└── quote-generator/ ← 스킬 폴더
├── SKILL.md ← 핵심 파일 (업무 매뉴얼)
├── references/ ← 참고 자료 (선택)
│ └── template.md
└── scripts/ ← 스크립트 (선택)
└── calculate.py
💡 Skills는 마크다운 파일 하나로 작동합니다. 코딩 지식이 필요 없습니다. 텍스트로 업무 절차를 정리할 수 있다면, 스킬을 만들 수 있습니다.
프롬프트 vs Skills — 무엇이 다른가
"프롬프트를 잘 쓰면 되는 거 아닌가요?"
맞는 말이기도 하고, 틀린 말이기도 합니다. 용도가 다릅니다.
| 비교 항목 | 프롬프트 | Skills |
|---|---|---|
| 재사용성 | 매번 처음부터 입력 | 한 번 만들면 자동 트리거 |
| 일관성 | 결과가 매번 다름 | 포맷/체크리스트 강제 |
| 확장성 | 텍스트만 전달 가능 | 참조 문서 + 스크립트 + 플러그인 연결 |
| 적합한 상황 | 일회성 작업 | 반복적, 일관된 품질 필요한 작업 |
핵심 차이를 하나씩 설명합니다.
1. 재사용성
프롬프트는 매번 입력해야 합니다. 견적서를 10번 만들면, 10번 다 요구사항을 설명합니다.
Skills는 한 번 만들면 끝입니다. "견적서 만들어줘"라고만 말하면, Claude가 알아서 해당 스킬을 인식하고 실행합니다.
2. 일관성
프롬프트만 사용하면, 같은 요청에도 결과가 달라집니다. 어떤 때는 세금이 빠져 있고, 어떤 때는 총합계가 틀립니다.
Skills는 포맷, 단계, 체크리스트를 강제합니다. SOP가 있는 직원은 "이 항목 빼먹으면 안 된다"는 걸 매뉴얼에서 확인합니다. 같은 원리입니다.
3. 확장성
프롬프트는 텍스트 한 덩어리입니다. 참고 자료를 넣으려면 프롬프트 안에 전부 복사해야 합니다.
Skills는 참고 문서, 스크립트, 플러그인까지 연결할 수 있습니다. 기존 견적서 템플릿을 참조 문서로 불러오거나, 브랜드 가이드라인에 맞춘 PDF를 자동 생성하거나, 작업 완료 후 슬랙 알림을 보내는 것까지 가능합니다.
📌 정리하면, **프롬프트가 "한 번의 지시"라면, Skills는 "업무 시스템"**입니다. 한두 번만 할 작업이면 프롬프트로 충분합니다. 반복적으로, 일관된 품질로, 복잡한 절차를 처리해야 한다면 Skills가 유리합니다.
실전: skill-creator로 견적서 스킬 만들기
개념은 여기까지입니다. 바로 만들어 봅니다.
오늘 만들 스킬은 견적서/제안서 초안 자동 작성 스킬입니다. 프리랜서나 에이전시를 운영하면 고객에게 견적서 보내는 일이 잦습니다. 매번 양식 찾고, 항목 채우고, 금액 계산하는 작업. 이걸 스킬 하나로 자동화합니다.
1단계: skill-creator 설치
스킬을 직접 작성할 수도 있지만, skill-creator라는 도구를 사용하면 훨씬 쉽습니다. Claude Code에서 /plugins를 입력하고, skill-creator를 검색하여 설치합니다.
/plugins
→ skill-creator 검색 → 설치
2단계: 원하는 스킬을 한 번에 설명하기
skill-creator를 호출할 때, 원하는 내용을 구체적으로 한 번에 전달하는 것이 핵심입니다.
/skill-creator 견적서/제안서 초안을 자동 생성하는 스킬을 만들어줘.
- 고객사명, 프로젝트 내용, 업무 항목과 공수를 입력하면 견적서 초안이 나와야 해
- 항목별 금액 테이블, 소계, 부가세(10%), 총합계 자동 계산
- 결제 조건 (착수금 50%, 완료 후 50%), 견적 유효기간 (30일) 포함
- 아웃풋은 PDF 파일로 생성
- 자체 검증 체크리스트 포함 (필수 항목 누락 확인)
- "견적서 만들어줘", "제안서 작성", "얼마 불러야 해" 같은 요청에 자동 트리거
레퍼런스로 이 파일을 참고해서 만들어줘:
@references/invoice-template.pdf
스킬 제작이후 eval test도 진행해줘.
이렇게 원하는 내용, 아웃풋 형태, 트리거 키워드, 참고 파일까지 한 번에 전달합니다. 마지막 줄의 eval test 요청이 포인트입니다. skill-creator가 스킬을 만든 후 자동으로 품질 검증까지 실행합니다.
skill-creator가 이 내용을 바탕으로 SKILL.md 초안을 생성합니다.
3단계: 생성된 SKILL.md 확인
skill-creator가 만들어준 결과를 확인합니다.
---
name: quote-generator
description: "고객 견적서/제안서 초안을 자동 생성하는 스킬.
'견적서 만들어줘', '제안서 작성', '프로젝트 견적',
'얼마 불러야 해', '비용 산출' 등의 요청에 트리거된다."
---
이 부분이 frontmatter라고 하는 메타데이터 영역입니다. name은 스킬 이름, description은 Claude가 이 스킬을 언제 사용할지 판단하는 기준입니다.
여기서 중요한 것은 description입니다. Claude는 키워드를 기계적으로 매칭하는 게 아니라, LLM 추론으로 "이 요청에 이 스킬이 적합한가?"를 판단합니다. 그래서 description에 사용자가 실제로 쓸 법한 표현들을 다양하게 넣어주는 것이 핵심입니다.
본문에는 SOP처럼 단계별 절차, PDF 아웃풋 지시, 자체 검증 체크리스트가 포함됩니다.
🔑 description 작성 — 공식 가이드 기준 규칙
Anthropic 공식 문서에서 강조하는 description 작성 규칙입니다:
3인칭으로 작성: "고객 견적서를 자동 생성한다" (O) / "견적서를 만들어드립니다" (X)
250자 초과 시 목록에서 잘림: 핵심 용도를 앞에 배치
최대 1,024자: 넉넉하지만, 앞 250자에 핵심을 담아야 합니다
"뭘 하는지" + "언제 쓰는지" 모두 포함
사용자가 실제로 입력할 표현 다양하게 포함: "견적서 만들어줘", "얼마 불러야 해", "비용 산출" 등
나쁜 예 좋은 예 "견적서 스킬" "고객 견적서/제안서 초안을 자동 생성. '견적서 만들어줘', '제안서 작성', '프로젝트 견적', '얼마 불러야 해', '비용 산출' 등의 요청에 트리거"
4단계: 테스트
스킬이 만들어졌으니 바로 테스트합니다.
ABC 마케팅 대행사에서 SNS 콘텐츠 제작 프로젝트 견적을 요청했어.
인스타그램 피드 디자인 20건, 릴스 기획 및 편집 10건, 콘텐츠 캘린더 수립 1건.
일당 단가 50만원 기준으로 견적서 만들어줘.
"견적서 만들어줘"라는 표현에 Claude가 quote-generator 스킬을 자동으로 불러옵니다. 고객사 정보, 항목별 금액 테이블, 소계, 부가세 10%, 총합계까지 계산된 PDF가 나옵니다. 결제 조건, 유효기간도 빠짐없이 들어가 있습니다.
스킬을 더 강력하게 — 피드백, eval 테스트, 디자인 커스텀
기본 결과물이 나왔으면, 이제 개선과 검증 차례입니다.
eval 테스트로 스킬 품질 검증
2단계에서 skill-creator를 호출할 때, 마지막에 스킬 제작이후 eval test도 진행해줘라고 추가했습니다. 이렇게 하면 skill-creator가 스킬을 만든 후 자동으로 eval 테스트까지 실행합니다.
eval 테스트는 스킬 적용 전과 후의 결과물을 비교하여, 스킬이 실제로 품질을 높이는지 객관적으로 보여줍니다.
| 비교 항목 | 스킬 없이 | 스킬 있을 때 |
|---|---|---|
| 필수 항목 포함률 | 60~80% | 100% |
| 포맷 일관성 | 매번 다름 | 항상 동일 |
| 추가 수정 횟수 | 1~3회 | 0~1회 |
| 체크리스트 검증 | 없음 | 매번 자동 실행 |
SOP 없이 일하는 직원과, SOP대로 일하는 직원의 차이와 같습니다.
📊 eval 테스트의 작동 방식 (공식 블로그 기준)
병렬 실행: 각 eval을 독립 에이전트로 실행. 깨끗한 컨텍스트에서 토큰/타이밍 메트릭을 각각 측정
A/B 비교: 비교 에이전트가 두 스킬 버전을 평가하되, 어느 것이 어느 버전인지 모르는 상태에서 판단 (블라인드 비교)
통과율/시간/토큰 추적: eval 통과율, 경과 시간, 토큰 사용량을 수치로 확인
Anthropic은 이 방식으로 공개된 문서 생성(document-creation) 스킬 6개 중 5개에서 트리거 개선을 확인했습니다.
피드백으로 디자인 개선
내용은 맞는데, 디자인이 밋밋합니다. 브랜드 가이드라인 파일을 레퍼런스로 넘기고 수정을 요청합니다.
피드백을 반영해서 수정해줘.
@references/brand-design-guideline.md 을 참고해서
견적서 디자인을 브랜드 가이드라인에 맞게 수정해줘.
- 로고, 색상, 폰트를 가이드라인에 맞춰줘
- 헤더/푸터에 회사 정보 포함
- 전체적으로 전문적이고 깔끔한 느낌으로
디자인이 마음에 들면, 이 설정을 스킬 문서에도 반영합니다.
해당 수정사항들 반영해서 스킬을 프로젝트에 반영해줘.
이때 한글 폰트도 항상 표시가 잘 되도록 스킬 안에 폰트 설치도 같이 해줘.
이제부터 "견적서 만들어줘"만 말하면, 브랜드 디자인이 적용된 PDF가 자동으로 생성됩니다. 다시 eval 테스트를 돌려보면, 이전보다 점수가 더 오른 것을 확인할 수 있습니다.
이 과정이 바로 만들고 → 쓰고 → 피드백하고 → 검증하는 스킬 개선 사이클입니다. 처음부터 완벽할 필요 없이, 쓰면서 점점 정교하게 만들어가면 됩니다.
스킬 공유와 재사용 — 3가지 저장 위치
만든 스킬을 다른 프로젝트에서도 사용하려면, 저장 위치를 이해해야 합니다.
| 저장 위치 | 경로 | 사용 범위 | 적합한 상황 |
|---|---|---|---|
| 프로젝트 스킬 | 프로젝트/.claude/skills/ | 해당 프로젝트만 | 팀 프로젝트, Git 공유 |
| 개인 스킬 | ~/.claude/skills/ | 내 모든 프로젝트 | 개인 업무 자동화 |
| 플러그인 | /plugins로 설치 | 설치한 프로젝트 | 마켓플레이스 배포, 팀 표준화 |
가장 빠른 방법: 개인 스킬 폴더로 이동
스킬 폴더를 ~/.claude/skills/로 옮기면, 어떤 프로젝트에서든 바로 사용할 수 있습니다.
체계적인 방법: 플러그인으로 등록
이 quote-generator 스킬을 로컬 플러그인으로 등록해줘.
다른 프로젝트에서도 /plugins로 설치할 수 있게.
Claude가 플러그인 구조로 패키징합니다. 이후 어떤 프로젝트에서든 /plugins에서 찾아 설치할 수 있습니다. 팀 프로젝트라면 Git에 올려서 팀원 전체가 동일한 스킬을 공유할 수도 있습니다.
공식 문서 기반 실전 팁 — 스킬을 제대로 쓰는 법
영상에서 못 다룬 부분입니다. 공식 문서에서 확인한 구체적인 규칙과 숫자들.
핵심 제약사항: 알아야 하는 숫자들
| 항목 | 제한 | 비고 |
|---|---|---|
name 필드 | 최대 64자 | 소문자, 숫자, 하이픈만 허용 |
description 필드 | 최대 1,024자 | 250자 초과 시 목록에서 잘림 |
| SKILL.md 본문 | 500줄 이하 권장 | 초과 시 references/ 파일로 분리 |
| description 예산 | 컨텍스트 윈도우의 2% | 폴백 16,000자. SLASH_COMMAND_TOOL_CHAR_BUDGET 환경변수로 조정 가능 |
| 예약어 | anthropic, claude 사용 불가 | name 필드에서 금지 |
"Claude는 이미 똑똑하다" — 불필요한 설명 빼기
Anthropic 공식 best practices의 첫 번째 원칙입니다. SKILL.md에 넣을 때 매번 이 질문을 던져야 합니다:
- "Claude가 이 설명이 정말 필요한가?"
- "이 단락이 토큰 비용을 정당화하는가?"
❌ 나쁜 예시 (~150 토큰):
"PDF (Portable Document Format)는 텍스트, 이미지를 포함하는 파일 형식입니다.
텍스트를 추출하려면 라이브러리가 필요합니다. pdfplumber가 추천됩니다..."
✅ 좋은 예시 (~50 토큰):
"PDF 텍스트 추출에는 pdfplumber를 사용합니다."
Claude는 PDF가 뭔지 이미 압니다. 스킬에는 Claude가 모르는 것만 넣어야 합니다.
참고 문서 분리: 1-depth 규칙
SKILL.md에서 참조하는 파일은 한 단계 깊이까지만 유지합니다. 참조 파일이 다른 파일을 또 참조하면, Claude가 전체를 읽지 않고 head -100으로 미리보기만 할 수 있습니다.
❌ 나쁜 구조 (2+ depth):
SKILL.md → advanced.md → details.md → "실제 정보가 여기에..."
✅ 좋은 구조 (1 depth):
SKILL.md
→ reference/template.md
→ reference/guideline.md
→ reference/examples.md
100줄 이상의 참조 파일에는 목차를 상단에 추가합니다. Claude가 부분 읽기를 할 때도 전체 구조를 파악할 수 있습니다.
토큰 효율: 3계층 로딩의 실제 동작
이 부분을 더 구체적으로 설명합니다. 스킬 10개가 설치되어 있어도, 평소에 토큰을 많이 쓰지 않는 이유입니다.
| 계층 | 로딩 시점 | 토큰 비용 |
|---|---|---|
| 1계층: name + description | 항상 (시스템 프롬프트에 포함) | description 250자 × 스킬 수 |
| 2계층: SKILL.md 본문 | 트리거될 때만 | 본문 전체 (500줄 이하 권장) |
| 3계층: references/, scripts/ | 필요할 때만 (온디맨드) | 요청한 파일만 |
핵심은 3계층 파일은 실행(execute)할 수도, 참조(read)할 수도 있다는 점입니다:
"run scripts/calculate.py를 실행해"→ 스크립트를 실행하고 출력만 컨텍스트에 들어감 (토큰 절약)"reference/guide.md를 참고해"→ 파일 전체를 읽어서 컨텍스트에 로딩
스크립트는 가능하면 실행 모드로 사용하는 것이 토큰 효율에 유리합니다.
Scheduled Tasks와 결합하면 자동화가 완성됩니다
Skills는 "뭘 어떻게 할지"를 정의하고, Scheduled Tasks는 "언제 실행할지"를 정합니다. 이 둘을 결합하면, 매일 아침 자동으로 뉴스 브리핑이 생성되거나, 매주 금요일에 주간 보고서가 만들어지는 시스템을 구축할 수 있습니다.
🔗 예약 실행은 클로드 데스크톱 앱의 'Schedule' 메뉴에서 시간만 정해주면 됩니다. 스킬을 한 번 잘 만들어두면, 그다음은 스케줄만 걸면 끝이에요.
스킬 아이디어: 어떤 업무를 스킬로 만들 수 있나?
"절차와 포맷이 있는 반복 업무"라면 뭐든 스킬로 만들 수 있습니다. 비개발자가 바로 활용할 수 있는 아이디어 목록입니다:
문서/산출물 생성 계열:
| 업무 | 트리거 표현 예시 | 기대 효과 |
|---|---|---|
| 견적서/제안서 | "견적서 만들어줘" | PDF 자동 생성, 세금 계산, 브랜드 적용 |
| 프레젠테이션 제작 | "발표 자료 만들어줘" | PPTX 자동 생성, 브랜드 색상/폰트, 슬라이드 레이아웃 |
| 인포그래픽 생성 | "장표 만들어줘" | 1920x1080 HTML 인포그래픽, PNG 다운로드, 데이터 시각화 |
| 계약서/NDA 초안 | "계약서 초안 써줘" | 조항 템플릿, 당사자 정보 자동 삽입, DOCX 출력 |
분석/리서치 계열:
| 업무 | 트리거 표현 예시 | 기대 효과 |
|---|---|---|
| 경쟁사 분석 리포트 | "경쟁사 분석해줘" | 웹 리서치 → 비교표 → 시사점 정리 → PDF |
| SEO 진단 | "사이트 SEO 분석해줘" | URL 입력만으로 기술/콘텐츠/스키마 종합 진단 |
| 데이터 분석 리포트 | "분석 리포트 만들어줘" | 엑셀/CSV 읽기, 차트 생성, 인사이트 도출 |
| 뉴스 브리핑 | "브리핑 만들어줘" | 멀티 소스 수집, 요약, HTML 뉴스레터 발송 |
반복 업무 자동화 계열:
| 업무 | 트리거 표현 예시 | 기대 효과 |
|---|---|---|
| 회의록 정리 | "회의록 정리해줘" | 녹음 파일 → 전사 → 안건/결정사항/액션 구조화 |
| 고객 이메일 답장 | "답장 초안 써줘" | 톤 가이드, 필수 포함 항목, 서명 자동 삽입 |
| SNS 콘텐츠 기획 | "콘텐츠 캘린더 짜줘" | 주간 게시물 계획, 해시태그, 이미지 설명 |
| 주간 보고서 | "주간 보고 써줘" | Git 커밋/작업 로그 기반 자동 성과 정리 |
| 강연/교육 자료 | "커리큘럼 만들어줘" | 세션 구성, 시간 배분, PPTX + 대본 패키지 |
마무리 — 반복 업무에 SOP를 만들어 보세요
다시 짚어보면 이렇습니다.
- Skills는 AI에게 주는 SOP입니다. SKILL.md 파일 하나에 절차, 포맷, 체크리스트를 정의합니다.
- skill-creator를 사용하면 코딩 없이 스킬을 만들 수 있고, eval 테스트로 효과를 검증합니다.
- 피드백 → 수정 → 재검증 사이클로 스킬을 점진적으로 개선합니다.
- 개인 스킬, 프로젝트 스킬, 플러그인 3가지 방식으로 저장하고 공유합니다.
반복적으로 하는 업무가 있다면, 그 업무의 SOP를 SKILL.md로 한번 만들어 보세요. 견적서, 회의록, 보고서, 이메일 답장. 절차와 포맷이 있는 업무라면 전부 스킬로 만들 수 있습니다.
🎯 다음 액션: 이번 주 반복했던 업무 하나를 떠올려 보세요. skill-creator에 그 업무를 설명하고, eval 테스트까지 돌려보는 것이 가장 빠른 시작입니다.
참고 자료 및 출처
이 글에서 인용한 공식 문서와 참고 자료입니다.
| 자료 | 링크 | 인용 내용 |
|---|---|---|
| Claude Code Skills 공식 문서 (한국어) | code.claude.com/docs/ko/skills | 3계층 구조, frontmatter 필드, 저장 위치, 500줄 제한, progressive disclosure |
| Skill Authoring Best Practices | platform.claude.com/docs/ko/agents-and-tools/agent-skills/best-practices | description 규칙 (250자/1024자), 3인칭 작성, 토큰 효율, 1-depth 참조, eval 체크리스트 (영문만 제공) |
| skill-creator 개선 블로그 | claude.com/blog/improving-skill-creator-test-measure-and-refine-agent-skills | eval 테스트 병렬 실행, A/B 블라인드 비교, 공개 문서 생성 스킬 6개 중 5개 트리거 개선 |
| Agent Skills 오픈 스탠다드 | agentskills.io | Claude Code Skills의 기반 표준, 멀티 도구 호환 |
