SKILL.md z metadanymi
YAML frontmatter oraz treścią w formacie Markdown. OpenClaw ładuje wbudowane umiejętności wraz ze wszystkimi lokalnymi
nadpisaniami i filtruje je podczas ładowania na podstawie środowiska, konfiguracji oraz
dostępności plików binarnych.
Tworzenie umiejętności
Utwórz i przetestuj niestandardową umiejętność od podstaw.
Warsztat umiejętności
Przeglądaj i zatwierdzaj propozycje umiejętności przygotowane przez agenta.
Konfiguracja umiejętności
Pełny schemat konfiguracji
skills.* oraz listy dozwolonych umiejętności agentów.ClawHub
Przeglądaj i instaluj umiejętności społeczności.
Kolejność ładowania
OpenClaw ładuje umiejętności z poniższych źródeł, zaczynając od źródła o najwyższym priorytecie. Gdy ta sama nazwa umiejętności występuje w wielu miejscach, wygrywa źródło o najwyższym priorytecie.
Katalogi główne umiejętności obsługują układy grupowane. OpenClaw wykrywa umiejętność, gdy
plik
SKILL.md występuje w dowolnym miejscu pod skonfigurowanym katalogiem głównym (do 6 poziomów głębokości):
name w metadanych frontmatter (lub z nazwy katalogu, gdy brakuje pola name).
Listy dozwolonych umiejętności agentów (poniżej) również dopasowują tę wartość name.
Natywny katalog
$CODEX_HOME/skills narzędzia Codex CLI nie jest katalogiem głównym
umiejętności OpenClaw. Użyj openclaw migrate plan codex, aby zinwentaryzować te umiejętności, a następnie
openclaw migrate codex, aby skopiować je do obszaru roboczego OpenClaw.Umiejętności hostowane przez Node
Połączony bezobsługowy Node może publikować umiejętności zainstalowane w swoim aktywnym katalogu umiejętności OpenClaw (domyślnie~/.openclaw/skills; obowiązują nadpisania środowiskowe
profilu). Pojawiają się one na standardowej liście umiejętności agenta, gdy Node jest połączony,
i znikają po jego rozłączeniu. W przypadku kolizji lokalna umiejętność lub umiejętność Gateway zachowuje swoją nazwę;
umiejętność Node otrzymuje deterministyczną nazwę z prefiksem Node.
W wersji 1 umiejętności hostowanych przez Node nazwa katalogu musi odpowiadać polu name
w metadanych frontmatter umiejętności.
Wpis umiejętności zawiera lokalizator Node. Jego pliki, odwołania względne oraz
pliki binarne znajdują się na Node, dlatego ładuj i wykonuj go za pomocą
exec host=node node=<node-id>. Po zmianie plików umiejętności uruchom ponownie hosta Node.
Informacje o parowaniu i wyłącznikach znajdziesz w sekcji Węzły.
Umiejętności poszczególnych agentów a umiejętności współdzielone
W konfiguracjach wieloagentowych każdy agent ma własny obszar roboczy. Użyj ścieżki odpowiadającej wymaganej widoczności:Listy dozwolonych umiejętności agentów
Lokalizacja umiejętności (priorytet) oraz jej widoczność (który agent może jej używać) są oddzielnymi mechanizmami kontroli. Użyj list dozwolonych, aby ograniczyć umiejętności widoczne dla agenta, niezależnie od źródła, z którego są ładowane.Reguły list dozwolonych
Reguły list dozwolonych
- Pomiń
agents.defaults.skills, aby domyślnie nie ograniczać żadnych umiejętności. - Pomiń
agents.list[].skills, aby odziedziczyćagents.defaults.skills. - Ustaw
agents.list[].skills: [], aby nie udostępniać temu agentowi żadnych umiejętności. - Niepusta lista
agents.list[].skillsjest zbiorem ostatecznym — nie jest łączona z wartościami domyślnymi. - Wynikowa lista dozwolonych obowiązuje podczas budowania promptów, wykrywania poleceń z ukośnikiem, synchronizacji piaskownicy oraz tworzenia migawek umiejętności.
- Nie jest to granica autoryzacji powłoki hosta. Jeśli ten sam agent może
używać
exec, ogranicz tę powłokę osobno za pomocą piaskownicy, izolacji użytkownika systemu operacyjnego, list zabronionych/dozwolonych poleceńexecoraz poświadczeń przypisanych do zasobów.
Pluginy i umiejętności
Pluginy mogą dostarczać własne umiejętności przez wskazanie katalogówskills w pliku
openclaw.plugin.json (ścieżki względem katalogu głównego Pluginu). Umiejętności Pluginu są ładowane,
gdy Plugin jest włączony — na przykład Plugin przeglądarki dostarcza umiejętność
browser-automation do wieloetapowego sterowania przeglądarką.
Katalogi umiejętności Pluginów są łączone na tym samym niskim poziomie priorytetu co
skills.load.extraDirs, dlatego umiejętność o tej samej nazwie pochodząca ze źródła wbudowanego, zarządzanego, agenta lub obszaru roboczego
ma nad nimi pierwszeństwo. Dostępność samej umiejętności Pluginu kontroluj za pomocą
metadata.openclaw.requires w jej metadanych frontmatter, tak jak w przypadku każdej innej umiejętności.
Pełny opis systemu Pluginów znajdziesz w sekcjach Pluginy i Narzędzia.
Warsztat umiejętności
Warsztat umiejętności to kolejka propozycji między agentem a aktywnymi plikami umiejętności. Gdy agent wykryje pracę nadającą się do ponownego wykorzystania, przygotowuje propozycję zamiast zapisywać ją bezpośrednio w plikuSKILL.md. Zanim cokolwiek się zmieni,
musisz ją przejrzeć i zatwierdzić.
Instalowanie z ClawHub
ClawHub to publiczny rejestr umiejętności. Do instalowania i aktualizowania używaj poleceńopenclaw skills, a do publikowania i synchronizacji — CLI clawhub.
Szczegóły instalacji
Szczegóły instalacji
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 ograniczają go
listy dozwolonych umiejętności agentów.Instalacje z Git i źródeł lokalnych oczekują pliku SKILL.md w katalogu głównym źródła. Identyfikator pochodzi
z pola name w metadanych frontmatter pliku SKILL.md, jeśli jest prawidłowe, a w przeciwnym razie z
nazwy katalogu lub repozytorium. Użyj --as <slug>, aby go zastąpić.
openclaw skills update śledzi wyłącznie instalacje z ClawHub — aby
odświeżyć źródła Git lub lokalne, zainstaluj je ponownie.Weryfikacja i skanowanie zabezpieczeń
Weryfikacja i skanowanie zabezpieczeń
openclaw skills verify @owner/<slug> wysyła do ClawHub żądanie zakresu zaufania
clawhub.skill.verify.v1 dla umiejętności. Zainstalowane umiejętności ClawHub są weryfikowane
względem wersji i rejestru zapisanych w pliku .clawhub/origin.json.
Same identyfikatory pozostają akceptowane w przypadku istniejących zainstalowanych lub jednoznacznych umiejętności, ale
odwołania zawierające właściciela pozwalają uniknąć niejednoznaczności wydawcy.Strony umiejętności w ClawHub przed instalacją pokazują stan najnowszego skanowania zabezpieczeń,
wraz ze stronami szczegółów dla VirusTotal, ClawScan oraz analizy statycznej. Polecenie
kończy się kodem różnym od zera, gdy ClawHub oznaczy weryfikację jako nieudaną. Wydawcy
mogą rozwiązywać problemy z fałszywymi alarmami za pomocą panelu ClawHub lub polecenia
clawhub skill rescan @owner/<slug>.Instalacje z prywatnych archiwów
Instalacje z prywatnych archiwów
Klienci Gateway wymagający dostarczania poza ClawHub mogą przygotować archiwum ZIP umiejętności
za pomocą
skills.upload.begin, skills.upload.chunk oraz skills.upload.commit,
a następnie zainstalować je za pomocą skills.install({ source: "upload", ... }). Ta ścieżka jest
domyślnie wyłączona i wymaga ustawienia skills.install.allowUploadedArchives: true w pliku
openclaw.json. Standardowe instalacje z ClawHub nigdy nie wymagają tego ustawienia.Bezpieczeństwo
Ograniczenie ścieżek
Ograniczenie ścieżek
Wykrywanie umiejętności w obszarze roboczym, dla agenta projektu oraz w dodatkowych katalogach akceptuje wyłącznie katalogi
główne umiejętności, których rozwiązana ścieżka rzeczywista pozostaje wewnątrz skonfigurowanego katalogu głównego, chyba że
skills.load.allowSymlinkTargets jawnie oznacza docelowy katalog główny jako zaufany.
Warsztat umiejętności zapisuje przez takie zaufane cele tylko wtedy, gdy włączono
skills.workshop.allowSymlinkTargetWrites.
Zarządzany katalog ~/.openclaw/skills oraz osobisty katalog ~/.agents/skills mogą zawierać
foldery umiejętności będące dowiązaniami symbolicznymi, ale rzeczywista ścieżka każdego pliku SKILL.md nadal musi pozostawać
wewnątrz rozwiązanego katalogu tej umiejętności.Zasady instalacji operatora
Zasady instalacji operatora
Skonfiguruj
security.installPolicy, aby przed kontynuowaniem instalacji umiejętności uruchamiać zaufane lokalne polecenie
zasad. Zasady otrzymują metadane oraz przygotowaną ścieżkę
źródłową, dotyczą ścieżek ClawHub, przesyłania, Git, lokalnych, aktualizacji oraz
instalatorów zależności i blokują operację, gdy polecenie nie może zwrócić
prawidłowej decyzji.Zakres wstrzykiwania sekretów
Zakres wstrzykiwania sekretów
skills.entries.*.env oraz skills.entries.*.apiKey wstrzykują sekrety do procesu
hosta wyłącznie na czas danej tury agenta — nie do piaskownicy. Nie umieszczaj
sekretów w promptach ani dziennikach.Format SKILL.md
Każda umiejętność wymaga co najmniej pólname oraz description w metadanych frontmatter:
OpenClaw jest zgodny ze specyfikacją AgentSkills. Frontmatter
jest najpierw analizowany jako YAML; jeśli to się nie powiedzie, używany jest
parser obsługujący wyłącznie pojedynczy wiersz. Zagnieżdżone bloki
metadata
(w tym wielowierszowe mapowania YAML) są spłaszczane do ciągu JSON i ponownie
analizowane jako JSON5, dlatego forma blokowa przedstawiona w sekcji
Bramkowanie działa. Użyj {baseDir} w treści, aby odwołać się do
ścieżki folderu Skills.Opcjonalne klucze frontmatter
string
Adres URL wyświetlany jako „Witryna” w interfejsie Skills systemu macOS. Obsługiwany
również przez
metadata.openclaw.homepage.boolean
domyślnie:"true"
Gdy ustawiono
true, Skills jest udostępniany jako polecenie z ukośnikiem
wywoływane przez użytkownika.boolean
domyślnie:"false"
Gdy ustawiono
true, OpenClaw nie umieszcza instrukcji Skills w standardowym
prompcie agenta. Skills pozostaje dostępny jako polecenie z ukośnikiem, jeśli
user-invocable również ma wartość true."tool"
Po ustawieniu na
tool polecenie z ukośnikiem pomija model i jest kierowane
bezpośrednio do zarejestrowanego narzędzia.string
Nazwa narzędzia wywoływanego po ustawieniu
command-dispatch: tool."raw"
domyślnie:"raw"
W przypadku kierowania do narzędzia przekazuje do niego nieprzetworzony ciąg
argumentów bez analizy po stronie rdzenia. Narzędzie otrzymuje
{ command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" }.Bramkowanie
OpenClaw filtruje Skills podczas ładowania za pomocąmetadata.openclaw (obiektu
JSON5 osadzonego we frontmatter; zobacz uwagę dotyczącą analizy powyżej). Skills
bez bloku metadata.openclaw jest zawsze dopuszczany, chyba że został jawnie
wyłączony.
boolean
Gdy ustawiono
true, zawsze uwzględnia Skills i pomija wszystkie pozostałe
bramki.string
Opcjonalny emoji wyświetlany w interfejsie Skills systemu macOS.
string
Opcjonalny adres URL wyświetlany jako „Witryna” w interfejsie Skills systemu macOS.
("darwin" | "linux" | "win32")[]
Filtr platformy. Po ustawieniu Skills jest dopuszczany tylko w wymienionych
systemach operacyjnych.
string[]
Każdy plik wykonywalny musi istnieć w
PATH.string[]
Co najmniej jeden plik wykonywalny musi istnieć w
PATH.string[]
Każda zmienna środowiskowa musi istnieć w procesie lub zostać dostarczona
przez konfigurację.
string[]
Każda ścieżka w
openclaw.json musi mieć wartość logicznie prawdziwą.string
Nazwa zmiennej środowiskowej powiązanej z
skills.entries.<name>.apiKey.object[]
Opcjonalne specyfikacje instalatora używane przez interfejs Skills systemu macOS
(brew / node / go / uv / download).
Starsze bloki
metadata.clawdbot są nadal akceptowane, gdy brakuje
metadata.openclaw, dzięki czemu starsze zainstalowane Skills zachowują
bramki zależności i wskazówki instalatora. Nowe Skills powinny używać
metadata.openclaw.Specyfikacje instalatora
Specyfikacje instalatora określają, jak interfejs Skills systemu macOS ma zainstalować zależność:Reguły wyboru instalatora
Reguły wyboru instalatora
- Gdy wymieniono wiele instalatorów, Gateway wybiera jedną preferowaną opcję (brew, jeśli jest dostępny, w przeciwnym razie node).
- Jeśli wszystkie instalatory mają typ
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 uwzględniają
skills.install.nodeManagerwopenclaw.json(domyślnie: npm; opcje: npm / pnpm / yarn / bun). Dotyczy to wyłącznie instalacji Skills; środowiskiem wykonawczym Gateway nadal powinien być Node. - Kolejność preferencji instalatora Gateway: Homebrew → uv → skonfigurowany menedżer node → go → download.
Szczegóły poszczególnych instalatorów
Szczegóły poszczególnych instalatorów
- Homebrew: OpenClaw nie instaluje automatycznie Homebrew ani nie
przekształca formuł brew w polecenia systemowego menedżera pakietów.
W kontenerach Linux bez
brewinstalatory korzystające wyłącznie z brew są ukryte; użyj niestandardowego obrazu lub zainstaluj zależność ręcznie. - Go: OpenClaw wymaga Go 1.21 lub nowszego do automatycznych instalacji
Skills. Jeśli brakuje
go, a Homebrew jest dostępny, OpenClaw najpierw instaluje Go za pomocą Homebrew; w systemie Linux bez Homebrew może zamiast tego użyćapt-getjako użytkownik root lub przez niewymagające hasłasudo, jeśli odświeżony kandydatgolang-gospełnia wymaganie minimalnej wersji. Właściwe poleceniego installdla zależności zawsze wskazuje dedykowany katalog plików wykonywalnych zarządzany przez OpenClaw (binHomebrew w przypadku nowej instalacji, w przeciwnym razie~/.local/bin), a nie skonfigurowanyGOBIN— własne zmienne środowiskoweGOBIN,GOPATHiGOTOOLCHAINsą odczytywane, ale nigdy nadpisywane. - Pobieranie:
url(wymagane),archive(tar.gz|tar.bz2|zip),extract(domyślnie: automatycznie po wykryciu archiwum),stripComponents,targetDir(domyślnie:~/.openclaw/tools/<skillKey>).
Uwagi dotyczące izolacji
Uwagi dotyczące izolacji
requires.bins jest sprawdzane na hoście podczas ładowania Skills. Jeśli
agent działa w piaskownicy, plik wykonywalny musi również istnieć wewnątrz
kontenera. Zainstaluj go za pomocą
agents.defaults.sandbox.docker.setupCommand lub niestandardowego obrazu.
setupCommand jest uruchamiane raz po utworzeniu kontenera i wymaga dostępu
wychodzącego do sieci, zapisywalnego głównego systemu plików oraz użytkownika
root w piaskownicy.Nadpisywanie konfiguracji
Włączaj i konfiguruj dołączone lub zarządzane Skills w sekcjiskills.entries
pliku ~/.openclaw/openclaw.json:
boolean
Wartość
false wyłącza Skills, nawet jeśli jest dołączony lub zainstalowany.
Dołączony Skills coding-agent wymaga jawnego włączenia — ustaw
skills.entries.coding-agent.enabled: true i upewnij się, że zainstalowano
i uwierzytelniono jeden z obsługiwanych interfejsów CLI: claude, codex,
opencode lub inny.string | { source, provider, id }
Pole pomocnicze dla Skills deklarujących
metadata.openclaw.primaryEnv.
Obsługuje zwykły ciąg tekstowy lub obiekt SecretRef.Record<string, string>
Zmienne środowiskowe wstrzykiwane na czas działania agenta. Są wstrzykiwane
tylko wtedy, gdy dana zmienna nie jest już ustawiona w procesie.
object
Opcjonalny zbiór niestandardowych pól konfiguracji poszczególnych Skills.
string[]
Opcjonalna lista dozwolonych wyłącznie dla dołączonych Skills. Po jej
ustawieniu dopuszczane są tylko dołączone Skills znajdujące się na liście.
Nie ma to wpływu na zarządzane Skills ani Skills z przestrzeni roboczej.
Klucze konfiguracji domyślnie odpowiadają nazwie Skills. Jeśli Skills
definiuje
metadata.openclaw.skillKey, użyj zamiast tego tego klucza w
skills.entries. Nazwy z łącznikami ujmuj w cudzysłowy: JSON5 zezwala na
klucze w cudzysłowach.Wstrzykiwanie środowiska
Po rozpoczęciu działania agenta OpenClaw:1
Odczytuje metadane Skills
OpenClaw ustala obowiązującą listę Skills dla agenta, stosując reguły
bramkowania, listy dozwolonych i nadpisania konfiguracji.
2
Wstrzykuje zmienne środowiskowe i klucze API
skills.entries.<key>.env oraz skills.entries.<key>.apiKey są stosowane
do process.env na czas działania.3
Tworzy prompt systemowy
Dopuszczone Skills są kompilowane do zwartego bloku XML i wstrzykiwane do
promptu systemowego.
4
Przywraca środowisko
Po zakończeniu działania pierwotne środowisko zostaje przywrócone.
claude-cli OpenClaw dodatkowo zapisuje ten
sam zrzut dopuszczonych Skills jako tymczasowy Plugin Claude Code i przekazuje
go przez --plugin-dir. Inne backendy CLI używają wyłącznie katalogu promptu.
Zrzuty i odświeżanie
OpenClaw tworzy zrzut dopuszczonych Skills w chwili rozpoczęcia sesji i ponownie wykorzystuje tę listę we wszystkich kolejnych turach sesji. Zmiany Skills lub konfiguracji zaczynają obowiązywać w następnej nowej sesji. Skills są odświeżane w trakcie sesji w dwóch przypadkach:- Mechanizm obserwujący Skills wykryje zmianę pliku
SKILL.md. - Połączy się nowy dopuszczony zdalny węzeł.
Mechanizm obserwujący Skills
Mechanizm obserwujący Skills
Domyślnie OpenClaw obserwuje foldery Skills i aktualizuje zrzut po zmianie
plików Użyj
SKILL.md. Skonfiguruj to w skills.load:allowSymlinkTargets w przypadku celowo utworzonych układów dowiązań
symbolicznych, w których dowiązanie katalogu głównego Skills 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 ma również stosować propozycje za pośrednictwem tych zaufanych
ścieżek z dowiązaniami symbolicznymi.Zdalne węzły macOS (Gateway w systemie Linux)
Zdalne węzły macOS (Gateway w systemie Linux)
Jeśli Gateway działa w systemie Linux, ale połączony jest węzeł macOS
z dozwolonym
system.run, OpenClaw może uznać Skills przeznaczone wyłącznie
dla macOS za dopuszczone, gdy wymagane pliki wykonywalne są dostępne w tym
węźle. Agent powinien uruchamiać te Skills za pomocą narzędzia exec z
ustawieniem host=node.Węzły offline nie powodują wyświetlania Skills dostępnych wyłącznie
zdalnie. Jeśli węzeł przestanie odpowiadać na sondy plików wykonywalnych,
OpenClaw usuwa z pamięci podręcznej dopasowania tych plików.Wpływ na liczbę tokenów
Gdy Skills są dopuszczone, OpenClaw wstrzykuje zwarty blok XML do promptu systemowego. Koszt jest deterministyczny i rośnie liniowo dla każdego Skills:- Narzut bazowy (tylko gdy dopuszczony jest co najmniej 1 Skills): stały blok
tekstu wprowadzającego oraz otoczka
<available_skills>. - Na Skills: około 97 znaków + długości pól
name,descriptionilocation. - Ucieczka znaków XML rozwija
& < > " 'do encji, dodając po kilka znaków na każde wystąpienie. - Przy około 4 znakach na token 97 znaków ≈ 24 tokeny na Skills przed uwzględnieniem długości pól.
skills.limits.maxSkillsPromptChars), OpenClaw najpierw zachowuje tyle
tożsamości Skills (nazwę, lokalizację i wersję), ile może zmieścić kompaktowy
format bez opisów. Następnie wykorzystuje pozostały budżet na skrócone opisy.
Jeśli nie pozostał budżet na opisy, są one pomijane. Prompt zawiera uwagę
wskazującą na openclaw skills check, gdy wymagane jest kompaktowe formatowanie
lub skrócenie listy.
Opisy powinny być krótkie i treściwe, aby zminimalizować narzut promptu.
Powiązane materiały
Tworzenie Skills
Szczegółowy przewodnik po tworzeniu niestandardowej Skills.
Warsztat Skills
Kolejka propozycji Skills przygotowanych przez agenta.
Konfiguracja Skills
Pełny schemat konfiguracji
skills.* i listy dozwolonych elementów dla agentów.Polecenia z ukośnikiem
Sposób rejestrowania i kierowania poleceń Skills z ukośnikiem.
ClawHub
Przeglądaj i publikuj Skills w publicznym rejestrze.
Pluginy
Pluginy mogą zawierać Skills wraz z narzędziami, które dokumentują.