OpenClaw의 Skill 시스템이란?
Skill은 OpenClaw에서 AI 어시스턴트의 기능을 확장하는 핵심 메커니즘입니다. 각 Skill은 본질적으로 SKILL.md 파일로, Markdown 형식으로 작성된 지시문 세트를 통해 AI가 특정 상황에서 어떻게 행동해야 하는지를 정의합니다.
실제 활용 예시를 몇 가지 들어보겠습니다:
- "일일 보고서 생성" Skill: AI가 오늘의 대화 기록을 바탕으로 자동으로 업무 일보를 정리합니다
- "번역 어시스턴트" Skill: AI가 외국어 메시지를 받으면 자동으로 번역하고 특정 번역 스타일을 유지합니다
- "코드 리뷰" Skill: AI가 팀의 코딩 컨벤션에 따라 코드 조각을 리뷰합니다
Skill 시스템의 설계 철학은 "자연어로 프로그래밍"하는 것입니다. 코드를 작성할 필요 없이, AI가 무엇을 해야 하는지를 명확한 문장으로 기술하기만 하면 됩니다.
Skill 파일 저장 위치
모든 커스텀 Skill 파일은 다음 디렉토리에 저장합니다:
~/.openclaw/skills/
각 Skill은 독립된 폴더이며, 폴더 안에 SKILL.md 파일을 포함합니다:
~/.openclaw/skills/
├── daily-report/
│ └── SKILL.md
├── translator/
│ └── SKILL.md
└── code-review/
└── SKILL.md
OpenClaw은 시작 시 이 디렉토리를 자동으로 스캔하여 사용 가능한 모든 Skill을 로드합니다.
SKILL.md 파일 구조
완전한 SKILL.md 파일은 두 부분으로 구성됩니다: YAML 프론트매터와 Markdown 지시문 본문.
아래는 "스마트 번역 어시스턴트" Skill의 완전한 예시입니다:
---
name: translator
description: "스마트 번역 어시스턴트, 한영 양방향 번역 지원, 전문 용어 정확도 유지"
trigger: "번역"
version: "1.0.0"
tags: ["번역", "언어"]
author: "your-name"
enabled: true
---
## 역할 정의
당신은 전문 번역 어시스턴트입니다. 사용자가 번역이 필요한 내용을 보내면, 다음 규칙에 따라 작업합니다.
## 번역 규칙
1. 원본 언어를 자동 감지하고 대상 언어로 번역
2. 원본이 한국어인 경우 영어로 번역
3. 원본이 영어인 경우 한국어로 번역
4. 사용자가 대상 언어를 지정한 경우, 사용자 지정에 따름
## 번역 스타일
- 기술 문서: 용어 정확도를 유지하고 문장을 간결하게
- 일상 대화: 자연스럽고 유창한 표현 사용
- 비즈니스 이메일: 격식 있고 적절한 어투 사용
## 출력 형식
번역 결과를 직접 출력하며, 별도의 설명은 불필요합니다. 의미가 모호한 내용이 있으면 번역 뒤에 괄호로 간단히 설명합니다.
## 예시
사용자 입력: 번역 "이 API의 rate limit은 얼마인가요?"
출력: What is the rate limit of this API?
YAML 프론트매터 상세 설명
| 필드 | 필수 | 설명 |
|---|---|---|
name |
예 | Skill의 고유 식별자, 영문과 하이픈 사용 |
description |
예 | Skill의 기능을 간략하게 설명 |
trigger |
아니오 | 트리거 키워드, 사용자 메시지에 이 키워드가 포함되면 활성화 |
version |
아니오 | 버전 번호, 관리와 업데이트에 유용 |
tags |
아니오 | 태그 배열, 분류용 |
author |
아니오 | 작성자 정보 |
enabled |
아니오 | 활성화 여부, 기본값 true |
Markdown 지시문 본문
본문은 AI에게 전달하는 지시문으로, 표준 Markdown 형식을 사용합니다. 지시문 작성 시 참고할 몇 가지 팁:
- 2단계 제목(##)으로 지시문 모듈을 구분하세요. 구조가 명확하면 AI가 더 잘 이해합니다
- 구체적인 예시를 제공하세요. 예시는 추상적인 설명보다 효과적입니다
- 경계 조건을 명확히 하세요. 어떤 상황에서 어떻게 처리해야 하는지 알려주세요
- 지시문을 간결하게 유지하세요. 지나치게 긴 설명은 피하세요
실습: 일일 보고서 생성 Skill 만들기
직접 실용적인 Skill을 만들어 보겠습니다:
mkdir -p ~/.openclaw/skills/daily-report
~/.openclaw/skills/daily-report/SKILL.md를 생성합니다:
---
name: daily-report
description: "오늘의 대화 기록을 바탕으로 업무 일보 생성"
trigger: "일보"
version: "1.0.0"
tags: ["생산성", "업무"]
enabled: true
---
## 역할 정의
당신은 업무 일보 정리 어시스턴트입니다. 사용자가 일보 생성을 요청하면, 오늘의 대화 기록과 사용자가 제공한 정보를 바탕으로 구조화된 업무 일보를 작성합니다.
## 일보 형식
다음 형식으로 일보를 출력합니다:
### 오늘 완료한 업무
- [오늘 완료한 업무 항목 나열]
### 진행 중
- [진행 중이지만 미완료된 업무 나열]
### 내일 계획
- [내일 계획하고 있는 업무 나열]
### 비고
- [기타 기록할 정보]
## 주의사항
1. 대화 기록에서 업무 관련 정보를 추출하고, 잡담 내용은 무시
2. 간결한 문장 사용, 각 항목은 두 문장 이내
3. 정보가 부족한 경우, 사용자에게 보충을 요청
4. 날짜 형식은 YYYY-MM-DD 사용
Skill 테스트
Skill 파일을 생성한 후, OpenClaw을 재시작하여 적용합니다:
openclaw restart
Dashboard나 연결된 채팅 채널을 통해 테스트할 수 있습니다. 트리거 키워드가 포함된 메시지를 보내보세요. 예를 들어:
오늘의 일보를 생성해 주세요
Skill이 정상적으로 로드되었다면, AI가 정의한 형식과 규칙에 따라 응답합니다.
현재 로드된 모든 Skill을 확인합니다:
openclaw skill list
모든 Skill의 이름, 상태, 트리거 키워드가 표시됩니다.
디버깅 팁
Skill이 예상대로 동작하지 않으면, 다음 문제 해결 단계를 시도해 보세요:
1. 파일 형식 확인:
YAML 프론트매터가 올바른 ---로 감싸져 있고, YAML 문법이 올바른지 확인합니다. 흔한 오류로는 잘못된 들여쓰기나 따옴표 불일치가 있습니다.
2. 로드 로그 확인:
openclaw logs | grep -i skill
로그에 Skill의 로드 상태와 발생 가능한 오류 메시지가 표시됩니다.
3. 트리거 키워드 확인:
보낸 메시지에 trigger 필드에 정의된 키워드가 포함되어 있는지 확인합니다. 트리거 키워드 매칭은 대소문자를 구분하지 않습니다.
4. 단계적으로 단순화하여 테스트:
Skill이 복잡한 경우, 먼저 가장 기본적인 버전으로 지시문을 단순화하여 기본 기능이 정상 동작하는지 확인한 후, 점진적으로 복잡한 규칙을 추가합니다.
MCP Server와의 연동
Skill은 OpenClaw의 MCP Server와 통합하여 사용할 수 있습니다. AI가 지시문을 이해할 뿐만 아니라, 외부 도구를 호출하여 작업을 수행할 수도 있습니다. 예를 들어, 일보 Skill이 캘린더 MCP Server를 호출하여 오늘의 회의 일정을 가져와 자동으로 일보에 채울 수 있습니다. 이 부분은 고급 활용에 해당하며, 자세한 내용은 OpenClaw 공식 문서의 MCP 섹션을 참고하세요.
마무리
Skill 시스템은 OpenClaw에서 가장 확장성이 뛰어난 기능 중 하나입니다. 간단한 Markdown 파일 하나로 AI 어시스턴트에게 새로운 능력을 부여할 수 있습니다. 간단한 번역 어시스턴트부터 복잡한 워크플로 자동화까지, Skill의 가능성은 여러분의 상상력에만 제한됩니다. 유용한 Skill을 개발했다면, OpenClaw GitHub 저장소에서 커뮤니티와 공유해 주세요. 더 많은 정보는 OpenClaw을 방문하세요.