Przejdź do głównej treści
Skills to pliki instrukcji w Markdownie, które uczą agenta, jak i kiedy używać narzędzi. Każdy skill znajduje się w katalogu zawierającym plik SKILL.md z frontmatter YAML i treścią w Markdownie. OpenClaw ładuje wbudowane Skills oraz wszelkie lokalne nadpisania, a następnie filtruje je podczas ładowania na podstawie środowiska, konfiguracji i obecności plików binarnych.

Creating skills

Zbuduj i przetestuj niestandardowy skill od podstaw.

Skill Workshop

Przeglądaj i zatwierdzaj propozycje Skills przygotowane przez agenta.

Skills config

Pełny schemat konfiguracji skills.* i listy dozwolonych dla agentów.

ClawHub

Przeglądaj i instaluj społecznościowe Skills.

Kolejność ładowania

OpenClaw ładuje z tych źródeł, najpierw z najwyższym priorytetem. Gdy ta sama nazwa skillu pojawia się w wielu miejscach, wygrywa źródło o najwyższym priorytecie.
PriorytetŹródłoŚcieżka
1 — najwyższySkills obszaru roboczego<workspace>/skills
2Skills agenta projektu<workspace>/.agents/skills
3Osobiste Skills agenta~/.agents/skills
4Zarządzane / lokalne Skills~/.openclaw/skills
5Wbudowane Skillsdostarczane z instalacją
6 — najniższyDodatkowe katalogiskills.load.extraDirs + Skills Plugin
Katalogi główne Skills obsługują układy grupowane. OpenClaw wykrywa skill za każdym razem, gdy SKILL.md pojawia się gdziekolwiek pod skonfigurowanym katalogiem głównym:
<workspace>/skills/research/SKILL.md          ✓ found as "research"
<workspace>/skills/personal/research/SKILL.md ✓ also found as "research"
Ścieżka folderu służy wyłącznie do organizacji. Nazwa skillu, polecenie z ukośnikiem i klucz listy dozwolonych pochodzą z pola frontmatter name (albo z nazwy katalogu, gdy brakuje name).
Natywny katalog Codex CLI $CODEX_HOME/skills nie jest katalogiem głównym Skills OpenClaw. Użyj openclaw migrate plan codex, aby zinwentaryzować te Skills, a następnie openclaw migrate codex, aby skopiować je do obszaru roboczego OpenClaw.

Skills per agent a współdzielone Skills

W konfiguracjach wieloagentowych każdy agent ma własny obszar roboczy. Użyj ścieżki odpowiadającej oczekiwanej widoczności:
ZakresŚcieżkaWidoczne dla
Per-agent<workspace>/skillsTylko ten agent
Agent projektu<workspace>/.agents/skillsTylko agent tego obszaru roboczego
Agent osobisty~/.agents/skillsWszyscy agenci na tej maszynie
Współdzielone zarządzane~/.openclaw/skillsWszyscy agenci na tej maszynie
Dodatkowe katalogiskills.load.extraDirsWszyscy agenci na tej maszynie

Listy dozwolonych agentów

Lokalizacja skillu (priorytet) i widoczność skillu (który agent może go używać) to osobne mechanizmy kontroli. Użyj list dozwolonych, aby ograniczyć, które Skills agent widzi, niezależnie od tego, skąd zostały załadowane.
{
  agents: {
    defaults: {
      skills: ["github", "weather"], // shared baseline
    },
    list: [
      { id: "writer" }, // inherits github, weather
      { id: "docs", skills: ["docs-search"] }, // replaces defaults entirely
      { id: "locked-down", skills: [] }, // no skills
    ],
  },
}
  • Pomiń agents.defaults.skills, aby domyślnie pozostawić wszystkie Skills bez ograniczeń.
  • Pomiń agents.list[].skills, aby dziedziczyć agents.defaults.skills.
  • Ustaw agents.list[].skills: [], aby nie udostępniać żadnych Skills temu agentowi.
  • Niepusta lista agents.list[].skills jest ostatecznym zestawem — nie łączy się z wartościami domyślnymi.
  • Efektywna lista dozwolonych obowiązuje przy budowaniu promptu, wykrywaniu poleceń z ukośnikiem, synchronizacji sandboxa i migawkach Skills.
  • To nie jest granica autoryzacji powłoki hosta. Jeśli ten sam agent może używać exec, ogranicz tę powłokę osobno za pomocą sandboxingu, izolacji użytkownika systemu operacyjnego, list zakazów/dozwoleń dla exec oraz poświadczeń per zasób.

