Qué fija la especificación y qué deja abierto
El campo es opcional. La especificación solo dice que es una cadena de herramientas preaprobadas para ejecutarse, separadas por espacios, que es experimental y que el soporte puede variar entre implementaciones de agentes. Su ejemplo es Bash(git:*) Bash(jq:*) Read. No define cómo se compara un patrón así, de modo que una skill que dependa del campo necesita probarse en cada agente que la cargue.
Cómo lo aplica Claude Code
Claude Code trata la lista como un permiso para el turno que invoca la skill. La concesión se borra cuando envías tu siguiente mensaje, aunque el texto de la skill siga en el contexto, y volver a invocarla la aplica de nuevo. No limita nada: todas las herramientas siguen disponibles, y las no listadas pasan por tu configuración de permisos como siempre. Para quitar herramientas mientras una skill está activa existe otro campo, disallowed-tools.
Léelo antes de ejecutar las skills de un repositorio
La confianza del espacio de trabajo no controla este campo. Claude Code aplica el allowed-tools de una skill de proyecto incluso con -p en una carpeta nunca marcada como de confianza, así que una skill versionada en un repositorio puede concederse un acceso amplio. La documentación aconseja revisar ese campo antes de ejecutar Claude Code allí. Una organización puede hacer que se ignore en las skills de proyecto y personales con allowManagedPermissionRulesOnly en la configuración gestionada.