Skills

Skills 만들기

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

첫 스킬 만들기

  • Create the skill directory

    Skills는 워크스페이스의 skills/ 폴더에 있습니다. 새 스킬용 디렉터리를 만듭니다.

    bash
    mkdir -p ~/.openclaw/workspace/skills/hello-world

    정리를 위해 하위 폴더로 Skills를 그룹화할 수 있습니다. 그래도 스킬 이름은 폴더 경로가 아니라 SKILL.md frontmatter로 지정됩니다.

    bash
    mkdir -p ~/.openclaw/workspace/skills/personal/hello-world# skill name is still "hello-world", invoked as /hello-world
  • Write SKILL.md

    디렉터리 안에 SKILL.md를 만듭니다. frontmatter는 메타데이터를 정의하고, 본문은 에이전트 지침을 제공합니다.

    markdown
    ---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!"
    Code
     이름 지정 규칙:- `name`에는 소문자, 숫자, 하이픈을 사용합니다.- 디렉터리 이름과 frontmatter `name`을 일치시킵니다.- `description`은 에이전트와 slash command 검색에 표시됩니다. 한 줄로 유지하고 160자 미만으로 작성합니다.  OPENCLAW_DOCS_MARKER:stepClose:   OPENCLAW_DOCS_MARKER:stepOpen:IHRpdGxlPSJWZXJpZnkgdGhlIHNraWxsIGxvYWRlZCI ```bashopenclaw skills list

    OpenClaw는 기본적으로 Skills 루트 아래의 SKILL.md 파일을 감시합니다. 감시자가 비활성화되어 있거나 기존 세션을 계속 사용 중이라면, 에이전트가 새로 고친 목록을 받도록 새 세션을 시작합니다.

    bash
    # From chat — archive current session and start fresh/new # Or restart the gatewayopenclaw gateway restart
  • Test it

    스킬을 트리거할 메시지를 보냅니다.

    bash
    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}을 사용하면 경로를 하드코딩하지 않고 스킬 디렉터리 안의 파일을 참조할 수 있습니다.

    markdown
    Run the helper script at `{baseDir}/scripts/run.sh`.

    조건부 활성화 추가하기

    종속성을 사용할 수 있을 때만 로드되도록 스킬을 게이트합니다.

    markdown
    ---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 키를 연결합니다.

    json5
    {  skills: {    entries: {      "gemini-search": {        enabled: true,        apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" },      },    },  },}

    키는 해당 에이전트 턴 동안에만 호스트 프로세스에 주입됩니다. sandbox에는 전달되지 않습니다. sandbox 처리된 환경 변수를 참조하세요.

    Skill Workshop을 통해 제안하기

    에이전트가 초안 작성한 Skills이거나 스킬을 라이브로 적용하기 전에 운영자 검토를 원한다면, SKILL.md를 직접 작성하는 대신 Skill Workshop 제안을 사용합니다.

    bash
    # 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을 사용합니다.

    bash
    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/에 넣을 수 있습니다.

    검토 후:

    bash
    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 스킬은 현재 게시 명령 형태와 필수 메타데이터를 문서화합니다.

    bash
    openclaw skills install @openclaw/clawhub-publish
  • Publish

    bash
    clawhub publish

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

  • 모범 사례

    관련 항목

    Was this useful?
    On this page

    On this page