CommunityProgramación y desarrollogithub.com

1arley/skill-preflight

Audita una carpeta de skill para verificar formato, estructura, seguridad estática y problemas en la cadena de suministro. Úsalo cuando alguien diga “auditar este skill”, “revisa mi SKILL.md”, “¿este skill es seguro para publicar?”, “lint skill” o “preparar para el marketplace”.

¿Qué es skill-preflight?

Skill Preflight es una herramienta de auditoría estática para habilidades de agentes de IA (como Claude Code, Cursor, etc.) que verifica formato, estructura, seguridad y problemas en la cadena de suministro antes de la publicación. A diferencia de otros métodos, nunca ejecuta archivos, llama a un modelo ni realiza solicitudes de red, tratando la carpeta como datos no confiables para garantizar la seguridad. Se implementa como un script autónomo en Node.js (sin dependencias externas) que se descarga una sola vez y funciona completamente sin conexión. Admite perfiles de seguridad como `default` y `agensi`, informes en JSON/otros formatos, e incluye una rúbrica cualitativa para evaluar la claridad de activación y los ejemplos. Es útil para desarrolladores de habilidades que quieren asegurarse de que su skill cumpla con los requisitos del marketplace y evitar riesgos de seguridad.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/1arley/skill-preflight/tree/HEAD/skills/devtools/skill-preflight

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Skill Preflight

Audita la carpeta del skill proporcionado antes de la publicación. El script de auditoría trata esa carpeta como datos no confiables: nunca ejecuta sus archivos, llama a un modelo ni realiza solicitudes de red. Esto es importante porque los skills pueden contener instrucciones o código que actúan con los permisos de un agente.

  1. Obtén el auditor y ejecútalo. Es un archivo autónomo sin dependencias de ejecución, publicado en https://github.com/1arley/skill-preflight:

    curl -fsSL https://raw.githubusercontent.com/1arley/skill-preflight/main/scripts/preflight.mjs -o /tmp/skill-preflight.mjs
    node /tmp/skill-preflight.mjs <carpeta-skill> --format json
    

    npx --yes github:1arley/skill-preflight <carpeta-skill> --format json hace lo mismo y almacena en caché la CLI. Descárgalo una vez y reutilízalo. Todo después de la descarga funciona sin conexión: el auditor nunca llama a un modelo, nunca ejecuta el skill auditado y nunca envía nada a ningún lado.

    Cuando la carpeta bajo revisión es este mismo skill, pasa --ignore-file preflightignore.json desde la carpeta del skill. Suprime los dos falsos positivos causados por la URL de descarga en este archivo y en README.md.

  2. Lee el informe JSON y explica cada error, advertencia y nota informativa de portabilidad en lenguaje sencillo.

  3. Aplica la rúbrica cualitativa en references/rubric.md a la claridad de activación, ejemplos y posible infra-activación. Etiqueta ese juicio por separado de los hallazgos deterministas.

  4. Presenta un informe combinado. Conserva cada ID de regla determinista y ubicación archivo:línea, luego agrega la evaluación de la rúbrica y su evidencia.

  5. Sugiere correcciones enfocadas. No edites el skill auditado a menos que el usuario te pida explícitamente que hagas esas correcciones.

El perfil agensi es heurístico e inspirado en las categorías de seguridad públicas de Agensi. No reproduce su escáner privado ni predice una decisión del marketplace. Lee references/security.md antes de interpretar hallazgos de seguridad y references/report-format.md al convertir formatos de informe.

Ejemplo

Entrada:

node /tmp/skill-preflight.mjs ./mi-skill --profile default --format json

Fragmento de salida determinista:

{
  "schemaVersion": "1.0.0",
  "summary": { "errors": 0, "warnings": 1, "infos": 0 },
  "findings": [{
    "id": "SEC-001", "severity": "warning", "category": "security",
    "message": "Se referencia estáticamente acceso a red externa.",
    "location": { "file": "scripts/run.mjs", "line": 12 },
    "suggestion": "elimínalo o documenta un propósito estrecho y aprobado por el usuario"
  }]
}

El agente anfitrión agrega una sección cualitativa separada, por ejemplo: “Activación: clara; la descripción nombra la tarea e incluye frases de usuario. Evidencia: la descripción contiene activadores distintos de auditoría y publicación.” El script nunca proporciona ese juicio.

Skills relacionados