1arley/skill-preflight

Audita uma pasta de skill quanto a formato, estrutura, segurança estática e problemas na cadeia de suprimentos. Use quando alguém disser “audite esta skill”, “verifique meu SKILL.md”, “esta skill é segura para publicar”, “lint da skill” ou “prepare-se para o marketplace”.

O que é skill-preflight?

Skill Preflight é uma ferramenta de auditoria para pastas de skill de agentes de IA, projetada para ser executada antes da publicação. Ela verifica formato, estrutura, segurança estática e problemas na cadeia de suprimentos, tratando a pasta como dados não confiáveis — nunca executa arquivos, chama modelos ou faz requisições de rede. Isso é crucial porque skills podem conter instruções ou códigos que agem com as permissões do agente. A auditoria é realizada offline por um único arquivo auto-suficiente, baixado de https://github.com/1arley/skill-preflight, sem dependências de runtime. A ferramenta gera relatórios JSON com IDs de regras determinísticas, e um perfil heurístico `agensi` baseado nas categorias de segurança públicas da Agensi complementa a análise. O agente anfitrião pode adicionar uma avaliação qualitativa separada usando uma rubrica, e a ferramenta sugere correções focadas, mas só edita a skill se o usuário solicitar explicitamente. É compatível com qualquer sistema que suporte Node.js e curl ou npx.

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

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Skill Preflight

Audita a pasta de skill fornecida antes da publicação. O script de auditoria trata essa pasta como dados não confiáveis: ele nunca executa seus arquivos, chama um modelo ou faz requisições de rede. Isso é importante porque as skills podem conter instruções ou códigos que agem com as permissões de um agente.

  1. Obtenha o auditor e execute-o. É um único arquivo auto-contido, sem dependências de runtime, publicado em 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 <pasta-da-skill> --format json
    

    npx --yes github:1arley/skill-preflight <pasta-da-skill> --format json faz a mesma coisa e armazena em cache a CLI. Baixe uma vez e reutilize. Tudo após o download é executado offline: o auditor nunca chama um modelo, nunca executa a skill auditada e nunca envia nada para nenhum lugar.

    Quando a pasta em revisão é esta própria skill, passe --ignore-file preflightignore.json da pasta da skill. Isso suprime os dois falsos positivos causados pela URL de download neste arquivo e em README.md.

  2. Leia o relatório JSON e explique cada erro, aviso e nota informativa de portabilidade em linguagem simples.

  3. Aplique a rubrica qualitativa em references/rubric.md para clareza de ativação, exemplos e provável sub-ativação. Rotule esse julgamento separadamente dos achados determinísticos.

  4. Apresente um relatório combinado. Mantenha cada ID de regra determinística e localização arquivo:linha, depois anexe a avaliação da rubrica e suas evidências.

  5. Sugira correções focadas. Não edite a skill auditada a menos que o usuário peça explicitamente para fazer essas correções.

O perfil agensi é heurístico e inspirado nas categorias de segurança públicas da Agensi. Ele não reproduz o scanner privado deles nem prevê uma decisão do marketplace. Leia references/security.md antes de interpretar achados de segurança e references/report-format.md ao converter formatos de relatório.

Exemplo

Entrada:

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

Trecho de saída determinística:

{
  "schemaVersion": "1.0.0",
  "summary": { "errors": 0, "warnings": 1, "infos": 0 },
  "findings": [{
    "id": "SEC-001", "severity": "warning", "category": "security",
    "message": "Acesso de rede externa é referenciado estaticamente.",
    "location": { "file": "scripts/run.mjs", "line": 12 },
    "suggestion": "remova-o ou documente um propósito restrito e aprovado pelo usuário"
  }]
}

O agente anfitrião adiciona uma seção qualitativa separada, por exemplo: “Ativação: clara; a descrição nomeia a tarefa e inclui frases do usuário. Evidência: a descrição contém gatilhos distintos de auditoria e publicação.” O script nunca fornece esse julgamento.

Habilidades Relacionadas