SKILL.md sous :
- Memory stocke les faits, préférences, entités et le contexte passé.
- Skills stockent des procédures réutilisables que l’agent doit suivre sur les tâches futures.
- Skill Workshop est le pont entre un tour utile et un Skill durable de l’espace de travail, avec vérifications de sécurité et approbation facultative.
- comment valider des ressources GIF animées provenant de sources externes
- comment remplacer des captures d’écran et vérifier les dimensions
- comment exécuter un scénario QA spécifique à un dépôt
- comment déboguer une panne récurrente de provider
- comment réparer une note de workflow local obsolète
- des faits comme « l’utilisateur aime le bleu »
- une mémoire autobiographique large
- l’archivage brut de transcription
- les secrets, identifiants, ou texte de prompt caché
- des instructions ponctuelles qui ne se répéteront pas
État par défaut
Le Plugin intégré est expérimental et désactivé par défaut à moins d’être explicitement activé dansplugins.entries.skill-workshop.
Le manifeste du Plugin ne définit pas enabledByDefault: true. La valeur par défaut enabled: true
dans le schéma de configuration du Plugin ne s’applique qu’après la sélection et le chargement de l’entrée de Plugin.
Expérimental signifie :
- le Plugin est suffisamment pris en charge pour des tests opt-in et du dogfooding
- le stockage des propositions, les seuils de review et les heuristiques de capture peuvent évoluer
- l’approbation en attente est le mode de départ recommandé
- l’application automatique est destinée aux configurations personnelles/de confiance, et non aux environnements partagés ou exposés à des entrées lourdes et hostiles
Activer
Configuration minimale sûre :- l’outil
skill_workshopest disponible - les corrections réutilisables explicites sont mises en file comme propositions en attente
- les passes de review basées sur des seuils peuvent proposer des mises à jour de Skills
- aucun fichier de Skill n’est écrit tant qu’une proposition en attente n’est pas appliquée
approvalPolicy: "auto" utilise toujours le même scanner et le même chemin de quarantaine. Il
n’applique pas les propositions avec résultats critiques.
Configuration
| Clé | Par défaut | Plage / valeurs | Signification |
|---|---|---|---|
enabled | true | booléen | Active le Plugin après le chargement de l’entrée de Plugin. |
autoCapture | true | booléen | Active la capture/review après tour sur les tours d’agent réussis. |
approvalPolicy | "pending" | "pending", "auto" | Mettre les propositions en file ou écrire automatiquement les propositions sûres. |
reviewMode | "hybrid" | "off", "heuristic", "llm", "hybrid" | Choisit la capture de correction explicite, le reviewer LLM, les deux, ou aucun. |
reviewInterval | 15 | 1..200 | Exécuter le reviewer après ce nombre de tours réussis. |
reviewMinToolCalls | 8 | 1..500 | Exécuter le reviewer après ce nombre d’appels d’outils observés. |
reviewTimeoutMs | 45000 | 5000..180000 | Délai maximal pour l’exécution du reviewer intégré. |
maxPending | 50 | 1..200 | Nombre maximal de propositions pending/quarantined conservées par espace de travail. |
maxSkillBytes | 40000 | 1024..200000 | Taille maximale d’un fichier de Skill/support généré. |
Chemins de capture
Skill Workshop possède trois chemins de capture.Suggestions d’outil
Le modèle peut appeler directementskill_workshop lorsqu’il voit une procédure réutilisable
ou lorsque l’utilisateur lui demande de sauvegarder/mettre à jour un Skill.
C’est le chemin le plus explicite et il fonctionne même avec autoCapture: false.
Capture heuristique
LorsqueautoCapture est activé et que reviewMode est heuristic ou hybrid, le
Plugin analyse les tours réussis à la recherche de phrases explicites de correction utilisateur :
next timefrom now onremember tomake sure toalways ... use/check/verify/record/save/preferprefer ... when/for/instead/usewhen asked
- tâches GIF animées ->
animated-gif-workflow - tâches de capture d’écran ou de ressource ->
screenshot-asset-workflow - tâches QA ou de scénario ->
qa-scenario-workflow - tâches de PR GitHub ->
github-pr-workflow - repli ->
learned-workflows
Reviewer LLM
LorsqueautoCapture est activé et que reviewMode est llm ou hybrid, le Plugin
exécute un reviewer intégré compact lorsque les seuils sont atteints.
Le reviewer reçoit :
- le texte de transcription récent, limité aux 12 000 derniers caractères
- jusqu’à 12 Skills d’espace de travail existants
- jusqu’à 2 000 caractères de chaque Skill existant
- des instructions JSON-only
disableTools: truetoolsAllow: []disableMessageTool: true
{ "action": "none" }, soit une proposition. Le champ action vaut create, append, ou replace — préférez append/replace lorsqu’un Skill pertinent existe déjà ; utilisez create seulement lorsqu’aucun Skill existant ne convient.
Exemple create :
append ajoute section + body. replace remplace oldText par newText dans le Skill nommé.
Cycle de vie des propositions
Chaque mise à jour générée devient une proposition avec :idcreatedAtupdatedAtworkspaceDiragentIdfacultatifsessionIdfacultatifskillNametitlereasonsource:tool,agent_end, oureviewerstatuschangescanFindingsfacultatifquarantineReasonfacultatif
pending- en attente d’approbationapplied- écrit dans<workspace>/skillsrejected- rejeté par l’opérateur/le modèlequarantined- bloqué par des résultats critiques du scanner
maxPending.
Référence de l’outil
Le Plugin enregistre un outil d’agent :status
Compte les propositions par état pour l’espace de travail actif.
list_pending
Liste les propositions pending.
status :
pendingappliedrejectedquarantined
list_quarantine
Liste les propositions mises en quarantaine.
skill-workshop: quarantined <skill>.
inspect
Récupère une proposition par identifiant.
suggest
Crée une proposition. Avec approvalPolicy: "pending" (par défaut), cela met en file au lieu d’écrire.
Forcer une écriture sûre (apply: true)
Forcer une écriture sûre (apply: true)
Forcer pending sous une politique auto (apply: false)
Forcer pending sous une politique auto (apply: false)
Ajouter à une section nommée
Ajouter à une section nommée
Remplacer un texte exact
Remplacer un texte exact
apply
Applique une proposition pending.
apply refuse les propositions quarantined :
reject
Marque une proposition comme rejetée.
write_support_file
Écrit un fichier de support dans un répertoire de Skill existant ou proposé.
Répertoires de support de niveau supérieur autorisés :
references/templates/scripts/assets/
maxSkillBytes, scannés, et écrits atomiquement.
Écritures de Skills
Skill Workshop n’écrit que sous :- en minuscules
- les séquences non
[a-z0-9_-]deviennent- - les caractères non alphanumériques de début/fin sont supprimés
- la longueur maximale est de 80 caractères
- le nom final doit correspondre à
[a-z0-9][a-z0-9_-]{1,79}
create :
- si le Skill n’existe pas, Skill Workshop écrit un nouveau
SKILL.md - s’il existe déjà, Skill Workshop ajoute le corps à
## Workflow
append :
- si le Skill existe, Skill Workshop ajoute à la section demandée
- s’il n’existe pas, Skill Workshop crée un Skill minimal puis ajoute
replace :
- le Skill doit déjà exister
oldTextdoit être présent exactement- seule la première correspondance exacte est remplacée
Modèle de sécurité
Skill Workshop possède un scanner de sécurité sur le contenu généré deSKILL.md et les fichiers de support.
Les résultats critiques mettent les propositions en quarantaine :
| Rule id | Bloque le contenu qui… |
|---|---|
prompt-injection-ignore-instructions | dit à l’agent d’ignorer des instructions antérieures/de niveau supérieur |
prompt-injection-system | fait référence aux prompts système, messages développeur ou instructions cachées |
prompt-injection-tool | encourage le contournement des permissions/approbations d’outils |
shell-pipe-to-shell | inclut curl/wget redirigé vers sh, bash ou zsh |
secret-exfiltration | semble envoyer des données env/process env sur le réseau |
| Rule id | Avertit sur… |
|---|---|
destructive-delete | commandes larges de type rm -rf |
unsafe-permissions | usage de permissions de type chmod 777 |
- conservent
scanFindings - conservent
quarantineReason - apparaissent dans
list_quarantine - ne peuvent pas être appliquées via
apply
Consignes de prompt
Lorsqu’il est activé, Skill Workshop injecte une courte section de prompt indiquant à l’agent d’utiliserskill_workshop pour la mémoire procédurale durable.
Les consignes mettent l’accent sur :
- les procédures, pas les faits/préférences
- les corrections utilisateur
- les procédures non évidentes mais réussies
- les pièges récurrents
- la réparation des Skills obsolètes/minces/incorrects via append/replace
- la sauvegarde d’une procédure réutilisable après de longues boucles d’outils ou des correctifs difficiles
- un texte de Skill court et impératif
- pas de dumps de transcription
approvalPolicy :
- mode pending : mettre les suggestions en file ; appliquer uniquement après approbation explicite
- mode auto : appliquer les mises à jour sûres de Skills d’espace de travail lorsqu’elles sont clairement réutilisables
Coûts et comportement à l’exécution
La capture heuristique n’appelle pas de modèle. La review LLM utilise une exécution intégrée sur le modèle actif/par défaut de l’agent. Elle est basée sur des seuils, donc elle ne s’exécute pas sur chaque tour par défaut. Le reviewer :- utilise le même contexte provider/modèle configuré lorsqu’il est disponible
- revient aux valeurs par défaut de l’agent à l’exécution
- utilise
reviewTimeoutMs - utilise un contexte bootstrap léger
- n’a pas d’outils
- n’écrit rien directement
- ne peut émettre qu’une proposition qui passe ensuite par le scanner normal et le chemin d’approbation/quarantaine
Modèles d’exploitation
Utilisez Skill Workshop lorsque l’utilisateur dit :- « la prochaine fois, fais X »
- « à partir de maintenant, préfère Y »
- « assure-toi de vérifier Z »
- « sauvegarde ceci comme workflow »
- « ça a pris du temps ; retiens le processus »
- « mets à jour le Skill local pour cela »
- forme de transcription
- pas impératif
- inclut des détails ponctuels bruyants
- ne dit pas au prochain agent quoi faire
Débogage
Vérifiez si le Plugin est chargé :| Symptôme | Cause probable | Vérification |
|---|---|---|
| L’outil est indisponible | L’entrée de Plugin n’est pas activée | plugins.entries.skill-workshop.enabled et openclaw plugins list |
| Aucune proposition automatique n’apparaît | autoCapture: false, reviewMode: "off", ou seuils non atteints | Configuration, statut des propositions, journaux du Gateway |
| L’heuristique n’a pas capturé | La formulation utilisateur ne correspondait pas aux motifs de correction | Utilisez skill_workshop.suggest explicite ou activez le reviewer LLM |
| Le reviewer n’a pas créé de proposition | Le reviewer a renvoyé none, un JSON invalide, ou a expiré | Journaux du Gateway, reviewTimeoutMs, seuils |
| La proposition n’est pas appliquée | approvalPolicy: "pending" | list_pending, puis apply |
| La proposition a disparu de pending | Proposition dupliquée réutilisée, élagage max pending, ou appliquée/rejetée/quarantined | status, list_pending avec filtres d’état, list_quarantine |
| Le fichier de Skill existe mais le modèle le manque | L’instantané du Skill n’a pas été actualisé ou le filtrage de Skill l’exclut | openclaw skills status et éligibilité des Skills de l’espace de travail |
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
Scénarios QA
Scénarios QA adossés au dépôt :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" et exerce la passe de review intégrée.
Quand ne pas activer l’application automatique
ÉvitezapprovalPolicy: "auto" lorsque :
- l’espace de travail contient des procédures sensibles
- l’agent travaille sur des entrées non fiables
- les Skills sont partagés au sein d’une large équipe
- vous êtes encore en train d’ajuster les prompts ou les règles du scanner
- le modèle traite fréquemment du contenu web/e-mail hostile