Skills

Skills 만들기

Skills는 에이전트에게 도구를 사용하는 방법과 시점을 알려 줍니다. 각 스킬은 YAML 프런트매터와 마크다운 지침이 포함된 SKILL.md 파일을 담은 디렉터리입니다. OpenClaw는 정의된 우선순위에 따라 여러 루트에서 스킬을 불러옵니다.

첫 번째 스킬 만들기

  • Create the skill directory

    Skills는 워크스페이스의 skills/ 폴더에 위치합니다.

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

    정리를 위해 스킬을 하위 폴더로 그룹화할 수 있습니다. 스킬 이름은 폴더 경로가 아니라 SKILL.md 프런트매터로 계속 지정됩니다.

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

    프런트매터는 메타데이터를 정의하고, 본문은 에이전트에게 지침을 제공합니다.

    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`에는 소문자, 숫자, 하이픈을 사용합니다.- 디렉터리 이름과 프런트매터의 `name`을 일치시킵니다.- `description`은 에이전트와 슬래시 명령 검색에 표시됩니다. 한 줄로 작성하고 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 에이전트와 검색 출력에 표시되는 한 줄 설명

    선택적 프런트매터 키

    필드 기본값 설명
    user-invocable true 스킬을 사용자 슬래시 명령으로 노출합니다
    disable-model-invocation false 에이전트의 시스템 프롬프트에서 스킬을 제외합니다(/skill을 통해서는 계속 실행됨)
    command-dispatch 모델을 우회하여 슬래시 명령을 도구로 직접 라우팅하려면 tool로 설정합니다
    command-tool command-dispatch: tool이 설정된 경우 호출할 도구 이름
    command-arg-mode raw 도구 디스패치 시 원시 인수 문자열을 도구에 전달합니다
    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 경로가 참으로 평가되어야 합니다
    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" },      },    },  },}

    키는 해당 에이전트 턴에 한해서만 호스트 프로세스에 주입됩니다. 샌드박스에는 전달되지 않습니다. 자세한 내용은 샌드박스 환경 변수를 참조하세요.

    Skill Workshop을 통해 제안하기

    에이전트가 초안을 작성한 스킬이거나 스킬을 실제로 활성화하기 전에 운영자 검토를 받으려면, 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 standalone ClawHub CLI and log in

    bash
    npm i -g clawhubclawhub login
  • Publish

    bash
    clawhub skill publish ./path/to/hello-world

    추론된 버전을 재정의하거나 특정 소유자 이름으로 게시하려면 --version <version> 또는 --owner <owner>를 추가합니다. 전체 절차, 소유자 범위 및 기타 유지관리 명령(clawhub sync, clawhub skill rename, ...)은 ClawHub — 게시ClawHub CLI를 참조하세요.

  • 모범 사례

    관련 항목

    Was this useful?
    On this page

    On this page