Skip to main content
Los agentes personalizados están en beta. El comportamiento y las pantallas aún pueden cambiar.

Skills & docs

Las skills y los docs son guías que ya viven en tu repositorio. Kodus no las copia: las lee de la rama de destino del pull request en cada revisión. Así, los cambios en esa rama aplican sin volver a la configuración, y un pull request no puede cambiar la regla que lo evalúa. Los scripts dentro de una skill se muestran al agente como texto y nunca se ejecutan.

Dónde las encuentra Kodus

Las skills se detectan en:
  • .claude/skills/*/SKILL.md
  • .claude/agents/*.md
  • .agents/skills/*/SKILL.md
  • .github/skills/*/SKILL.md
Un SKILL.md empieza con un frontmatter YAML con name (letras minúsculas, dígitos y guiones, igual al nombre de su carpeta) y description. Una skill sin ellos aparece como “Not a valid skill”, con el motivo. El agente lee SKILL.md (hasta 500 líneas, unos 5.000 tokens) y los archivos junto a él, hasta una carpeta por debajo, como references/payments.md.
.claude/skills/ledger-rules/SKILL.md
Los docs se sugieren a partir de CONTRIBUTING.md, ARCHITECTURE.md, CONVENTIONS.md, STYLEGUIDE.md y docs/**/*.md (hasta 30). También puedes agregar cualquier ruta a mano: un archivo con extensión es un doc; una carpeta (o un SKILL.md dentro de una) es una skill.

Vincularlas

Hay dos lugares para vincular una skill o un doc:
  • En la página del agente, en Files & knowledge → Skills & docs: Add skill or doc lista lo que el agente puede seguir, o usa Add by path.
  • En la página Skills & docs (el enlace junto a Custom agents en What to review): todas las skills y docs registradas, con una casilla para Main review y para cada agente. Vincular a Main review le da la guía a la revisión propia de Kody.
En el nivel global, la página Skills & docs solo acepta rutas escritas a mano. Cada repositorio se lee por separado; abre la configuración de un repositorio para ver si cada ruta existe ahí.
Un archivo marcado como Also a Kody Rules source ya alimenta las Kody Rules. Vincularlo también a un agente puede hacer que la misma regla comente dos veces.

Presupuestos

Por agente, y para la revisión principal: La página Skills & docs avisa cuando un agente o la revisión principal supera un límite. En una revisión, los docs que exceden el presupuesto se recortan u omiten, y la revisión registra un aviso.

Cómo las usan los hallazgos

Un hallazgo de convención debe citar la regla que aplica. Kodus verifica la cita en la guía tal como está en la rama de destino y descarta el hallazgo cuando la cita no está. El comentario publicado cita la regla:

Plugins (MCP)

Los agentes pueden consultar los plugins instalados en tu workspace: un gestor de tareas, una wiki, el monitoreo. En Tools → Plugins, activa un plugin para el agente y mantén Use every tool, o usa Customize para elegir la lista. Solo se ofrecen herramientas de lectura; las de escritura nunca. Un plugin que marca sus herramientas como de solo lectura se toma al pie de la letra. Para uno que no las marca, una herramienta solo califica cuando su nombre lleva un verbo de lectura (get, list, search, read, find…) y ningún verbo de escritura. Una revisión nunca crea un ticket ni publica un mensaje en nombre de tu equipo. El agente consulta un plugin cuando el cambio apunta a algo registrado ahí, como un ticket en la descripción del pull request, y cita lo que encontró. Consulta Plugins para instalar uno.

CLIs del equipo

