Skills

Tworzenie Skills

Skills uczą agenta, jak i kiedy używać narzędzi. Każdy Skill jest katalogiem zawierającym plik SKILL.md z frontmatterem YAML i instrukcjami w formacie Markdown. OpenClaw ładuje Skills z kilku katalogów głównych zgodnie ze zdefiniowaną kolejnością pierwszeństwa.

Utwórz swój pierwszy Skill

  • Create the skill directory

    Skills znajdują się w folderze skills/ Twojego obszaru roboczego:

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

    Aby uporządkować Skills, możesz grupować je w podfolderach — nazwa Skilla nadal pochodzi z frontmatteru pliku SKILL.md, a nie ze ścieżki katalogu:

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

    Frontmatter definiuje metadane, a treść zawiera instrukcje dla agenta.

    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
     Reguły nazewnictwa:- W polu `name` używaj małych liter, cyfr i łączników.- Nazwa katalogu i pole `name` we frontmatterze powinny być zgodne.- Pole `description` jest wyświetlane agentowi oraz podczas wyszukiwania poleceń z ukośnikiem —  powinno mieścić się w jednym wierszu i zawierać mniej niż 160 znaków.  OPENCLAW_DOCS_MARKER:stepClose:   OPENCLAW_DOCS_MARKER:stepOpen:IHRpdGxlPSJWZXJpZnkgdGhlIHNraWxsIGxvYWRlZCI ```bashopenclaw skills list

    OpenClaw domyślnie monitoruje pliki SKILL.md w katalogach głównych Skills. Jeśli monitorowanie jest wyłączone lub kontynuujesz istniejącą sesję, rozpocznij nową, aby agent otrzymał odświeżoną listę:

    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"

    Możesz też otworzyć czat i poprosić agenta bezpośrednio. Użyj /skill hello-world, aby jawnie wywołać Skill według nazwy.

  • Dokumentacja pliku SKILL.md

    Pola wymagane

    Pole Opis
    name Unikatowy identyfikator z małych liter, cyfr i łączników
    description Jednowierszowy opis wyświetlany agentowi i w wynikach wyszukiwania

    Opcjonalne klucze frontmatteru

    Pole Wartość domyślna Opis
    user-invocable true Udostępnia Skill jako polecenie użytkownika z ukośnikiem
    disable-model-invocation false Wyklucza Skill z monitu systemowego agenta (nadal można go uruchomić przez /skill)
    command-dispatch Ustaw tool, aby kierować polecenie z ukośnikiem bezpośrednio do narzędzia, z pominięciem modelu
    command-tool Nazwa narzędzia wywoływanego po ustawieniu command-dispatch: tool
    command-arg-mode raw Przy przekazywaniu do narzędzia przesyła nieprzetworzony ciąg argumentów
    homepage Adres URL wyświetlany jako „Website” w interfejsie Skills systemu macOS

    Informacje o polach warunkowych (requires.bins, requires.env itd.) znajdziesz w sekcji Skills — warunki aktywacji.

    Używanie {baseDir}

    Odwołuj się do plików wewnątrz katalogu Skilla bez wpisywania ścieżek na stałe — agent rozpoznaje {baseDir} względem katalogu danego Skilla:

    markdown
    Run the helper script at `{baseDir}/scripts/run.sh`.

    Dodawanie aktywacji warunkowej

    Ustaw warunki Skilla, aby był ładowany tylko wtedy, gdy jego zależności są dostępne:

    markdown
    ---name: gemini-searchdescription: Search using Gemini CLI.metadata: { "openclaw": { "requires": { "bins": ["gemini"] }, "primaryEnv": "GEMINI_API_KEY" } }---
    Gating options
    Klucz Opis
    requires.bins Wszystkie pliki wykonywalne muszą istnieć w PATH
    requires.anyBins Co najmniej jeden plik wykonywalny musi istnieć w PATH
    requires.env Każda zmienna środowiskowa musi istnieć w procesie lub konfiguracji
    requires.config Każda ścieżka w openclaw.json musi mieć wartość logiczną prawda
    os Filtr platformy: ["darwin"], ["linux"], ["win32"]
    always Ustaw true, aby pominąć wszystkie warunki i zawsze uwzględniać Skill

    Pełna dokumentacja: Skills — warunki aktywacji.

    Environment and API keys

    Powiąż klucz API z wpisem Skilla w pliku openclaw.json:

    json5
    {  skills: {    entries: {      "gemini-search": {        enabled: true,        apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" },      },    },  },}

    Klucz jest wstrzykiwany do procesu hosta wyłącznie na czas danego przebiegu agenta. Nie trafia do piaskownicy — zobacz zmienne środowiskowe w piaskownicy.

    Zgłaszanie propozycji przez Skill Workshop

    W przypadku Skills przygotowanych przez agenta lub gdy chcesz, aby operator sprawdził Skill przed jego uruchomieniem, użyj propozycji w Skill Workshop, zamiast bezpośrednio zapisywać plik SKILL.md.

    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"

    Użyj --proposal-dir, gdy propozycja zawiera pliki pomocnicze:

    bash
    openclaw skills workshop propose-create \  --name "hello-world" \  --description "A simple skill that prints a greeting." \  --proposal-dir ./hello-world-proposal/

    Katalog musi zawierać plik PROPOSAL.md w swoim katalogu głównym. Pliki pomocnicze umieść w katalogach assets/, examples/, references/, scripts/ lub templates/.

    Po sprawdzeniu:

    bash
    openclaw skills workshop inspect <proposal-id>openclaw skills workshop apply <proposal-id>

    Pełny cykl życia propozycji opisano w sekcji Skill Workshop.

    Publikowanie w ClawHub

  • Ensure your SKILL.md is complete

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

  • Install the standalone ClawHub CLI and log in

    bash
    npm i -g clawhubclawhub login
  • Publish

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

    Dodaj --version <version> lub --owner <owner>, aby zastąpić wykrytą wersję albo opublikować Skill jako określony właściciel. Pełny proces, zakres właściciela i pozostałe polecenia konserwacyjne (clawhub sync, clawhub skill rename, ...) opisano w sekcjach ClawHub — publikowanie oraz CLI ClawHub.

  • Najlepsze praktyki

    Powiązane materiały

    Was this useful?
    On this page

    On this page