M2-5. 스킬 — 마크다운 기반 재사용 기능
한 줄 요약 — 스킬(skill) 은 이름·설명·마크다운 지침으로 정의되는 기능 단위 — “필요할 때만 펴보는 업무 매뉴얼” 입니다. 사용자 요청이 스킬의 목적과 일치하면 런타임이 스킬을 발동(invoke) 합니다. Copilot Studio의
SKILL.md·ZIP은 Anthropic이 공개한 Agent Skills와 사실상 같은 오픈 스킬 포맷입니다.참고 — 스킬 개념 일부는 Anthropic 공식 문서를 근거로 설명합니다. Microsoft 문서는 동일한 포맷(name·description·Markdown·ZIP)을 제공하지만 “Anthropic 기반”이라고 명시하진 않습니다 — 포맷·원리가 같아 함께 설명하되, 세부 동작은 각 제품 기준으로 확인하세요.
1. 스킬을 쓰는 이유 — 신입 온보딩 가이드 비유
Anthropic: “에이전트에 스킬을 만드는 것은 신입 직원 온보딩 가이드를 만드는 것과 같다.”
스킬은 지침·스크립트·리소스를 담은 폴더로, 범용 에이전트를 특정 업무 전문가로 바꿔주는 “절차 지식(어떻게 하는지)”의 묶음입니다. 공식 문서가 드는 가치 4가지:
- 재사용성(Reusability) — 한 번 만들어 여러 에이전트에 추가
- 모듈성(Modularity) — 복잡한 동작을 집중된 조각으로 분리
- 공유성(Shareability) — 마크다운 파일/패키지로 내보내 공유
- 명료성(Clarity) — 스킬마다 목적이 분명해 유지보수 용이
다른 컴포넌트와의 비교
| 컴포넌트 | 목적 | 관리 방식 |
|---|---|---|
| Instructions | 전반적 동작·성격 | 정체성 구성 |
| Knowledge | 참조할 데이터 | 지식 소스 |
| Tools | 외부 서비스 통한 작업 | 커넥터·API·MCP |
| Skills | 재사용 가능한 작업별 기능 | 마크다운 기반 스킬 파일/패키지 |
2. 동작 방식 — 점진적 공개(Progressive Disclosure) 3단계
런타임은 사용자 메시지와 스킬 설명을 기반으로 활성화 시점을 결정합니다. 핵심은 한 번에 다 읽지 않는 것 — Anthropic은 이를 “목차 → 챕터 → 부록” 으로 비유합니다.
| 단계 | 무엇이 로드되나 | 비유 |
|---|---|---|
| ① 메타데이터 | name + description 만 시작 시 컨텍스트에 |
목차 |
| ② 본문 | 작업과 맞으면 SKILL.md 본문을 읽음 |
해당 챕터 |
| ③ 번들 리소스 | 링크된 파일·스크립트를 필요할 때만 | 부록 |
왜 중요한가 — 스킬이 100개라도 평소 컨텍스트에는 이름·설명만 있습니다. 지침은 상시 로드(M2-1)지만 스킬은 적시 로드 — 그래서 세부는 스킬로 빼야 컨텍스트가 가볍게 유지됩니다. 잘 쓴 설명이 올바른 발동의 핵심입니다.
3. 스킬 파일·패키지 구조
| 형식 | 구조 | 용도 |
|---|---|---|
| Markdown (.md) 단일 파일 | YAML 프런트 매터(name, description) + 마크다운 지침 — UI에 바로 붙여넣기 등록 | 규칙·형식 고정 |
| ZIP 패키지 | SKILL.md 필수 + 선택 리소스(references/·assets/·scripts/) |
코드·템플릿·디자인 동봉 |
처음 스킬은 단일 파일로 시작하세요 — UI에 바로 등록되니 피드백이 빠르고, 스킬의 본질(재사용 지침)을 가장 또렷이 체감할 수 있습니다.
예 — “분석 결과를 늘 같은 형식으로 요약”하는 단일 파일 스킬:
---
name: result-brief
description: 분석 결과를 매번 똑같은 짧은 형식으로 요약할 때.
"요약·브리핑·정리" 요청 시.
---
# 결과 브리핑
## 무엇을 하나 — 항상 이 고정 형식으로 정리
한 줄 요약 / 핵심 숫자 / 눈에 띄는 점 / 다음 액션
## 규칙
숫자는 분석 결과만, 5줄 안팎으로 짧게, 증감은 +/-로
→ YAML 2줄(name·description) + “언제·무엇을·규칙”만으로 스킬이 됩니다.
리소스로 담는 것들 — Python 코드(데이터 처리 패턴) · HTML 템플릿(메일·보고서) · 디자인 가이드(색·서식 규칙의 단일 진실 원천).
⚠️ 본문만 자동 주입됩니다 — 패키지에서 코어에 자동으로 들어가는 것은
SKILL.md본문뿐이고, 번들 리소스(디자인 문서·코드)는 저장만 되어 에이전트가 능동적으로 열어야 합니다. 핵심 규칙은 반드시 본문에, 확장 자료만 리소스로 빼세요.
개념(Anthropic) — Anthropic은 스킬에 실행 스크립트를 넣어 결정적으로 처리하는 것을 권장합니다. ⚠️ 단, 번들 스크립트의 자동 실행은 Claude/코드 실행 환경의 기능입니다 — Copilot Studio 스킬 패키지에서 동일하게 실행되는지는 프리뷰·라이선스·환경에 따라 다르므로 확인 필수(현재는 참고자료·템플릿 동봉이 핵심 용도).
4. 빈 상태에서 스킬 만들기 (Create from blank)
- 에이전트 열기 → Build 탭 → 컴포넌트 패널에서 Skills 선택
- Add skill에서 Create from blank 선택
- 필드 정의:
| 필드 | 요구 사항 | 예시 |
|---|---|---|
| Name | 설명적 식별자 — 소문자·숫자·하이픈만, 선행/후행 하이픈 불가 | customer-support-escalation |
| Description | 목적과 활성화 조건(런타임이 발동 판단에 사용) | “고객 지원 에스컬레이션 요청 처리” |
| Instructions | 마크다운 형식 동작 지침 | 아래 모범 사례 참조 |
- Create 선택 → 컴포넌트 패널에 스킬 표시
name규칙 위반 예 —brand_comms❌(언더스코어) ·Brand-Comms❌(대문자) ·brand-comms✅. 위반 시 “Name must use only lowercase letters, numbers, and hyphens…” 오류가 납니다.
지침 작성 모범 사례 — 작업/시나리오의 명확한 기술, 응답 단계별 가이드, 응답 서식 요구 사항, 엣지 케이스(edge cases)와 처리 방법, (해당 시) 도구 참조. 단순하게 시작해 테스트 기반으로 정제하고, 추가 후 Preview 탭에서 테스트하세요.
5. 기존 스킬 업로드
전제 — YAML 프런트 매터(이름·설명) + 지침이 담긴 마크다운 파일
- Build 탭 → Skills → Add skill 섹션에서 Upload a skill 선택
- 업로드 박스에 파일을 드래그 앤 드롭하거나 박스 선택 후 파일 찾아보기
- 시스템이 파일을 검증(validate) 한 뒤 스킬을 에이전트에 추가
⚠️ 같은 이름 재업로드 함정 (2026-06 확인) — 스킬을 삭제 후 같은 이름으로 다시 올려도 구버전이 인식되는 사례가 있습니다 →
-v2같은 새 이름을 쓰고 Preview로 확인하세요.
6. 스킬 관리 — 편집·다운로드·교체·삭제
직접 편집은 빈 상태에서 만든(from blank) 스킬만 가능합니다. 업로드한 스킬은 다운로드 → 외부 편집 → 교체(Replace) 방식으로 갱신합니다.
- 편집(빈 상태 생성 스킬) — 스킬 선택 → 스킬 구성 패널(skill configuration panel)에서 Name/Description/Instructions 수정 → Save → (권장) Preview 탭에서 검증
- 다운로드 — 빈 상태 생성 스킬: 스킬 선택 → Download 아이콘 / 업로드 스킬: 점 3개(…) → Download. 출력은 YAML 프런트 매터 + 지침의 마크다운 파일(파일명 = 스킬 이름)
- 교체(업로드 스킬) — 스킬 선택 → 점 3개(…) → Replace → 교체 파일 선택
- 삭제 — 컴포넌트 패널에서 스킬 옆 X 아이콘 → 확인 메시지에서 Delete. 영구 삭제·복구 불가 — 필요할 수 있으면 먼저 다운로드해 두세요.
요약 표
| 항목 | 내용 |
|---|---|
| 편집 가능 속성 | Name, Description, Instructions(마크다운) |
| 이름 제약 | 소문자·숫자·하이픈만; 선행/후행 하이픈 불가 |
| 다운로드 형식 | Markdown(.md) |
| 삭제 복구 | 불가(사전 다운로드 권장) |
| 직접 편집 범위 | 빈 상태 생성 스킬만 |
7. 언제 스킬인가 — 지침 vs 스킬 vs 도구
| 상황 | 선택 |
|---|---|
| 항상 지켜야 할 규칙(역할·톤·안전) | 지침 (M2-1) |
| 가끔·상황별 절차·형식(플레이북·체크리스트·런북) | 스킬 |
| 외부에서 실제 행동(조회·발송·계산) | 도구 (M2-4) |
8. 효과적으로 쓰는 법 — 3원칙 + 작성 원칙
3원칙
- 단순하게 시작 — ①
SKILL.md한 장(규칙·형식) → ② +보조 문서(용어·맥락) → ③ +템플릿·리소스(고정 품질). 필요해질 때만 확장. - 모델이 혼자 못 하는 것을 담아라 — 검색으로 알 수 없는 운영 지식(예: “대용량 파일은 Base64가 아니라 OneDrive 링크로 첨부” — 토큰 폭발 방지).
- 단일 진실 원천(Single Source of Truth) — 디자인 규격·절차는 스킬 한 곳에만. 지침·다른 스킬에 중복 금지 (M2-1 §5-③).
작성 원칙 (Anthropic)
- 평가로 시작 — 대표 과제를 돌려 부족한 부분(gap) 을 찾고 그 지점에 스킬을 만든다.
- 이름·설명이 트리거 — 구체적으로. 예: “X 용도로 사용하십시오. Y 용도로는 사용하지 마십시오.”
- 확장 시 분리 — 서로 배타적이거나 드물게 쓰는 내용은 별도 파일로.
- 관찰·반복 — 실제 사용 로그를 보고 성공 패턴을 스킬로 축적.
- ⚠️ 보안 — 신뢰할 수 있는 출처의 스킬만. 외부 네트워크 접속 지시·코드는 반드시 감사.
핵심 정리
- 스킬 = 이름 + 설명 + 마크다운 지침 — “필요할 때만 펴보는 업무 매뉴얼”, 설명이 발동 조건을 결정
- 점진적 공개 3단계(메타데이터→본문→리소스) — 스킬이 많아도 컨텍스트는 가볍다
- 단일 파일로 시작, 리소스가 필요해지면 패키지로 — 단 본문만 자동 주입, 핵심 규칙은 본문에
- Create from blank 또는 Upload a skill — 이름은 소문자·숫자·하이픈만, 재업로드 시 새 이름 권장
- 업로드 스킬은 다운로드→외부 수정→Replace, 삭제는 영구적
- 선택 기준: 항상 = 지침 / 상황별 절차·형식 = 스킬 / 실제 행동 = 도구
(기능·화면·명칭은 프리뷰 기준 · subject to change)
🧪 실습: ④ 검토 보고서 스킬 · 보고서 양식 스킬(Markdown→HTML→Word · M365 Copilot 활용)
M2 허브로 · 이전 ← M2-4. 도구 · 다음 → M2-6. 연결된 에이전트
출처: Skills overview (MS Learn) · Create a skill (MS Learn) · Add an existing skill (MS Learn) · Manage and delete skills (MS Learn) · Equipping agents for the real world with Agent Skills (Anthropic) · Agent Skills overview (Claude Platform Docs)