Pluginy i Skills

Pluginy mogą dostarczać własne Skills, wskazując katalogi skills w openclaw.plugin.json (ścieżki względne względem katalogu głównego Plugin). Skills Plugin ładują się, gdy Plugin jest włączony — na przykład Plugin przeglądarki dostarcza skill browser-automation do wieloetapowego sterowania przeglądarką. Katalogi Skills Plugin są scalane na tym samym poziomie niskiego priorytetu co skills.load.extraDirs, więc wbudowany, zarządzany, agentowy albo roboczy skill o tej samej nazwie je nadpisuje. Bramkuj je przez metadata.openclaw.requires.config we wpisie konfiguracji Plugin. Zobacz Plugins i Tools, aby poznać pełny system Plugin.

Skill Workshop

Skill Workshop to kolejka propozycji między agentem a aktywnymi plikami Skills. Gdy agent zauważy pracę nadającą się do ponownego użycia, przygotowuje propozycję zamiast pisać bezpośrednio do SKILL.md. Przeglądasz i zatwierdzasz ją, zanim cokolwiek się zmieni.
openclaw skills workshop list
openclaw skills workshop inspect <proposal-id>
openclaw skills workshop apply <proposal-id>
Zobacz Skill Workshop, aby poznać pełny cykl życia, referencję CLI i konfigurację.

Instalowanie z ClawHub

ClawHub to publiczny rejestr Skills. Używaj poleceń openclaw skills do instalowania i aktualizowania albo CLI clawhub do publikowania i synchronizacji.
AkcjaPolecenie
Zainstaluj skill w obszarze roboczymopenclaw skills install @owner/<slug>
Zainstaluj z repozytorium Gitopenclaw skills install git:owner/repo@ref
Zainstaluj lokalny katalog skilluopenclaw skills install ./path/to/skill --as my-tool
Zainstaluj dla wszystkich lokalnych agentówopenclaw skills install @owner/<slug> --global
Zaktualizuj wszystkie Skills obszaru roboczegoopenclaw skills update --all
Zaktualizuj współdzielony zarządzany skillopenclaw skills update @owner/<slug> --global
Zaktualizuj wszystkie współdzielone zarządzane Skillsopenclaw skills update --all --global
Zweryfikuj kopertę zaufania skilluopenclaw skills verify @owner/<slug>
Wypisz wygenerowaną Skill Cardopenclaw skills verify @owner/<slug> --card
Publikuj / synchronizuj przez ClawHub CLIclawhub sync --all
openclaw skills install domyślnie instaluje w katalogu skills/ aktywnego obszaru roboczego. Dodaj --global, aby zainstalować we współdzielonym katalogu ~/.openclaw/skills, widocznym dla wszystkich lokalnych agentów, chyba że listy dozwolonych agentów go zawężą.Instalacje Git i lokalne oczekują SKILL.md w katalogu głównym źródła. Slug pochodzi z frontmatter SKILL.md pola name, gdy jest poprawne, a następnie używa nazwy katalogu albo repozytorium jako wartości zapasowej. Użyj --as <slug>, aby nadpisać. openclaw skills update śledzi tylko instalacje ClawHub — zainstaluj ponownie źródła Git albo lokalne, aby je odświeżyć.
openclaw skills verify @owner/<slug> prosi ClawHub o kopertę zaufania clawhub.skill.verify.v1 dla skillu. Zainstalowane Skills ClawHub są weryfikowane względem wersji i rejestru zapisanych w .clawhub/origin.json. Same slugi pozostają akceptowane dla istniejących zainstalowanych albo jednoznacznych Skills, ale referencje z właścicielem unikają niejednoznaczności wydawcy.Strony Skills w ClawHub pokazują najnowszy stan skanowania bezpieczeństwa przed instalacją, ze stronami szczegółów dla VirusTotal, ClawScan i analizy statycznej. Polecenie kończy się kodem niezerowym, gdy ClawHub oznaczy weryfikację jako nieudaną. Wydawcy obsługują fałszywe alarmy przez dashboard ClawHub albo clawhub skill rescan @owner/<slug>.
Klienci Gateway, którzy potrzebują dostarczania poza ClawHub, mogą przygotować archiwum zip ze skillem za pomocą skills.upload.begin, skills.upload.chunk i skills.upload.commit, a następnie zainstalować je przez skills.install({ source: "upload", ... }). Ta ścieżka jest domyślnie wyłączona i wymaga skills.install.allowUploadedArchives: true w openclaw.json. Zwykłe instalacje ClawHub nigdy nie potrzebują tego ustawienia.

