Skill Workshop é experimental. Ele fica desativado por padrão, suas heurísticas de captura e prompts de revisor podem mudar entre versões, e escritas automáticas devem ser usadas apenas em workspaces confiáveis depois de revisar primeiro a saída do modo pendente. Skill Workshop é memória procedural para Skills de workspace. Ele permite que um agente transforme fluxos de trabalho reutilizáveis, correções do usuário, soluções conquistadas com esforço e armadilhas recorrentes em arquivosDocumentation Index
Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
SKILL.md em:
- Memória armazena fatos, preferências, entidades e contexto passado.
- Skills armazenam procedimentos reutilizáveis que o agente deve seguir em tarefas futuras.
- Skill Workshop é a ponte de um turno útil para uma Skill durável de workspace, com verificações de segurança e aprovação opcional.
- como validar recursos de GIFs animados obtidos de fontes externas
- como substituir recursos de captura de tela e verificar dimensões
- como executar um cenário de QA específico do repositório
- como depurar uma falha recorrente de provedor
- como reparar uma nota obsoleta de fluxo de trabalho local
- fatos como “o usuário gosta de azul”
- memória autobiográfica ampla
- arquivamento bruto de transcrições
- segredos, credenciais ou texto oculto de prompt
- instruções pontuais que não se repetirão
Estado padrão
O Plugin incluído é experimental e desativado por padrão, a menos que seja explicitamente ativado emplugins.entries.skill-workshop.
O manifesto do Plugin não define enabledByDefault: true. O padrão enabled: true
dentro do esquema de configuração do Plugin se aplica apenas depois que a entrada do Plugin já foi
selecionada e carregada.
Experimental significa:
- o Plugin tem suporte suficiente para testes opt-in e dogfooding
- o armazenamento de propostas, os limites do revisor e as heurísticas de captura podem evoluir
- aprovação pendente é o modo inicial recomendado
- aplicação automática é para configurações pessoais/de workspace confiáveis, não para ambientes compartilhados ou hostis com alto volume de entrada
Ativar
Configuração mínima segura:- a ferramenta
skill_workshopfica disponível - correções reutilizáveis explícitas são enfileiradas como propostas pendentes
- passagens de revisor baseadas em limite podem propor atualizações de Skills
- nenhum arquivo de Skill é escrito até que uma proposta pendente seja aplicada
approvalPolicy: "auto" ainda usa o mesmo scanner e caminho de quarentena. Ele
não aplica propostas com achados críticos.
Configuração
| Chave | Padrão | Intervalo / valores | Significado |
|---|---|---|---|
enabled | true | boolean | Ativa o Plugin depois que a entrada do Plugin é carregada. |
autoCapture | true | boolean | Ativa captura/revisão pós-turno em turnos de agente bem-sucedidos. |
approvalPolicy | "pending" | "pending", "auto" | Enfileira propostas ou escreve propostas seguras automaticamente. |
reviewMode | "hybrid" | "off", "heuristic", "llm", "hybrid" | Escolhe captura de correção explícita, revisor LLM, ambos ou nenhum. |
reviewInterval | 15 | 1..200 | Executa o revisor após este número de turnos bem-sucedidos. |
reviewMinToolCalls | 8 | 1..500 | Executa o revisor após este número de chamadas de ferramenta observadas. |
reviewTimeoutMs | 45000 | 5000..180000 | Tempo limite para a execução do revisor incorporado. |
maxPending | 50 | 1..200 | Máximo de propostas pendentes/em quarentena mantidas por workspace. |
maxSkillBytes | 40000 | 1024..200000 | Tamanho máximo de arquivo de Skill/suporte gerado. |
Caminhos de captura
Skill Workshop tem três caminhos de captura.Sugestões de ferramenta
O modelo pode chamarskill_workshop diretamente quando vê um procedimento reutilizável
ou quando o usuário pede para salvar/atualizar uma Skill.
Este é o caminho mais explícito e funciona mesmo com autoCapture: false.
Captura heurística
QuandoautoCapture está ativado e reviewMode é heuristic ou hybrid, o
Plugin examina turnos bem-sucedidos em busca de frases explícitas de correção do usuário:
next timefrom now onremember tomake sure toalways ... use/check/verify/record/save/preferprefer ... when/for/instead/usewhen asked
- tarefas de GIF animado ->
animated-gif-workflow - tarefas de captura de tela ou recursos ->
screenshot-asset-workflow - tarefas de QA ou cenário ->
qa-scenario-workflow - tarefas de PR do GitHub ->
github-pr-workflow - fallback ->
learned-workflows
Revisor LLM
QuandoautoCapture está ativado e reviewMode é llm ou hybrid, o Plugin
executa um revisor compacto incorporado após os limites serem atingidos.
O revisor recebe:
- o texto recente da transcrição, limitado aos últimos 12.000 caracteres
- até 12 Skills existentes do workspace
- até 2.000 caracteres de cada Skill existente
- instruções somente JSON
disableTools: truetoolsAllow: []disableMessageTool: true
{ "action": "none" } ou uma proposta. O campo action é create, append ou replace - prefira append/replace quando uma Skill relevante já existir; use create apenas quando nenhuma Skill existente se encaixar.
Exemplo de create:
append adiciona section + body. replace troca oldText por newText na Skill nomeada.
Ciclo de vida da proposta
Toda atualização gerada vira uma proposta com:idcreatedAtupdatedAtworkspaceDiragentIdopcionalsessionIdopcionalskillNametitlereasonsource:tool,agent_endoureviewerstatuschangescanFindingsopcionalquarantineReasonopcional
pending- aguardando aprovaçãoapplied- escrita em<workspace>/skillsrejected- rejeitada pelo operador/modeloquarantined- bloqueada por achados críticos do scanner
maxPending.
Referência da ferramenta
O plugin registra uma ferramenta de agente:status
Conta propostas por estado para o espaço de trabalho ativo.
list_pending
Lista propostas pendentes.
status:
pendingappliedrejectedquarantined
list_quarantine
Lista propostas em quarentena.
skill-workshop: quarantined <skill>.
inspect
Busca uma proposta por id.
suggest
Cria uma proposta. Com approvalPolicy: "pending" (padrão), isto enfileira em vez de escrever.
Request immediate write in auto mode (apply: true)
Request immediate write in auto mode (apply: true)
approvalPolicy: "pending", apply: true ainda enfileira a proposta. Revise-a e então use
a ação apply após a aprovação.Force pending under auto policy (apply: false)
Force pending under auto policy (apply: false)
Append to a named section
Append to a named section
Replace exact text
Replace exact text
apply
Aplica uma proposta pendente.
Com approvalPolicy: "pending", esta ação solicita aprovação do operador antes de escrever a
skill do espaço de trabalho.
apply recusa propostas em quarentena:
reject
Marca uma proposta como rejeitada.
write_support_file
Escreve um arquivo de suporte dentro de um diretório de skill existente ou proposto.
Diretórios de suporte de nível superior permitidos:
references/templates/scripts/assets/
maxSkillBytes, escaneados e gravados atomicamente.
Escritas de Skills
Skill Workshop grava apenas em:- convertidos para minúsculas
- sequências não
[a-z0-9_-]viram- - não alfanuméricos no início/fim são removidos
- o comprimento máximo é 80 caracteres
- o nome final deve corresponder a
[a-z0-9][a-z0-9_-]{1,79}
create:
- se a skill não existir, Skill Workshop grava um novo
SKILL.md - se ela já existir, Skill Workshop acrescenta o corpo a
## Workflow
append:
- se a skill existir, Skill Workshop acrescenta à seção solicitada
- se ela não existir, Skill Workshop cria uma skill mínima e então acrescenta
replace:
- a skill já deve existir
oldTextdeve estar presente exatamente- apenas a primeira correspondência exata é substituída
Modelo de segurança
Skill Workshop tem um scanner de segurança para conteúdo gerado deSKILL.md e arquivos de suporte.
Achados críticos colocam propostas em quarentena:
| ID da regra | Bloqueia conteúdo que… |
|---|---|
prompt-injection-ignore-instructions | instrui o agente a ignorar instruções anteriores/superiores |
prompt-injection-system | referencia prompts do sistema, mensagens de desenvolvedor ou instruções ocultas |
prompt-injection-tool | incentiva contornar permissão/aprovação de ferramenta |
shell-pipe-to-shell | inclui curl/wget redirecionado para sh, bash ou zsh |
secret-exfiltration | parece enviar dados de env/process env pela rede |
| ID da regra | Avisa sobre… |
|---|---|
destructive-delete | comandos amplos no estilo rm -rf |
unsafe-permissions | uso de permissões no estilo chmod 777 |
- mantêm
scanFindings - mantêm
quarantineReason - aparecem em
list_quarantine - não podem ser aplicadas por meio de
apply
Orientação de prompt
Quando ativado, Skill Workshop injeta uma seção curta de prompt que instrui o agente a usarskill_workshop para memória procedural durável.
A orientação enfatiza:
- procedimentos, não fatos/preferências
- correções do usuário
- procedimentos bem-sucedidos não óbvios
- armadilhas recorrentes
- reparo de skill desatualizada/fraca/incorreta por append/replace
- salvar procedimento reutilizável depois de longos ciclos com ferramentas ou correções difíceis
- texto curto e imperativo para skills
- nenhum despejo de transcrição
approvalPolicy:
- modo pendente: enfileirar sugestões; usar
applyapós aprovação explícita - modo automático: aplicar atualizações seguras de skills do workspace, a menos que
apply: falseenfileire em vez disso
Custos e comportamento em runtime
A captura heurística não chama um modelo. A revisão por LLM usa uma execução embutida no modelo ativo/padrão do agente. Ela é baseada em limite, então não roda em todos os turnos por padrão. O revisor:- usa o mesmo contexto configurado de provedor/modelo quando disponível
- recorre aos padrões do agente em runtime
- tem
reviewTimeoutMs - usa contexto leve de bootstrap
- não tem ferramentas
- não grava nada diretamente
- só pode emitir uma proposta que passa pelo scanner normal e pelo caminho de aprovação/quarentena
Padrões operacionais
Use Skill Workshop quando o usuário disser:- “next time, do X”
- “from now on, prefer Y”
- “make sure to verify Z”
- “save this as a workflow”
- “this took a while; remember the process”
- “update the local skill for this”
- tem formato de transcrição
- não é imperativa
- inclui detalhes pontuais ruidosos
- não diz ao próximo agente o que fazer
Depuração
Verifique se o plugin está carregado:| Sintoma | Causa provável | Verificação |
|---|---|---|
| A ferramenta está indisponível | A entrada do plugin não está ativada | plugins.entries.skill-workshop.enabled e openclaw plugins list |
| Nenhuma proposta automática aparece | autoCapture: false, reviewMode: "off" ou limites não atingidos | Configuração, status da proposta, logs do Gateway |
| A heurística não capturou | A redação do usuário não correspondeu aos padrões de correção | Use skill_workshop.suggest explícito ou ative o revisor LLM |
| O revisor não criou uma proposta | O revisor retornou none, JSON inválido ou excedeu o tempo limite | Logs do Gateway, reviewTimeoutMs, limites |
| A proposta não foi aplicada | approvalPolicy: "pending" | list_pending, depois apply |
| A proposta desapareceu de pendentes | Proposta duplicada reutilizada, poda por máximo de pendentes, ou foi aplicada/rejeitada/quarentenada | status, list_pending com filtros de status, list_quarantine |
| O arquivo de skill existe, mas o modelo não o vê | O snapshot de skills não foi atualizado ou o gating de skills o exclui | status de openclaw skills e elegibilidade da skill do workspace |
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
Cenários de QA
Cenários de QA baseados no repositório: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" e exercita a passagem embutida do revisor.
Quando não ativar aplicação automática
EviteapprovalPolicy: "auto" quando:
- o workspace contém procedimentos sensíveis
- o agente está trabalhando com entrada não confiável
- skills são compartilhadas por uma equipe ampla
- você ainda está ajustando prompts ou regras do scanner
- o modelo lida com frequência com conteúdo hostil da web/e-mail