Przejdź do głównej treści
Skills uczą agenta, jak i kiedy używać narzędzi. Każdy skill to katalog zawierający plik SKILL.md z YAML frontmatter i instrukcjami w Markdown. OpenClaw ładuje Skills z kilku katalogów głównych w zdefiniowanej kolejności pierwszeństwa.

Utwórz swój pierwszy skill

1

Create the skill directory

Skills znajdują się w folderze skills/ Twojego workspace. Utwórz katalog dla nowego skilla:
mkdir -p ~/.openclaw/workspace/skills/hello-world
Możesz grupować Skills w podfolderach dla lepszej organizacji — skill nadal jest nazywany przez frontmatter w SKILL.md, a nie przez ścieżkę folderu:
mkdir -p ~/.openclaw/workspace/skills/personal/hello-world
# skill name is still "hello-world", invoked as /hello-world
2

Write SKILL.md

Utwórz SKILL.md w katalogu. Frontmatter definiuje metadane; treść zawiera instrukcje dla agenta.
---
name: hello-world
description: A simple skill that prints a greeting.
---

# Hello World

When the user asks for a greeting, use the `exec` tool to run:

```bash
echo "Hello from your custom skill!"

Zasady nazewnictwa:
- Używaj małych liter, cyfr i łączników w polu `name`.
- Utrzymuj zgodność nazwy katalogu i frontmatter `name`.
- `description` jest pokazywane agentowi i w wykrywaniu poleceń slash —
  powinno być jednowierszowe i mieć mniej niż 160 znaków.

</Step>

<Step title="Verify the skill loaded">
```bash
openclaw skills list
OpenClaw domyślnie obserwuje pliki SKILL.md w katalogach głównych Skills. Jeśli obserwator jest wyłączony albo kontynuujesz istniejącą sesję, rozpocznij nową, aby agent otrzymał odświeżoną listę:
# From chat — archive current session and start fresh
/new

# Or restart the gateway
openclaw gateway restart
3

Test it

Wyślij wiadomość, która powinna uruchomić skill:
openclaw agent --message "give me a greeting"
Możesz też otworzyć czat i zapytać agenta bezpośrednio. Użyj /skill hello-world, aby jawnie wywołać go po nazwie.

Dokumentacja SKILL.md

Wymagane pola

PoleOpis
nameUnikalny slug używający małych liter, cyfr i łączników
descriptionJednowierszowy opis pokazywany agentowi i w wynikach wykrywania

Opcjonalne klucze frontmatter

PoleDomyślnieOpis
user-invocabletrueUdostępnia skill jako polecenie slash użytkownika
disable-model-invocationfalseNie umieszcza skilla w system prompt agenta (nadal działa przez /skill)
command-dispatchUstaw na tool, aby skierować polecenie slash bezpośrednio do narzędzia, z pominięciem modelu
command-toolNazwa narzędzia do wywołania, gdy ustawiono command-dispatch: tool
command-arg-moderawDla wysyłania do narzędzia przekazuje surowy ciąg argumentów do narzędzia
homepageURL pokazywany jako „Witryna” w interfejsie Skills na macOS
Pola bramkujące (requires.bins, requires.env itd.) opisuje sekcja Skills — Bramkowanie.

Używanie {baseDir}

Użyj {baseDir} w treści skilla, aby odwoływać się do plików wewnątrz katalogu skilla bez wpisywania ścieżek na stałe:
Run the helper script at `{baseDir}/scripts/run.sh`.

Dodawanie aktywacji warunkowej

Ogranicz ładowanie skilla tak, aby ładował się tylko wtedy, gdy jego zależności są dostępne:
---
name: gemini-search
description: Search using Gemini CLI.
metadata: { "openclaw": { "requires": { "bins": ["gemini"] }, "primaryEnv": "GEMINI_API_KEY" } }
---
KluczOpis
requires.binsWszystkie pliki binarne muszą istnieć w PATH
requires.anyBinsCo najmniej jeden plik binarny musi istnieć w PATH
requires.envKażda zmienna env musi istnieć w procesie lub konfiguracji
requires.configKażda ścieżka openclaw.json musi być prawdziwa
osFiltr platformy: ["darwin"], ["linux"], ["win32"]
alwaysUstaw true, aby pominąć wszystkie warunki i zawsze uwzględniać skill
Pełna dokumentacja: Skills — Bramkowanie.
Powiąż klucz API z wpisem skilla w openclaw.json:
{
  skills: {
    entries: {
      "gemini-search": {
        enabled: true,
        apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" },
      },
    },
  },
}
Klucz jest wstrzykiwany do procesu hosta tylko na czas danej tury agenta. Nie trafia do sandboxa — zobacz zmienne env w sandboxie.

Proponowanie przez Warsztat Skills

W przypadku Skills przygotowanych przez agenta albo gdy chcesz, aby operator sprawdził skill przed uruchomieniem go produkcyjnie, użyj propozycji Warsztatu Skills zamiast pisać SKILL.md bezpośrednio.
# Propose a brand-new skill
openclaw skills workshop propose-create \
  --name "hello-world" \
  --description "A simple skill that prints a greeting." \
  --proposal ./PROPOSAL.md

# Propose an update to an existing skill
openclaw skills workshop propose-update hello-world \
  --proposal ./PROPOSAL.md \
  --description "Updated greeting skill"
Użyj --proposal-dir, gdy propozycja zawiera pliki pomocnicze:
openclaw skills workshop propose-create \
  --name "hello-world" \
  --description "A simple skill that prints a greeting." \
  --proposal-dir ./hello-world-proposal/
Katalog musi zawierać PROPOSAL.md. Pliki pomocnicze mogą znajdować się w assets/, examples/, references/, scripts/ lub templates/. Po przeglądzie:
openclaw skills workshop inspect <proposal-id>
openclaw skills workshop apply <proposal-id>
Zobacz Warsztat Skills, aby poznać pełny cykl życia propozycji.

Publikowanie w ClawHub

1

Ensure your SKILL.md is complete

Upewnij się, że ustawiono name, description oraz wszystkie pola bramkujące metadata.openclaw. Dodaj URL homepage, jeśli masz stronę projektu.
2

Install the ClawHub skill

Skill ClawHub dokumentuje aktualny kształt polecenia publikowania i wymagane metadane:
openclaw skills install @openclaw/clawhub-publish
3

Publish

clawhub publish
Pełny proces opisuje ClawHub — Publikowanie.

Najlepsze praktyki

  • Pisz zwięźle — poinstruuj model, co ma zrobić, a nie jak być AI.
  • Najpierw bezpieczeństwo — jeśli Twój skill używa exec, upewnij się, że prompty nie pozwalają na dowolne wstrzykiwanie poleceń z niezaufanych danych wejściowych.
  • Testuj lokalnie — użyj openclaw agent --message "..." przed udostępnieniem.
  • Używaj ClawHub — przejrzyj społecznościowe Skills na clawhub.ai przed budowaniem od zera.

Powiązane

Skills reference

Kolejność ładowania, bramkowanie, listy dozwolonych elementów i format SKILL.md.

Skill Workshop

Kolejka propozycji dla Skills przygotowanych przez agenta.

Skills config

Pełny schemat konfiguracji skills.*.

ClawHub

Przeglądaj i publikuj Skills w publicznym rejestrze.

Building plugins

Plugins mogą dostarczać Skills razem z narzędziami, które dokumentują.