Skills
Skills
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.
Zbuduj i przetestuj niestandardowy skill od podstaw.
Przeglądaj i zatwierdzaj propozycje Skills przygotowane przez agenta.
Pełny schemat konfiguracji skills.* i listy dozwolonych dla agentów.
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ższy | Skills obszaru roboczego | <workspace>/skills |
| 2 | Skills agenta projektu | <workspace>/.agents/skills |
| 3 | Osobiste Skills agenta | ~/.agents/skills |
| 4 | Zarządzane / lokalne Skills | ~/.openclaw/skills |
| 5 | Wbudowane Skills | dostarczane z instalacją |
| 6 — najniższy | Dodatkowe katalogi | skills.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).
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żka | Widoczne dla |
|---|---|---|
| Per-agent | <workspace>/skills |
Tylko ten agent |
| Agent projektu | <workspace>/.agents/skills |
Tylko agent tego obszaru roboczego |
| Agent osobisty | ~/.agents/skills |
Wszyscy agenci na tej maszynie |
| Współdzielone zarządzane | ~/.openclaw/skills |
Wszyscy agenci na tej maszynie |
| Dodatkowe katalogi | skills.load.extraDirs |
Wszyscy 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 ], },}Allowlist rules
- 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[].skillsjest 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 listopenclaw 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.
| Akcja | Polecenie |
|---|---|
| Zainstaluj skill w obszarze roboczym | openclaw skills install @owner/<slug> |
| Zainstaluj z repozytorium Git | openclaw skills install git:owner/repo@ref |
| Zainstaluj lokalny katalog skillu | openclaw skills install ./path/to/skill --as my-tool |
| Zainstaluj dla wszystkich lokalnych agentów | openclaw skills install @owner/<slug> --global |
| Zaktualizuj wszystkie Skills obszaru roboczego | openclaw skills update --all |
| Zaktualizuj współdzielony zarządzany skill | openclaw skills update @owner/<slug> --global |
| Zaktualizuj wszystkie współdzielone zarządzane Skills | openclaw skills update --all --global |
| Zweryfikuj kopertę zaufania skillu | openclaw skills verify @owner/<slug> |
| Wypisz wygenerowaną Skill Card | openclaw skills verify @owner/<slug> --card |
| Publikuj / synchronizuj przez ClawHub CLI | clawhub sync --all |
Install details
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ć.
Verification and security scanning
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>.
Private archive installs
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
Path containment
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.
Operator install policy
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ą.
Secret injection scope
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-labdescription: Generate or edit images via a provider-backed image workflow--- When the user asks to generate an image, use the `image_generate` tool...Opcjonalne klucze frontmatter
homepagestringURL pokazywany jako "Website" w interfejsie macOS Skills. Obsługiwane także
przez metadata.openclaw.homepage.
user-invocablebooleandefault: trueGdy true, skill jest udostępniany jako wywoływane przez użytkownika polecenie
z ukośnikiem.
disable-model-invocationbooleandefault: falseGdy 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-toolstringNazwa narzędzia do wywołania, gdy ustawiono command-dispatch: tool.
command-arg-mode"raw"default: rawPrzy 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-labdescription: Generate or edit images via a provider-backed image workflowmetadata: { "openclaw": { "requires": { "bins": ["uv"], "env": ["GEMINI_API_KEY"], "config": ["browser.enabled"] }, "primaryEnv": "GEMINI_API_KEY", }, }---alwaysbooleanGdy true, zawsze dołączaj umiejętność i pomijaj wszystkie pozostałe bramki.
emojistringOpcjonalne emoji wyświetlane w interfejsie macOS Skills.
homepagestringOpcjonalny 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.binsstring[]Każdy plik binarny musi istnieć w PATH.
requires.anyBinsstring[]Co najmniej jeden plik binarny musi istnieć w PATH.
requires.envstring[]Każda zmienna env musi istnieć w procesie albo być dostarczona przez konfigurację.
requires.configstring[]Każda ścieżka openclaw.json musi mieć wartość prawdziwą.
primaryEnvstringNazwa zmiennej env powiązana z skills.entries.<name>.apiKey.
installobject[]Opcjonalne specyfikacje instalatora używane przez interfejs macOS Skills (brew / node / go / uv / download).
Specyfikacje instalatora
Specyfikacje instalatora mówią interfejsowi macOS Skills, jak zainstalować zależność:
---name: geminidescription: 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)", }, ], }, }---Reguły wyboru instalatora
- Gdy podano wiele instalatorów, gateway wybiera jedną preferowaną
opcję (
brew, gdy jest dostępny, w przeciwnym razienode). - 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.nodeManagerwopenclaw.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.
Szczegóły poszczególnych instalatorów
- Homebrew: OpenClaw nie instaluje automatycznie Homebrew ani nie tłumaczy formuł brew
na polecenia pakietów systemowych. W kontenerach Linux bez
brewinstalatory 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,GOPATHorazGOTOOLCHAIN. 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 brakujego, a Homebrew jest dostępny, OpenClaw najpierw instaluje Go przez Homebrew i ustawiaGOBINnabinz Homebrew. W systemie Linux OpenClaw może zamiast tego użyćapt-getjako root albo przez bezhasłowesudo, gdy odświeżony kandydatgolang-gospeł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>).
Uwagi o sandboxingu
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 }, }, },}enabledbooleanfalse 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.
apiKeystring | { source, provider, id }Wygodne pole dla umiejętności deklarujących metadata.openclaw.primaryEnv.
Obsługuje zwykły ciąg tekstowy albo obiekt SecretRef.
envRecord<string, string��-��f���z�������k�)configobjectOpcjonalny zestaw niestandardowych pól konfiguracji dla danej umiejętności.
allowBundledstring[]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.
Wstrzykiwanie środowiska
Gdy rozpoczyna się uruchomienie agenta, OpenClaw:
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.
Wstrzykuje env i klucze API
skills.entries.<key>.env i skills.entries.<key>.apiKey są stosowane do
process.env na czas trwania uruchomienia.
Buduje prompt systemowy
Kwalifikujące się umiejętności są kompilowane do zwartego bloku XML i wstrzykiwane do promptu systemowego.
Przywraca środowisko
Po zakończeniu uruchomienia przywracane jest pierwotne środowisko.
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.
Obserwator Skills
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.
Zdalne węzły macOS (Linux gateway)
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,descriptionilocation - 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
Przewodnik krok po kroku po tworzeniu niestandardowej umiejętności.
Kolejka propozycji dla umiejętności szkicowanych przez agenta.
Pełny schemat konfiguracji skills.* i listy dozwolonych agentów.
Jak polecenia ukośnikowe umiejętności są rejestrowane i routowane.
Przeglądaj i publikuj umiejętności w publicznym rejestrze.
Pluginy mogą dostarczać umiejętności razem z narzędziami, które dokumentują.