Errores comunes
Sincronización y tareas
| Síntoma | Causa | Solución |
|---|---|---|
| La tarea no apareció en la consola | sin bloque task:, sin activity:, o la sincronización aún no corrió | Completa el frontmatter y usa Sincronizar; lee "Tareas omitidas" |
| Actividad duplicada, tarea en la nueva | nombre de activity: distinto del existente | Corrige el frontmatter al nombre existente y pide la eliminación de la duplicada |
Cambié workspace: y la tarea no cambió de workspace | el workspace es el del plugin; workspace: solo bautiza al crear | Para cambiar de workspace, la skill tiene que pasar a otro plugin (y se convierte en otra tarea) |
Cambié model: y el nivel no cambió | el valor no es el slug de un nivel activo | Usa tier-N; el aviso aparece en el resultado de la sincronización |
| El nivel cambió, pero el modelo de IA no | la tarea tiene override de ejecutor y modelo | Declara executor: inherit, o pide volver a "Heredar del Tier" |
| Quité un campo del frontmatter y la tarea mantuvo el valor | campo ausente = "no tocar" | Declara vacío ([], null, "") |
| Edité la tarea en la consola y la edición desapareció | el campo está declarado en el frontmatter | Haz el cambio en el frontmatter |
| Una tarea borrada no reaparece | la sincronización trata la borrada como existente | Pide a Kobana que la restaure |
| Dos tareas para la misma skill, una sin ejecuciones | la carpeta de la skill fue renombrada | Devuelve el nombre de la carpeta, o retira la antigua y reconfigura la nueva |
| Cambié el frontmatter y la consola no cambió | la sincronización no corrió, o el campo se descartó por tipo incorrecto | Sincronizar y revisa "Tareas actualizadas" y los avisos |
Flag del task: ignorada | tipo incorrecto en el YAML ("true" en lugar de true) | Corrige el tipo |
Programaciones y entornos
| Síntoma | Causa | Solución |
|---|---|---|
Aviso schedules ignorado (item N …) | elemento mal formado (sin cron, paused con comillas, entorno repetido) | Corrige el elemento; las programaciones no cambian hasta entonces |
Aviso agendamentos não aplicados (ambiente "…" não existe) | nombre del entorno distinto, o entorno aún no creado | Copia el nombre de la consola, o declara el entorno en el kadu.yaml |
Una programación creada en la consola no desapareció con schedules: [] | la sincronización solo borra lo que ella creó | Bórrala en la consola |
| La programación corre en el horario equivocado | timezone ausente = UTC | Declara timezone: America/Sao_Paulo |
| Pausé en la consola y la sincronización reanudó | el elemento declara paused: false | Quita el paused del elemento, o declara true |
Aviso kadu.yaml: … — nada aplicado | YAML roto, color fuera de #rrggbb, clave equivocada, nombre repetido | Corrige el archivo; nada cambia hasta entonces |
El entorno salió del kadu.yaml y sigue en la consola | aún tiene secret o programación, o fue creado en la consola | Quita los secrets y las programaciones, o bórralo en la consola |
Aviso secret X declarado no kadu.yaml sem valor no cofre | clave esperada no registrada en el entorno | Registra el valor en Configuración → Secrets |
Aviso executor claude_code não roda o modelo … | modelo de otro proveedor con cli: claude_code | Usa claude-* o un alias; para otro proveedor, cli: goose |
Endpoint y webhooks
| Síntoma | Causa | Solución |
|---|---|---|
| Aviso de endpoint sin credencial | el repositorio nunca lleva credencial | Pide el registro de la credencial; la próxima sincronización lo activa |
| El endpoint desactivado en la consola volvió a activarse | el frontmatter declara enabled: true | Declara enabled: false |
Aviso Webhook "X" criado sem credencial… | el repositorio nunca lleva credencial | Registra la credencial en la consola y genera el signing secret |
| El receptor rechaza la firma del webhook | el signing secret lo generó la sincronización y nadie lo vio | POST /v1/webhooks/{id}/rotate-secret y configura el nuevo valor en el receptor |
Aviso auth "…" não trocado | auth: distinto del webhook existente | Cambia el tipo en la consola (la credencial cambia junto) |
| Un webhook desactivado vuelve a quedar activo en cada push | enabled: true declarado | Quita el enabled para que valga la desactivación por fallas |
Aviso URL recusada | IP privada, loopback o http | Usa una URL https pública |
Ejecución
| Síntoma | Causa | Solución |
|---|---|---|
La ejecución termina con execution.body_skipped | el cuerpo no llamó a mark_body_started | Marca la centinela al comienzo |
| Un paso desapareció del historial | evento sin message, rechazado en silencio | Siempre type y message |
| La ejecución corre hasta 60 minutos y falla | la skill preguntó algo | Ninguna pregunta: decide y registra un pendiente |
| La pestaña Resultado muestra "success" | result usado como estado | result es Markdown; los contadores van en summary |
| La pestaña Registros se vació al final | los logs se reenviaron en la finalización | No reenvíes logs; el wrapper finaliza |
| La skill corre con la variable vacía | secret en la lista de permitidos, pero sin valor en el entorno | Registra el valor; verifica el orden de los dos pasos |
| Parámetro ignorado | schema sin additionalProperties: false | Cierra el schema |
| Historial vacío entre la apertura y el final | la tarea orquesta auxiliares que no se instrumentan | Instrumenta las auxiliares (El cuerpo de la tarea) |
| Pestaña Registros ilegible, miles de líneas | log_http_call en cada solicitud de una herramienta | Resume el tráfico en append_log |
| La configuración no cambia por organización, aun con valor en la bóveda | variable leída con valor predeterminado en el cuerpo y fuera de required_secrets | Incluye la variable en required_secrets |
422 missing_secrets en el endpoint | secret de la lista sin valor en el entorno de la llamada | Registra el valor en el entorno indicado en environment_id |
Unknown skill en Claude Code | skill creada después del inicio de la sesión | Reinicia la sesión |