Bezpieczeństwo

Traktuj Skills stron trzecich jako niezaufany kod. Przeczytaj je przed włączeniem. Preferuj uruchomienia w sandboxie dla niezaufanych danych wejściowych i ryzykownych narzędzi. Zobacz Sandboxing, aby poznać mechanizmy kontroli po stronie agenta.
Wykrywanie Skills obszaru roboczego, agenta projektu i dodatkowych katalogów akceptuje tylko katalogi główne Skills, których rozwiązany realpath pozostaje wewnątrz skonfigurowanego katalogu głównego, chyba że skills.load.allowSymlinkTargets jawnie ufa katalogowi docelowemu. Skill Workshop zapisuje przez te zaufane cele tylko wtedy, gdy włączono skills.workshop.allowSymlinkTargetWrites. Zarządzane ~/.openclaw/skills i osobiste ~/.agents/skills mogą zawierać dowiązane symbolicznie foldery Skills, ale każdy realpath SKILL.md nadal musi pozostawać wewnątrz rozwiązanego katalogu skillu.
Skonfiguruj security.installPolicy, aby uruchamiać zaufane lokalne polecenie polityki, zanim instalacje Skills będą kontynuowane. Polityka otrzymuje metadane i przygotowaną ścieżkę źródłową, dotyczy ścieżek ClawHub, przesłanych, Git, lokalnych, aktualizacji i instalatora zależności, a w razie braku możliwości zwrócenia prawidłowej decyzji kończy się odmową.
skills.entries.*.env i skills.entries.*.apiKey wstrzykują sekrety do procesu hosta tylko na czas tej tury agenta — nie do sandboxa. Nie umieszczaj sekretów w promptach ani logach.
Szerszy model zagrożeń i listy kontrolne bezpieczeństwa znajdziesz w Security.

Format SKILL.md

Każdy skill wymaga co najmniej name i description we frontmatter:
---
name: image-lab
description: Generate or edit images via a provider-backed image workflow
---

When the user asks to generate an image, use the `image_generate` tool...
OpenClaw stosuje specyfikację AgentSkills. Parser frontmatter obsługuje tylko klucze jednowierszowemetadata musi być jednowierszowym obiektem JSON. Użyj {baseDir} w treści, aby odwołać się do ścieżki folderu skillu.

Opcjonalne klucze frontmatter

