메인 콘텐츠로 건너뛰기
Skills는 에이전트가 도구를 언제 어떻게 사용할지 가르칩니다. 각 스킬은 YAML frontmatter와 markdown 지침이 포함된 SKILL.md 파일을 담은 디렉터리입니다. OpenClaw는 정의된 우선순위에 따라 여러 루트에서 Skills를 로드합니다.

첫 스킬 만들기

1

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-world
2

Write SKILL.md

디렉터리 안에 SKILL.md를 만듭니다. frontmatter는 메타데이터를 정의하고, 본문은 에이전트 지침을 제공합니다.
---
name: hello-world
description: A simple skill that prints a greeting.
---

# Hello World

When the user asks for a greeting, use the `exec` tool to run:

```bash
echo "Hello from your custom skill!"

이름 지정 규칙:
- `name`에는 소문자, 숫자, 하이픈을 사용합니다.
- 디렉터리 이름과 frontmatter `name`을 일치시킵니다.
- `description`은 에이전트와 slash command 검색에 표시됩니다. 한 줄로 유지하고 160자 미만으로 작성합니다.

</Step>

<Step title="Verify the skill loaded">
```bash
openclaw skills list
OpenClaw는 기본적으로 Skills 루트 아래의 SKILL.md 파일을 감시합니다. 감시자가 비활성화되어 있거나 기존 세션을 계속 사용 중이라면, 에이전트가 새로 고친 목록을 받도록 새 세션을 시작합니다.
# From chat — archive current session and start fresh
/new

# Or restart the gateway
openclaw gateway restart
3

Test it

스킬을 트리거할 메시지를 보냅니다.
openclaw agent --message "give me a greeting"
또는 채팅을 열고 에이전트에게 직접 요청합니다. 이름으로 명시적으로 호출하려면 /skill hello-world를 사용합니다.

SKILL.md 참조

필수 필드

필드설명
name소문자, 숫자, 하이픈을 사용하는 고유한 슬러그
description에이전트와 검색 출력에 표시되는 한 줄 설명

선택적 frontmatter 키

필드기본값설명
user-invocabletrue스킬을 사용자 slash command로 노출합니다
disable-model-invocationfalse에이전트의 시스템 프롬프트에서 스킬을 제외합니다(/skill로는 계속 실행됨)
command-dispatchtool로 설정하면 모델을 우회해 slash command를 도구로 직접 라우팅합니다
command-toolcommand-dispatch: tool이 설정되었을 때 호출할 도구 이름
command-arg-moderaw도구 디스패치에서 원시 args 문자열을 도구로 전달합니다
homepagemacOS Skills UI에서 “Website”로 표시되는 URL
게이팅 필드(requires.bins, requires.env 등)는 Skills — 게이팅을 참조하세요.

{baseDir} 사용하기

스킬 본문에서 {baseDir}을 사용하면 경로를 하드코딩하지 않고 스킬 디렉터리 안의 파일을 참조할 수 있습니다.
Run the helper script at `{baseDir}/scripts/run.sh`.

조건부 활성화 추가하기

종속성을 사용할 수 있을 때만 로드되도록 스킬을 게이트합니다.
---
name: gemini-search
description: Search using Gemini CLI.
metadata: { "openclaw": { "requires": { "bins": ["gemini"] }, "primaryEnv": "GEMINI_API_KEY" } }
---
설명
requires.bins모든 바이너리가 PATH에 있어야 합니다
requires.anyBins하나 이상의 바이너리가 PATH에 있어야 합니다
requires.env각 환경 변수가 프로세스 또는 구성에 있어야 합니다
requires.configopenclaw.json 경로가 truthy여야 합니다
os플랫폼 필터: ["darwin"], ["linux"], ["win32"]
always모든 게이트를 건너뛰고 항상 스킬을 포함하려면 true로 설정합니다
전체 참조: Skills — 게이팅.
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 skill
openclaw skills workshop propose-create \
  --name "hello-world" \
  --description "A simple skill that prints a greeting." \
  --proposal ./PROPOSAL.md

# Propose an update to an existing skill
openclaw 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에 게시하기

1

Ensure your SKILL.md is complete

name, description, 그리고 모든 metadata.openclaw 게이팅 필드가 설정되어 있는지 확인합니다. 프로젝트 페이지가 있다면 homepage URL을 추가합니다.
2

Install the ClawHub skill

ClawHub 스킬은 현재 게시 명령 형태와 필수 메타데이터를 문서화합니다.
openclaw skills install @openclaw/clawhub-publish
3

Publish

clawhub publish
전체 흐름은 ClawHub — 게시를 참조하세요.

모범 사례

  • 간결하게 작성하세요 — 모델에 AI가 되는 방법이 아니라 무엇을 해야 하는지 지시합니다.
  • 안전을 우선하세요 — 스킬이 exec를 사용한다면 프롬프트가 신뢰할 수 없는 입력에서 임의 명령 주입을 허용하지 않도록 하세요.
  • 로컬에서 테스트하세요 — 공유하기 전에 openclaw agent --message "..."를 사용하세요.
  • ClawHub를 사용하세요 — 처음부터 만들기 전에 clawhub.ai에서 커뮤니티 Skills를 찾아보세요.

관련 항목

Skills reference

로드 순서, 게이팅, 허용 목록, SKILL.md 형식입니다.

Skill Workshop

에이전트가 초안 작성한 Skills를 위한 제안 대기열입니다.

Skills config

전체 skills.* 구성 스키마입니다.

ClawHub

공개 레지스트리에서 Skills를 탐색하고 게시합니다.

Building plugins

Plugin은 문서화하는 도구와 함께 Skills를 제공할 수 있습니다.