Un agente puede ejecutar hasta 3 herramientas de línea de comandos de tu equipo: un detector de código duplicado, un verificador de esquemas, un linter interno. Las CLIs solo se ejecutan en el sandbox aislado de E2B, dentro del checkout del repositorio. En cualquier otro sandbox la CLI no se instala y el agente se ejecuta sin ella. En Tools → CLIs, haz clic en Add CLI: Reglas de instalación. Instaladores admitidos: npm, pnpm, yarn, pip, pip3, pipx, uv, go, cargo. Todo paquete debe estar fijado (tool@1.2.3, tool==1.2.3 o tool@sha256:…). Se rechazan etiquetas como @latest, rangos de versión, URLs, fuentes Git, rutas locales y sintaxis de shell.
Cómo se ejecutan las llamadas. El agente pasa argumentos, nunca un comando de shell: pipes, redirecciones, globs y variables se pasan literalmente. Una llamada que no empieza con un prefijo permitido se rechaza. Cada CLI se ejecuta con su propio usuario, con timeout, un directorio temporal privado y archivos legibles solo por ese usuario; su salida está limitada, y todo lo que inició o escribió en directorios temporales se elimina después de la llamada. Cada paso de una CLI se ejecuta como root a través del proveedor del sandbox, nunca a través del usuario con el que corre la revisión: ese usuario pierde toda forma de convertirse en root (sudo incluido) antes de descargar el repositorio, así que el código del pull request no alcanza el proceso ni los archivos de una CLI. Un sandbox en el que eso no pudo confirmarse no ejecuta ninguna CLI. Comandos bloqueados. En una CLI con secretos, Kodus rechaza, al guardar y al ejecutar, prefijos y argumentos que listan el entorno (printenv, env, set, export, declare, cualquier cosa bajo /proc), comandos comunes que imprimen tokens (auth token, auth status --show-token, auth:token, config get, configure get, print-access-token, get-access-token), un shell o intérprete como binario (bash, node, python, npx, …) y argumentos que nombran uno de sus secretos como $NOMBRE o ${NOMBRE}. Los argumentos nunca pasan por un shell, así que Kodus nunca los expande. Red. La allowlist se aplica por nombre de host. Las conexiones HTTPS de la CLI pasan por un proxy que solo reenvía una conexión cuando el nombre de servidor pedido está en la lista (nombre exacto, sin subdominios) y que resuelve ese nombre por su cuenta, rechazando direcciones privadas e internas. La CLI no tiene otro acceso a la red: ni DNS, ni HTTP sin TLS, ni otros puertos. Un host permitido sigue recibiendo lo que la CLI le envíe, credenciales incluidas, y la red no distingue una lectura de una escritura. Usa tokens de solo lectura y con el menor privilegio posible, y permite solo hosts de confianza. Cómo se guardan los secretos. Un secreto se cifra al guardarse (AES-256-GCM, vinculado a su agente, su CLI y el nombre de la variable) y nunca vuelve al navegador, que muestra Stored · hidden. Queda vinculado a la CLI para la que se guardó, en ese nivel de configuración: cualquier cambio en la CLI (nombre, instalación, binario, prefijos permitidos, dominios permitidos, Runs project code o los nombres de sus secretos) vuelve a pedir todos sus secretos, al guardar y en Try it. Solo las notas de uso y el timeout cambian sin eso. Un secreto guardado que ya no puede leerse también hay que escribirlo de nuevo. Try it usa solo los secretos guardados en el nivel que estás editando, nunca los heredados. Un secreto llega solo al proceso de esa CLI, nunca a su instalación, a las otras CLIs ni al prompt del agente. En la salida de la CLI, cada secreto se reemplaza por ***, también cuando se imprime en base64, codificado en URL, en hex o escapado en JSON, antes de que lo vean el agente, Try it, un comentario del pull request o un log. El enmascarado no reconoce toda transformación (un valor partido o parcial), y por eso se bloquean los comandos anteriores. Cuando un hallazgo viene de una CLI, el comentario muestra las líneas de salida de la CLI que nombran el archivo:
Si la instalación falla, el agente se ejecuta sin esa CLI y la ejecución registra el aviso. Try it lo muestra en Warnings.

Reglas de ast-grep

En Tools → Advanced → Structural search (ast-grep rules), dale al agente reglas de ast-grep, de una de estas formas:
  • Inline: el YAML de la regla. Separa varias reglas con ---. Cada una necesita un id y una rule.
  • Un archivo de reglas: una sola línea con la ruta de un archivo .yml o .yaml del repositorio, leído de la rama de destino del pull request.
Las reglas se ejecutan sobre los archivos cambiados del pull request. Una coincidencia es prueba: un hallazgo que cita una regla que coincidió en ese archivo durante la ejecución omite la verificación de la cita y la verificación del modelo. Las reglas tienen un límite de 64.000 bytes. La ayuda del campo lista las reglas que encontró y reporta las reglas sin id o sin rule. El agente también tiene búsqueda estructural libre en el repositorio, sin ninguna regla configurada.

Relacionado

Agentes Personalizados

Niveles, la página del agente, Try it y cómo se ejecutan los agentes en una revisión.

Código duplicado con jscpd

Un agente completo con una CLI del equipo.