homepage
string
URL pokazywany jako “Website” w interfejsie macOS Skills. Obsługiwane także przez metadata.openclaw.homepage.
user-invocable
boolean
domyślnie:"true"
Gdy true, skill jest udostępniany jako wywoływane przez użytkownika polecenie z ukośnikiem.
disable-model-invocation
boolean
domyślnie:"false"
Gdy true, OpenClaw nie umieszcza instrukcji skillu w normalnym prompcie agenta. Skill nadal jest dostępny jako polecenie z ukośnikiem, gdy user-invocable również ma wartość true.
command-dispatch
"tool"
Gdy ustawione na tool, polecenie z ukośnikiem omija model i jest kierowane bezpośrednio do zarejestrowanego narzędzia.
command-tool
string
Nazwa narzędzia do wywołania, gdy ustawiono command-dispatch: tool.
command-arg-mode
"raw"
domyślnie:"raw"
Przy wysyłaniu narzędzia przekazuje surowy ciąg argumentów do narzędzia bez parsowania w rdzeniu. Narzędzie otrzymuje { command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" }.

Bramkowanie

OpenClaw filtruje umiejętności podczas ładowania przy użyciu metadata.openclaw (jednowierszowy JSON we frontmatter). Umiejętność bez bloku metadata.openclaw jest zawsze kwalifikowana, chyba że została jawnie wyłączona.
---
name: image-lab
description: Generate or edit images via a provider-backed image workflow
metadata:
  {
    "openclaw":
      {
        "requires": { "bins": ["uv"], "env": ["GEMINI_API_KEY"], "config": ["browser.enabled"] },
        "primaryEnv": "GEMINI_API_KEY",
      },
  }
---
always
boolean
Gdy true, zawsze dołączaj umiejętność i pomijaj wszystkie pozostałe bramki.
emoji
string
Opcjonalne emoji wyświetlane w interfejsie macOS Skills.
homepage
string
Opcjonalny URL wyświetlany jako „Witryna” w interfejsie macOS Skills.
os
"darwin" | "linux" | "win32"
Filtr platformy. Gdy jest ustawiony, umiejętność kwalifikuje się tylko na wymienionych systemach operacyjnych.
requires.bins
string[]
Każdy plik binarny musi istnieć w PATH.
requires.anyBins
string[]
Co najmniej jeden plik binarny musi istnieć w PATH.
requires.env
string[]
Każda zmienna env musi istnieć w procesie albo być dostarczona przez konfigurację.
requires.config
string[]
Każda ścieżka openclaw.json musi mieć wartość prawdziwą.
primaryEnv
string
Nazwa zmiennej env powiązana z skills.entries.<name>.apiKey.
install
object[]
Opcjonalne specyfikacje instalatora używane przez interfejs macOS Skills (brew / node / go / uv / download).
Starsze bloki metadata.clawdbot są nadal akceptowane, gdy metadata.openclaw nie istnieje, więc starsze zainstalowane umiejętności zachowują swoje bramki zależności i wskazówki instalatora. Nowe umiejętności powinny używać metadata.openclaw.

Specyfikacje instalatora

Specyfikacje instalatora mówią interfejsowi macOS Skills, jak zainstalować zależność:
---
name: gemini
description: Use Gemini CLI for coding assistance and Google search lookups.
metadata:
  {
    "openclaw":
      {
        "emoji": "♊️",
        "requires": { "bins": ["gemini"] },
        "install":
          [
            {
              "id": "brew",
              "kind": "brew",
              "formula": "gemini-cli",
              "bins": ["gemini"],
              "label": "Install Gemini CLI (brew)",
            },
          ],
      },
  }
---
  • Gdy podano wiele instalatorów, gateway wybiera jedną preferowaną opcję (brew, gdy jest dostępny, w przeciwnym razie node).
  • Jeśli wszystkie instalatory to download, OpenClaw wyświetla każdy wpis, aby można było zobaczyć wszystkie dostępne artefakty.
  • Specyfikacje mogą zawierać os: ["darwin"|"linux"|"win32"], aby filtrować według platformy.
  • Instalacje Node respektują skills.install.nodeManager w openclaw.json (domyślnie: npm; opcje: npm / pnpm / yarn / bun). Dotyczy to tylko instalacji umiejętności; środowisko uruchomieniowe Gateway powinno nadal być Node.
  • Preferencje instalatora Gateway: Homebrew → uv → skonfigurowany menedżer node → go → download.
  • Homebrew: OpenClaw nie instaluje automatycznie Homebrew ani nie tłumaczy formuł brew na polecenia pakietów systemowych. W kontenerach Linux bez brew instalatory wyłącznie brew są ukryte; użyj niestandardowego obrazu albo zainstaluj zależność ręcznie.
  • Go: OpenClaw wymaga Go 1.21 lub nowszego do automatycznych instalacji umiejętności i zachowuje istniejące ustawienia GOBIN, GOPATH oraz GOTOOLCHAIN. Jeśli skonfigurowany toolchain nie może spełnić wymaganej przez moduł wersji Go, onboarding grupuje umiejętność z ręcznymi wymaganiami wstępnymi Go po próbie instalacji. Jeśli brakuje go, a Homebrew jest dostępny, OpenClaw najpierw instaluje Go przez Homebrew i ustawia GOBIN na bin z Homebrew. W systemie Linux OpenClaw może zamiast tego użyć apt-get jako root albo przez bezhasłowe sudo, gdy odświeżony kandydat golang-go spełnia minimalną wersję.
  • Download: url (wymagane), archive (tar.gz | tar.bz2 | zip), extract (domyślnie: auto po wykryciu archiwum), stripComponents, targetDir (domyślnie: ~/.openclaw/tools/<skillKey>).
requires.bins jest sprawdzane na hoście podczas ładowania umiejętności. Jeśli agent działa w sandboxie, plik binarny musi też istnieć wewnątrz kontenera. Zainstaluj go przez agents.defaults.sandbox.docker.setupCommand albo niestandardowy obraz. setupCommand uruchamia się raz po utworzeniu kontenera i wymaga wyjścia do sieci, zapisywalnego głównego systemu plików oraz użytkownika root w sandboxie.

Nadpisania konfiguracji

Włączaj, wyłączaj i konfiguruj dołączone lub zarządzane umiejętności pod skills.entries w ~/.openclaw/openclaw.json:
{
  skills: {
    entries: {
      "image-lab": {
        enabled: true,
        apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" },
        env: { GEMINI_API_KEY: "GEMINI_KEY_HERE" },
        config: {
          endpoint: "https://example.invalid",
          model: "nano-pro",
        },
      },
      peekaboo: { enabled: true },
      sag: { enabled: false },
    },
  },
}
enabled
boolean
false wyłącza umiejętność nawet wtedy, gdy jest dołączona lub zainstalowana. Dołączona umiejętność coding-agent jest opcjonalna — ustaw skills.entries.coding-agent.enabled: true i upewnij się, że claude, codex, opencode lub inny obsługiwany CLI jest zainstalowany i uwierzytelniony.
apiKey
string | { source, provider, id }
Wygodne pole dla umiejętności deklarujących metadata.openclaw.primaryEnv. Obsługuje zwykły ciąg tekstowy albo obiekt SecretRef.
env
Record<string, string>
Zmienne środowiskowe wstrzykiwane dla uruchomienia agenta. Wstrzykiwane tylko wtedy, gdy zmienna nie jest już ustawiona w procesie.
config
object
Opcjonalny zestaw niestandardowych pól konfiguracji dla danej umiejętności.
allowBundled
string[]
Opcjonalna lista dozwolonych wyłącznie dla dołączonych umiejętności. Gdy jest ustawiona, kwalifikują się tylko dołączone umiejętności z listy. Umiejętności zarządzane i z przestrzeni roboczej pozostają bez zmian.
Klucze konfiguracji domyślnie odpowiadają nazwie umiejętności. Jeśli umiejętność definiuje metadata.openclaw.skillKey, użyj tego klucza pod skills.entries. Nazwy z łącznikiem ujmij w cudzysłów: JSON5 pozwala na klucze w cudzysłowie.

Wstrzykiwanie środowiska

Gdy rozpoczyna się uruchomienie agenta, OpenClaw:
1

Odczytuje metadane umiejętności

OpenClaw rozwiązuje efektywną listę umiejętności dla agenta, stosując reguły bramkowania, listy dozwolonych i nadpisania konfiguracji.
2

Wstrzykuje env i klucze API

skills.entries.<key>.env i skills.entries.<key>.apiKey są stosowane do process.env na czas trwania uruchomienia.
3

Buduje prompt systemowy

Kwalifikujące się umiejętności są kompilowane do zwartego bloku XML i wstrzykiwane do promptu systemowego.
4

Przywraca środowisko

Po zakończeniu uruchomienia przywracane jest pierwotne środowisko.
Wstrzykiwanie env jest ograniczone do uruchomienia agenta na hoście, a nie do sandboxa. Wewnątrz sandboxa env i apiKey nie mają efektu. Zobacz Konfiguracja Skills, aby dowiedzieć się, jak przekazywać sekrety do uruchomień w sandboxie.
Dla dołączonego backendu claude-cli OpenClaw materializuje również tę samą kwalifikującą się migawkę umiejętności jako tymczasowy plugin Claude Code i przekazuje ją przez --plugin-dir. Inne backendy CLI używają tylko katalogu promptów.

Migawki i odświeżanie

OpenClaw tworzy migawkę kwalifikujących się umiejętności gdy sesja się zaczyna i ponownie używa tej listy we wszystkich kolejnych turach w sesji. Zmiany w umiejętnościach lub konfiguracji zaczynają działać przy następnej nowej sesji. Umiejętności odświeżają się w trakcie sesji w dwóch przypadkach:
  • Obserwator umiejętności wykryje zmianę SKILL.md.
  • Połączy się nowy kwalifikujący się zdalny węzeł.
Odświeżona lista zostanie użyta w następnej turze agenta. Jeśli efektywna lista dozwolonych agenta się zmieni, OpenClaw odświeża migawkę, aby utrzymać widoczne umiejętności w zgodności.
Domyślnie OpenClaw obserwuje foldery umiejętności i podbija migawkę, gdy zmieniają się pliki SKILL.md. Skonfiguruj pod skills.load:
{
  skills: {
    load: {
      extraDirs: ["~/Projects/agent-scripts/skills"],
      allowSymlinkTargets: ["~/Projects/manager/skills"],
      watch: true,
      watchDebounceMs: 250,
    },
  },
}
Użyj allowSymlinkTargets dla celowo dowiązanych układów, w których dowiązanie symboliczne katalogu głównego umiejętności wskazuje poza skonfigurowany katalog główny, na przykład <workspace>/skills/manager -> ~/Projects/manager/skills. Włącz skills.workshop.allowSymlinkTargetWrites tylko wtedy, gdy Skill Workshop powinien też stosować propozycje przez te zaufane dowiązane ścieżki.
Jeśli Gateway działa na Linuksie, ale połączony jest węzeł macOS z dozwolonym system.run, OpenClaw może traktować umiejętności dostępne tylko na macOS jako kwalifikujące się, gdy wymagane pliki binarne są obecne na tym węźle. Agent powinien uruchamiać te umiejętności przez narzędzie exec z host=node.Węzły offline nie sprawiają, że zdalne umiejętności stają się widoczne. Jeśli węzeł przestanie odpowiadać na sondy bin, OpenClaw czyści jego buforowane dopasowania bin.

Wpływ na tokeny

Gdy umiejętności się kwalifikują, OpenClaw wstrzykuje zwarty blok XML do promptu systemowego. Koszt jest deterministyczny:
total = 195 + Σ (97 + len(name) + len(description) + len(filepath))
  • Narzut bazowy (tylko gdy ≥ 1 umiejętność): ~195 znaków
  • Na umiejętność: ~97 znaków + długości pól name, description i location
  • Escapowanie XML rozszerza & < > " ' do encji, dodając kilka znaków na każde wystąpienie
  • Przy ~4 znakach/token, 97 znaków ≈ 24 tokeny na umiejętność przed długościami pól
Utrzymuj opisy krótkie i opisowe, aby zminimalizować narzut promptu.

Powiązane

Tworzenie umiejętności

Przewodnik krok po kroku po tworzeniu niestandardowej umiejętności.

Skill Workshop

Kolejka propozycji dla umiejętności szkicowanych przez agenta.

Konfiguracja Skills

Pełny schemat konfiguracji skills.* i listy dozwolonych agentów.

Polecenia ukośnikowe

Jak polecenia ukośnikowe umiejętności są rejestrowane i routowane.

ClawHub

Przeglądaj i publikuj umiejętności w publicznym rejestrze.

Pluginy

Pluginy mogą dostarczać umiejętności razem z narzędziami, które dokumentują.