Skills
Skills 만들기
Skills는 에이전트가 도구를 언제 어떻게 사용할지 가르칩니다. 각 스킬은 YAML frontmatter와 markdown 지침이 포함된 SKILL.md 파일을 담은 디렉터리입니다.
OpenClaw는 정의된 우선순위에 따라 여러 루트에서 Skills를 로드합니다.
첫 스킬 만들기
Create the skill directory
Skills는 워크스페이스의 skills/ 폴더에 있습니다. 새 스킬용 디렉터리를 만듭니다.
mkdir -p ~/.openclaw/workspace/skills/hello-world정리를 위해 하위 폴더로 Skills를 그룹화할 수 있습니다. 그래도 스킬 이름은 폴더 경로가 아니라 SKILL.md frontmatter로 지정됩니다.
mkdir -p ~/.openclaw/workspace/skills/personal/hello-world# skill name is still "hello-world", invoked as /hello-worldWrite SKILL.md
디렉터리 안에 SKILL.md를 만듭니다. frontmatter는 메타데이터를 정의하고, 본문은 에이전트 지침을 제공합니다.
---name: hello-worlddescription: A simple skill that prints a greeting.--- # Hello World When the user asks for a greeting, use the `exec` tool to run: ```bashecho "Hello from your custom skill!" 이름 지정 규칙:- `name`에는 소문자, 숫자, 하이픈을 사용합니다.- 디렉터리 이름과 frontmatter `name`을 일치시킵니다.- `description`은 에이전트와 slash command 검색에 표시됩니다. 한 줄로 유지하고 160자 미만으로 작성합니다. OPENCLAW_DOCS_MARKER:stepClose: OPENCLAW_DOCS_MARKER:stepOpen:IHRpdGxlPSJWZXJpZnkgdGhlIHNraWxsIGxvYWRlZCI ```bashopenclaw skills listOpenClaw는 기본적으로 Skills 루트 아래의 SKILL.md 파일을 감시합니다. 감시자가 비활성화되어 있거나 기존 세션을 계속 사용 중이라면, 에이전트가 새로 고친 목록을 받도록 새 세션을 시작합니다.
# From chat — archive current session and start fresh/new # Or restart the gatewayopenclaw gateway restartTest it
스킬을 트리거할 메시지를 보냅니다.
openclaw agent --message "give me a greeting"또는 채팅을 열고 에이전트에게 직접 요청합니다. 이름으로 명시적으로 호출하려면 /skill hello-world를 사용합니다.
SKILL.md 참조
필수 필드
| 필드 | 설명 |
|---|---|
name |
소문자, 숫자, 하이픈을 사용하는 고유한 슬러그 |
description |
에이전트와 검색 출력에 표시되는 한 줄 설명 |
선택적 frontmatter 키
| 필드 | 기본값 | 설명 |
|---|---|---|
user-invocable |
true |
스킬을 사용자 slash command로 노출합니다 |
disable-model-invocation |
false |
에이전트의 시스템 프롬프트에서 스킬을 제외합니다(/skill로는 계속 실행됨) |
command-dispatch |
— | tool로 설정하면 모델을 우회해 slash command를 도구로 직접 라우팅합니다 |
command-tool |
— | command-dispatch: tool이 설정되었을 때 호출할 도구 이름 |
command-arg-mode |
raw |
도구 디스패치에서 원시 args 문자열을 도구로 전달합니다 |
homepage |
— | macOS Skills UI에서 "Website"로 표시되는 URL |
게이팅 필드(requires.bins, requires.env 등)는 Skills — 게이팅을 참조하세요.
{baseDir} 사용하기
스킬 본문에서 {baseDir}을 사용하면 경로를 하드코딩하지 않고 스킬 디렉터리 안의 파일을 참조할 수 있습니다.
Run the helper script at `{baseDir}/scripts/run.sh`.조건부 활성화 추가하기
종속성을 사용할 수 있을 때만 로드되도록 스킬을 게이트합니다.
---name: gemini-searchdescription: Search using Gemini CLI.metadata: { "openclaw": { "requires": { "bins": ["gemini"] }, "primaryEnv": "GEMINI_API_KEY" } }---Gating options
| 키 | 설명 |
|---|---|
requires.bins |
모든 바이너리가 PATH에 있어야 합니다 |
requires.anyBins |
하나 이상의 바이너리가 PATH에 있어야 합니다 |
requires.env |
각 환경 변수가 프로세스 또는 구성에 있어야 합니다 |
requires.config |
각 openclaw.json 경로가 truthy여야 합니다 |
os |
플랫폼 필터: ["darwin"], ["linux"], ["win32"] |
always |
모든 게이트를 건너뛰고 항상 스킬을 포함하려면 true로 설정합니다 |
전체 참조: Skills — 게이팅.
Environment and API keys
openclaw.json의 스킬 항목에 API 키를 연결합니다.
{ skills: { entries: { "gemini-search": { enabled: true, apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" }, }, }, },}키는 해당 에이전트 턴 동안에만 호스트 프로세스에 주입됩니다. sandbox에는 전달되지 않습니다. sandbox 처리된 환경 변수를 참조하세요.
Skill Workshop을 통해 제안하기
에이전트가 초안 작성한 Skills이거나 스킬을 라이브로 적용하기 전에 운영자 검토를 원한다면, SKILL.md를 직접 작성하는 대신 Skill Workshop 제안을 사용합니다.
# Propose a brand-new skillopenclaw skills workshop propose-create \ --name "hello-world" \ --description "A simple skill that prints a greeting." \ --proposal ./PROPOSAL.md # Propose an update to an existing skillopenclaw skills workshop propose-update hello-world \ --proposal ./PROPOSAL.md \ --description "Updated greeting skill"제안에 지원 파일이 포함된 경우 --proposal-dir을 사용합니다.
openclaw skills workshop propose-create \ --name "hello-world" \ --description "A simple skill that prints a greeting." \ --proposal-dir ./hello-world-proposal/디렉터리에는 PROPOSAL.md가 포함되어야 합니다. 지원 파일은 assets/, examples/, references/, scripts/, 또는 templates/에 넣을 수 있습니다.
검토 후:
openclaw skills workshop inspect <proposal-id>openclaw skills workshop apply <proposal-id>전체 제안 수명 주기는 Skill Workshop을 참조하세요.
ClawHub에 게시하기
Ensure your SKILL.md is complete
name, description, 그리고 모든 metadata.openclaw 게이팅 필드가 설정되어 있는지 확인합니다. 프로젝트 페이지가 있다면 homepage URL을 추가합니다.
Install the ClawHub skill
ClawHub 스킬은 현재 게시 명령 형태와 필수 메타데이터를 문서화합니다.
openclaw skills install @openclaw/clawhub-publishPublish
clawhub publish전체 흐름은 ClawHub — 게시를 참조하세요.