SKILL.md w lokalizacji:
- Memory przechowuje fakty, preferencje, encje i wcześniejszy kontekst.
- Skills przechowują procedury wielokrotnego użytku, których agent powinien przestrzegać w przyszłych zadaniach.
- Skill Workshop jest pomostem między użytecznym przebiegiem a trwałą umiejętnością obszaru roboczego, z kontrolami bezpieczeństwa i opcjonalnym zatwierdzaniem.
- jak weryfikować pochodzące z zewnątrz animowane zasoby GIF
- jak zastępować zasoby zrzutów ekranu i weryfikować wymiary
- jak uruchamiać scenariusz QA specyficzny dla repozytorium
- jak debugować powracającą awarię dostawcy
- jak naprawiać nieaktualną lokalną notatkę przepływu pracy
- faktów takich jak „użytkownik lubi kolor niebieski”
- szerokiej pamięci autobiograficznej
- archiwizacji surowych transkryptów
- sekretów, poświadczeń ani ukrytego tekstu promptów
- jednorazowych instrukcji, które się nie powtórzą
Stan domyślny
Dołączony Plugin jest eksperymentalny i domyślnie wyłączony, chyba że zostanie jawnie włączony wplugins.entries.skill-workshop.
Manifest Pluginu nie ustawia enabledByDefault: true. Domyślne enabled: true
wewnątrz schematu konfiguracji Pluginu ma zastosowanie dopiero po tym, jak wpis Pluginu
został już wybrany i załadowany.
Eksperymentalny oznacza, że:
- Plugin jest wspierany na tyle, by umożliwić testy opt-in i dogfooding
- przechowywanie propozycji, progi recenzenta i heurystyki przechwytywania mogą ewoluować
- zalecanym trybem początkowym jest oczekujące zatwierdzenie
- automatyczne stosowanie jest przeznaczone dla zaufanych osobistych/roboczych konfiguracji, a nie dla współdzielonych lub wrogich środowisk z dużą ilością danych wejściowych
Włączanie
Minimalna bezpieczna konfiguracja:- narzędzie
skill_workshopjest dostępne - jawne poprawki wielokrotnego użytku są umieszczane w kolejce jako oczekujące propozycje
- przebiegi recenzenta oparte na progach mogą proponować aktualizacje Skills
- żaden plik umiejętności nie jest zapisywany, dopóki oczekująca propozycja nie zostanie zastosowana
approvalPolicy: "auto" nadal używa tego samego skanera i ścieżki kwarantanny. Nie
stosuje propozycji z krytycznymi ustaleniami.
Konfiguracja
| Klucz | Domyślnie | Zakres / wartości | Znaczenie |
|---|---|---|---|
enabled | true | boolean | Włącza Plugin po załadowaniu wpisu Pluginu. |
autoCapture | true | boolean | Włącza przechwytywanie/recenzję po zakończeniu udanych przebiegów agenta. |
approvalPolicy | "pending" | "pending", "auto" | Umieszcza propozycje w kolejce lub automatycznie zapisuje bezpieczne propozycje. |
reviewMode | "hybrid" | "off", "heuristic", "llm", "hybrid" | Wybiera jawne przechwytywanie poprawek, recenzenta LLM, oba lub żadne. |
reviewInterval | 15 | 1..200 | Uruchamia recenzenta po tylu udanych przebiegach. |
reviewMinToolCalls | 8 | 1..500 | Uruchamia recenzenta po tylu zaobserwowanych wywołaniach narzędzi. |
reviewTimeoutMs | 45000 | 5000..180000 | Limit czasu dla osadzonego uruchomienia recenzenta. |
maxPending | 50 | 1..200 | Maksymalna liczba oczekujących/poddanych kwarantannie propozycji przechowywanych na obszar roboczy. |
maxSkillBytes | 40000 | 1024..200000 | Maksymalny rozmiar wygenerowanej umiejętności/pliku pomocniczego. |
Ścieżki przechwytywania
Skill Workshop ma trzy ścieżki przechwytywania.Sugestie narzędzia
Model może wywołaćskill_workshop bezpośrednio, gdy zauważy procedurę wielokrotnego użytku
lub gdy użytkownik poprosi o zapisanie/zaktualizowanie umiejętności.
To najbardziej jawna ścieżka i działa nawet przy autoCapture: false.
Przechwytywanie heurystyczne
GdyautoCapture jest włączone, a reviewMode ma wartość heuristic lub hybrid,
Plugin skanuje udane przebiegi pod kątem jawnych fraz poprawek użytkownika:
next timefrom now onremember tomake sure toalways ... use/check/verify/record/save/preferprefer ... when/for/instead/usewhen asked
- zadania z animowanymi GIF-ami ->
animated-gif-workflow - zadania ze zrzutami ekranu lub zasobami ->
screenshot-asset-workflow - zadania QA lub scenariusze ->
qa-scenario-workflow - zadania GitHub PR ->
github-pr-workflow - fallback ->
learned-workflows
Recenzent LLM
GdyautoCapture jest włączone, a reviewMode ma wartość llm lub hybrid, Plugin
uruchamia kompaktowego osadzonego recenzenta po osiągnięciu progów.
Recenzent otrzymuje:
- tekst ostatniego transkryptu, ograniczony do ostatnich 12 000 znaków
- do 12 istniejących Skills obszaru roboczego
- do 2 000 znaków z każdej istniejącej umiejętności
- instrukcje wyłącznie w formacie JSON
disableTools: truetoolsAllow: []disableMessageTool: true
{ "action": "none" }, albo jedną propozycję. Pole action ma wartość create, append lub replace — preferuj append/replace, gdy odpowiednia umiejętność już istnieje; używaj create tylko wtedy, gdy żadna istniejąca umiejętność nie pasuje.
Przykład create:
append dodaje section + body. replace zamienia oldText na newText w nazwanej umiejętności.
Cykl życia propozycji
Każda wygenerowana aktualizacja staje się propozycją z:idcreatedAtupdatedAtworkspaceDir- opcjonalnym
agentId - opcjonalnym
sessionId skillNametitlereasonsource:tool,agent_endlubreviewerstatuschange- opcjonalnym
scanFindings - opcjonalnym
quarantineReason
pending— oczekuje na zatwierdzenieapplied— zapisano do<workspace>/skillsrejected— odrzucone przez operatora/modelquarantined— zablokowane przez krytyczne ustalenia skanera
maxPending.
Informacje o narzędziu
Plugin rejestruje jedno narzędzie agenta:status
Zlicza propozycje według stanu dla aktywnego obszaru roboczego.
list_pending
Wyświetla oczekujące propozycje.
status:
pendingappliedrejectedquarantined
list_quarantine
Wyświetla propozycje poddane kwarantannie.
skill-workshop: quarantined <skill>.
inspect
Pobiera propozycję według identyfikatora.
suggest
Tworzy propozycję. Przy approvalPolicy: "pending" (domyślnie) umieszcza ją w kolejce zamiast zapisywać.
Wymuś bezpieczny zapis (apply: true)
Wymuś bezpieczny zapis (apply: true)
Wymuś tryb oczekujący przy polityce auto (apply: false)
Wymuś tryb oczekujący przy polityce auto (apply: false)
Dodaj do nazwanej sekcji
Dodaj do nazwanej sekcji
Zastąp dokładny tekst
Zastąp dokładny tekst
apply
Stosuje oczekującą propozycję.
apply odrzuca propozycje poddane kwarantannie:
reject
Oznacza propozycję jako odrzuconą.
write_support_file
Zapisuje plik pomocniczy wewnątrz istniejącego lub proponowanego katalogu umiejętności.
Dozwolone katalogi pomocnicze najwyższego poziomu:
references/templates/scripts/assets/
maxSkillBytes, skanowane i zapisywane atomowo.
Zapisy Skills
Skill Workshop zapisuje tylko w:- zamieniane na małe litery
- ciągi znaków innych niż
[a-z0-9_-]są zamieniane na- - początkowe/końcowe znaki niealfanumeryczne są usuwane
- maksymalna długość to 80 znaków
- końcowa nazwa musi pasować do
[a-z0-9][a-z0-9_-]{1,79}
create:
- jeśli Skill nie istnieje, Skill Workshop zapisuje nowy plik
SKILL.md - jeśli już istnieje, Skill Workshop dopisuje treść do
## Workflow
append:
- jeśli Skill istnieje, Skill Workshop dopisuje do żądanej sekcji
- jeśli nie istnieje, Skill Workshop tworzy minimalny Skill, a następnie dopisuje
replace:
- Skill musi już istnieć
oldTextmusi występować dokładnie- zastępowane jest tylko pierwsze dokładne dopasowanie
Model bezpieczeństwa
Skill Workshop ma skaner bezpieczeństwa dla wygenerowanej zawartościSKILL.md i plików pomocniczych.
Krytyczne ustalenia poddają propozycje kwarantannie:
| Identyfikator reguły | Blokuje treści, które… |
|---|---|
prompt-injection-ignore-instructions | nakazują agentowi ignorować wcześniejsze/nadrzędne instrukcje |
prompt-injection-system | odwołują się do promptów systemowych, wiadomości deweloperskich lub ukrytych instrukcji |
prompt-injection-tool | zachęcają do omijania uprawnień/zatwierdzania narzędzi |
shell-pipe-to-shell | zawierają curl/wget przekierowane potokiem do sh, bash lub zsh |
secret-exfiltration | wyglądają na wysyłanie danych env/process env przez sieć |
| Identyfikator reguły | Ostrzega o… |
|---|---|
destructive-delete | szerokich poleceniach w stylu rm -rf |
unsafe-permissions | użyciu uprawnień w stylu chmod 777 |
- zachowują
scanFindings - zachowują
quarantineReason - pojawiają się w
list_quarantine - nie mogą zostać zastosowane przez
apply
Wskazówki dotyczące promptów
Gdy jest włączony, Skill Workshop wstrzykuje krótką sekcję promptu, która mówi agentowi, aby używałskill_workshop do trwałej pamięci proceduralnej.
Wskazówki podkreślają:
- procedury, a nie fakty/preferencje
- poprawki użytkownika
- nieoczywiste skuteczne procedury
- powracające pułapki
- naprawę nieaktualnych/zbyt skąpych/błędnych Skills przez append/replace
- zapisywanie procedur wielokrotnego użytku po długich pętlach narzędzi lub trudnych poprawkach
- krótką imperatywną treść Skills
- brak zrzutów transkryptów
approvalPolicy:
- tryb oczekujący: umieszczaj sugestie w kolejce; stosuj dopiero po jawnym zatwierdzeniu
- tryb automatyczny: stosuj bezpieczne aktualizacje Skills obszaru roboczego, gdy są wyraźnie wielokrotnego użytku
Koszty i zachowanie środowiska wykonawczego
Przechwytywanie heurystyczne nie wywołuje modelu. Recenzja LLM używa osadzonego uruchomienia na aktywnym/domyslnym modelu agenta. Jest oparta na progach, więc domyślnie nie uruchamia się przy każdym przebiegu. Recenzent:- używa tego samego skonfigurowanego kontekstu dostawcy/modelu, gdy jest dostępny
- wraca do domyślnych ustawień agenta środowiska wykonawczego
- ma
reviewTimeoutMs - używa lekkiego kontekstu bootstrap
- nie ma narzędzi
- nie zapisuje niczego bezpośrednio
- może jedynie wygenerować propozycję, która przechodzi przez normalny skaner oraz ścieżkę zatwierdzania/kwarantanny
Wzorce operacyjne
Używaj Skill Workshop, gdy użytkownik mówi:- „następnym razem zrób X”
- „od teraz preferuj Y”
- „upewnij się, że weryfikujesz Z”
- „zapisz to jako przepływ pracy”
- „to zajęło chwilę; zapamiętaj ten proces”
- „zaktualizuj lokalny Skill dla tego”
- ma formę transkryptu
- nie jest imperatywna
- zawiera szum w postaci jednorazowych szczegółów
- nie mówi następnemu agentowi, co ma zrobić
Debugowanie
Sprawdź, czy Plugin jest załadowany:| Objaw | Prawdopodobna przyczyna | Sprawdź |
|---|---|---|
| Narzędzie jest niedostępne | Wpis Pluginu nie jest włączony | plugins.entries.skill-workshop.enabled i openclaw plugins list |
| Nie pojawia się żadna automatyczna propozycja | autoCapture: false, reviewMode: "off" lub progi nie zostały osiągnięte | Konfigurację, status propozycji, logi Gateway |
| Heurystyka niczego nie przechwyciła | Sformułowanie użytkownika nie pasowało do wzorców poprawek | Użyj jawnego skill_workshop.suggest lub włącz recenzenta LLM |
| Recenzent nie utworzył propozycji | Recenzent zwrócił none, nieprawidłowy JSON lub przekroczył limit czasu | Logi Gateway, reviewTimeoutMs, progi |
| Propozycja nie została zastosowana | approvalPolicy: "pending" | list_pending, a następnie apply |
| Propozycja zniknęła z oczekujących | Użyto ponownie zduplikowanej propozycji, przycięcie przez maksymalną liczbę oczekujących lub została zastosowana/odrzucona/poddana kwarantannie | status, list_pending z filtrami statusu, list_quarantine |
| Plik Skill istnieje, ale model go pomija | Migawka Skills nie została odświeżona lub bramkowanie Skills go wyklucza | status openclaw skills i kwalifikowalność Skills obszaru roboczego |
skill-workshop: queued <skill>skill-workshop: applied <skill>skill-workshop: quarantined <skill>skill-workshop: heuristic capture skipped: ...skill-workshop: reviewer skipped: ...skill-workshop: reviewer found no update
Scenariusze QA
Scenariusze QA oparte na repozytorium:qa/scenarios/plugins/skill-workshop-animated-gif-autocreate.mdqa/scenarios/plugins/skill-workshop-pending-approval.mdqa/scenarios/plugins/skill-workshop-reviewer-autonomous.md
reviewMode: "llm" i testuje przebieg osadzonego recenzenta.
Kiedy nie włączać automatycznego stosowania
UnikajapprovalPolicy: "auto", gdy:
- obszar roboczy zawiera wrażliwe procedury
- agent pracuje na niezaufanych danych wejściowych
- Skills są współdzielone przez szeroki zespół
- nadal dostrajasz prompty lub reguły skanera
- model często obsługuje wrogie treści z sieci/e-maili