SKILL.md bajo:
- Memoria almacena hechos, preferencias, entidades y contexto pasado.
- Skills almacenan procedimientos reutilizables que el agente debería seguir en tareas futuras.
- Skill Workshop es el puente desde un turno útil hasta un Skill duradero del espacio de trabajo, con comprobaciones de seguridad y aprobación opcional.
- cómo validar recursos GIF animados obtenidos externamente
- cómo reemplazar recursos de capturas de pantalla y verificar dimensiones
- cómo ejecutar un escenario de QA específico de un repositorio
- cómo depurar un fallo recurrente de proveedor
- cómo reparar una nota obsoleta de flujo de trabajo local
- hechos como «al usuario le gusta el azul»
- memoria autobiográfica amplia
- archivado sin procesar de transcripciones
- secretos, credenciales o texto oculto del prompt
- instrucciones puntuales que no se repetirán
Estado predeterminado
El Plugin incluido es experimental y está deshabilitado por defecto a menos que se habilite explícitamente enplugins.entries.skill-workshop.
El manifiesto del Plugin no establece enabledByDefault: true. El valor predeterminado enabled: true
dentro del esquema de configuración del Plugin se aplica solo después de que la entrada del Plugin ya haya sido seleccionada y cargada.
Experimental significa:
- el Plugin está lo bastante soportado para pruebas opt-in y dogfooding
- el almacenamiento de propuestas, los umbrales del revisor y las heurísticas de captura pueden evolucionar
- la aprobación pendiente es el modo inicial recomendado
- la aplicación automática es para configuraciones de confianza personales/del espacio de trabajo, no para entornos compartidos u hostiles con mucha entrada
Habilitar
Configuración mínima segura:- la herramienta
skill_workshopestá disponible - las correcciones reutilizables explícitas se ponen en cola como propuestas pendientes
- las pasadas del revisor basadas en umbral pueden proponer actualizaciones de Skills
- no se escribe ningún archivo de Skill hasta que se aplique una propuesta pendiente
approvalPolicy: "auto" sigue usando el mismo escáner y la misma ruta de cuarentena. No
aplica propuestas con hallazgos críticos.
Configuración
| Clave | Predeterminado | Rango / valores | Significado |
|---|---|---|---|
enabled | true | boolean | Habilita el Plugin después de cargar la entrada del Plugin. |
autoCapture | true | boolean | Habilita captura/revisión posterior al turno en turnos exitosos del agente. |
approvalPolicy | "pending" | "pending", "auto" | Poner propuestas en cola o escribir automáticamente propuestas seguras. |
reviewMode | "hybrid" | "off", "heuristic", "llm", "hybrid" | Elige captura explícita de correcciones, revisor LLM, ambos o ninguno. |
reviewInterval | 15 | 1..200 | Ejecutar el revisor después de este número de turnos exitosos. |
reviewMinToolCalls | 8 | 1..500 | Ejecutar el revisor después de este número de llamadas a herramientas observadas. |
reviewTimeoutMs | 45000 | 5000..180000 | Timeout para la ejecución integrada del revisor. |
maxPending | 50 | 1..200 | Máximo de propuestas pendientes/en cuarentena conservadas por espacio de trabajo. |
maxSkillBytes | 40000 | 1024..200000 | Tamaño máximo del Skill generado/archivo de soporte. |
Rutas de captura
Skill Workshop tiene tres rutas de captura.Sugerencias de herramientas
El modelo puede llamar askill_workshop directamente cuando vea un procedimiento reutilizable
o cuando el usuario le pida guardar/actualizar un Skill.
Esta es la ruta más explícita y funciona incluso con autoCapture: false.
Captura heurística
CuandoautoCapture está habilitado y reviewMode es heuristic o hybrid, el
Plugin analiza los turnos exitosos en busca de frases explícitas de corrección del usuario:
next timefrom now onremember tomake sure toalways ... use/check/verify/record/save/preferprefer ... when/for/instead/usewhen asked
- tareas de GIF animado ->
animated-gif-workflow - tareas de capturas de pantalla o recursos ->
screenshot-asset-workflow - tareas de QA o escenarios ->
qa-scenario-workflow - tareas de PR de GitHub ->
github-pr-workflow - fallback ->
learned-workflows
Revisor LLM
CuandoautoCapture está habilitado y reviewMode es llm o hybrid, el Plugin
ejecuta un revisor integrado compacto cuando se alcanzan los umbrales.
El revisor recibe:
- el texto reciente de la transcripción, limitado a los últimos 12.000 caracteres
- hasta 12 Skills existentes del espacio de trabajo
- hasta 2.000 caracteres de cada Skill existente
- instrucciones solo JSON
disableTools: truetoolsAllow: []disableMessageTool: true
{ "action": "none" } o bien una propuesta. El campo action es create, append o replace; prefiere append/replace cuando ya exista un Skill relevante; usa create solo cuando ningún Skill existente encaje.
Ejemplo de create:
append agrega section + body. replace intercambia oldText por newText en el Skill nombrado.
Ciclo de vida de la propuesta
Cada actualización generada se convierte en una propuesta con:idcreatedAtupdatedAtworkspaceDiragentIdopcionalsessionIdopcionalskillNametitlereasonsource:tool,agent_endoreviewerstatuschangescanFindingsopcionalquarantineReasonopcional
pending- en espera de aprobaciónapplied- escrito en<workspace>/skillsrejected- rechazado por operador/modeloquarantined- bloqueado por hallazgos críticos del escáner
maxPending.
Referencia de la herramienta
El Plugin registra una herramienta de agente:status
Cuenta propuestas por estado para el espacio de trabajo activo.
list_pending
Enumera las propuestas pendientes.
status:
pendingappliedrejectedquarantined
list_quarantine
Enumera las propuestas en cuarentena.
skill-workshop: quarantined <skill>.
inspect
Obtiene una propuesta por id.
suggest
Crea una propuesta. Con approvalPolicy: "pending" (predeterminado), esto pone en cola en lugar de escribir.
Forzar una escritura segura (apply: true)
Forzar una escritura segura (apply: true)
Forzar pendiente bajo política auto (apply: false)
Forzar pendiente bajo política auto (apply: false)
Agregar a una sección nombrada
Agregar a una sección nombrada
Reemplazar texto exacto
Reemplazar texto exacto
apply
Aplica una propuesta pendiente.
apply rechaza propuestas en cuarentena:
reject
Marca una propuesta como rechazada.
write_support_file
Escribe un archivo de soporte dentro de un directorio de Skill existente o propuesto.
Directorios de soporte de nivel superior permitidos:
references/templates/scripts/assets/
maxSkillBytes, se analizan y se escriben de forma atómica.
Escrituras de Skills
Skill Workshop escribe solo bajo:- en minúsculas
- las secuencias no
[a-z0-9_-]se convierten en- - se eliminan caracteres no alfanuméricos al principio y al final
- la longitud máxima es de 80 caracteres
- el nombre final debe coincidir con
[a-z0-9][a-z0-9_-]{1,79}
create:
- si el Skill no existe, Skill Workshop escribe un nuevo
SKILL.md - si ya existe, Skill Workshop agrega el cuerpo a
## Workflow
append:
- si el Skill existe, Skill Workshop agrega a la sección solicitada
- si no existe, Skill Workshop crea un Skill mínimo y luego agrega
replace:
- el Skill debe existir ya
oldTextdebe estar presente exactamente- solo se reemplaza la primera coincidencia exacta
Modelo de seguridad
Skill Workshop tiene un escáner de seguridad sobre el contenido generado deSKILL.md y los archivos
de soporte.
Los hallazgos críticos ponen propuestas en cuarentena:
| Id de regla | Bloquea contenido que… |
|---|---|
prompt-injection-ignore-instructions | dice al agente que ignore instrucciones previas/superiores |
prompt-injection-system | hace referencia a prompts del sistema, mensajes de desarrollador o instrucciones ocultas |
prompt-injection-tool | fomenta omitir permisos/aprobaciones de herramientas |
shell-pipe-to-shell | incluye curl/wget canalizado a sh, bash o zsh |
secret-exfiltration | parece enviar datos de env/proceso por la red |
| Id de regla | Advierte sobre… |
|---|---|
destructive-delete | comandos amplios estilo rm -rf |
unsafe-permissions | uso de permisos estilo chmod 777 |
- conservan
scanFindings - conservan
quarantineReason - aparecen en
list_quarantine - no pueden aplicarse mediante
apply
Guía del prompt
Cuando está habilitado, Skill Workshop inyecta una breve sección de prompt que le dice al agente que useskill_workshop para memoria procedural duradera.
La guía enfatiza:
- procedimientos, no hechos/preferencias
- correcciones del usuario
- procedimientos exitosos no obvios
- errores recurrentes
- reparación de Skills obsoletos/escasos/incorrectos mediante append/replace
- guardar procedimientos reutilizables tras bucles largos de herramientas o correcciones difíciles
- texto breve e imperativo del Skill
- sin volcado de transcripciones
approvalPolicy:
- modo pending: poner sugerencias en cola; aplicar solo tras aprobación explícita
- modo auto: aplicar actualizaciones seguras de Skills del espacio de trabajo cuando sean claramente reutilizables
Costes y comportamiento en runtime
La captura heurística no llama a ningún modelo. La revisión LLM usa una ejecución integrada con el modelo del agente activo/predeterminado. Está basada en umbrales, por lo que no se ejecuta en cada turno por defecto. El revisor:- usa el mismo contexto de proveedor/modelo configurado cuando está disponible
- recurre a los valores predeterminados del agente en runtime
- tiene
reviewTimeoutMs - usa contexto bootstrap ligero
- no tiene herramientas
- no escribe nada directamente
- solo puede emitir una propuesta que pasa por el escáner normal y la ruta de aprobación/cuarentena
Patrones operativos
Usa Skill Workshop cuando el usuario diga:- «la próxima vez, haz X»
- «a partir de ahora, prefiere Y»
- «asegúrate de verificar Z»
- «guarda esto como flujo de trabajo»
- «esto llevó un rato; recuerda el proceso»
- «actualiza el Skill local para esto»
- tiene forma de transcripción
- no es imperativa
- incluye detalles puntuales ruidosos
- no le dice al siguiente agente qué hacer
Depuración
Comprueba si el Plugin está cargado:| Síntoma | Causa probable | Comprobar |
|---|---|---|
| La herramienta no está disponible | La entrada del Plugin no está habilitada | plugins.entries.skill-workshop.enabled y openclaw plugins list |
| No aparece ninguna propuesta automática | autoCapture: false, reviewMode: "off" o no se alcanzaron los umbrales | Configuración, estado de propuestas, registros del Gateway |
| La heurística no capturó | La redacción del usuario no coincidía con los patrones de corrección | Usa skill_workshop.suggest explícito o habilita el revisor LLM |
| El revisor no creó una propuesta | El revisor devolvió none, JSON no válido o agotó el tiempo | Registros del Gateway, reviewTimeoutMs, umbrales |
| La propuesta no se aplica | approvalPolicy: "pending" | list_pending, luego apply |
| La propuesta desapareció de pendientes | Se reutilizó una propuesta duplicada, poda por máximo de pendientes o fue aplicada/rechazada/en cuarentena | status, list_pending con filtros de estado, list_quarantine |
| El archivo de Skill existe, pero el modelo no lo detecta | La instantánea del Skill no se actualizó o la restricción del Skill lo excluye | estado de openclaw skills y elegibilidad del Skill del espacio de trabajo |
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
Escenarios de QA
Escenarios de QA respaldados por el repositorio: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" y ejercita la pasada del revisor integrado.
Cuándo no habilitar auto apply
EvitaapprovalPolicy: "auto" cuando:
- el espacio de trabajo contiene procedimientos sensibles
- el agente está trabajando con entrada no confiable
- los Skills se comparten con un equipo amplio
- sigues ajustando prompts o reglas del escáner
- el modelo gestiona con frecuencia contenido hostil de web/correo